議事録 10/8

議事録 10/8

Attendee

原木、日下部、山口、丸山、田口、細川、上村、たにかわ、入江、伊藤、谷端、光成(敬称略)

場所

WebEx

日時

10/8(火) : 13:30 - 16:30

 

F2F ミーティングの議事内容

9/24 Pre-meeting

目的 : Continental, Volkswagen, Bosch のメンバとコンセプトの共有

  • コンテナアーキの方向性を共有

    • 2日目の話をする前に状況を理解してもらう

  • VolksWagen, Continental, Bosch に方針を理解していただいた

    • Low AGL target is full digital cluster 

    • Lowをターゲットにしているが、Highにも適用可能である

    • LinuxのDevelopmentをマネジメントすることは難しい。Safetyを担保できない

  • Reference HardwareにはすべてのHWが含まれているか?

    • Autosar(CAN)の実装はLinuxの外にあるべき

    • CANの応答(reply)性能を守れるか、が大きな課題になる

  • vxcanはいつからKernelに入っているか?

    • 4.14から入っている

  • SafetyとNon Safetyの切り分け

    • Micro kernelの考え方

      • QNXはMicro kernel

      • Integrityはちがう

  • コンセプトをFixしたらどう進めていくかが気になるとのこと

 

  ちなみに

  水山氏がAMM 2日目にキーノートでMain FunctionとIsolation Method(Hypervisor)のインターフェイス(virtio)に使えるAPIの標準化の話をする。

Virtualization Groupとの連携は?

 → Opensynergyの人と繋がる。ELISAもつながりそう。

 

9/25 Instrument Cluster EG Update

  • 資料

  • この資料をベースにAMMのキーノートを作成する

    • ただし、デベロッパー向けの資料などは削除する

  • AGLはyoctoを利用し、IVI Core Imageを作成している。クラスタのCore ImageはIVI Core Imageと異なる

    • branchという言葉でmeta-aglのbranchだと思われた。

    • pokyの継承はしないかもしれない、ということを伝えればよかった。

    • (pokyを引きずった時点でIVI前提になる)

    • meta-xxxx を否定しない

  • Non Safetyが2つに分かれると困る(QM 分割) を早めに伝えるべきだった。

  • KernelのQM対応については、ELISAとコラボすることを伝えた

  • Kernelだけでなく、ユーザ空間の基本的なSWスタックもELISAとコラボすることを伝えるべきだった

  • QM Isolationをコンテナでやる理由が弱い

    • Hypervisor

    • Linuxを並べる無駄さと複雑性の増加をうまく説明したい

    • メリット : Linuxで並べるなら、アプリケーションコンテナを扱うほうが手軽 => コストが安くなる。HypervisorだとToo much

    • メリット : 大きなシステムを分割できる。一方、Hypervisorは分割された違うシステムをインテグ。

    • Hypervisorでやるとしんどいことが経験則でしかない。インテグレーションコストが大きい。特に密結合するようなアプリケーション

 

9/25 CES 2020

9/26 Instrument Cluster Architecture

  • 資料

  • Container Architecture

  • CAN 

  • Graphics

    • 質疑

    • Nested Compositor

      • 描画の機能を保つために、Low levelにひとつHW Compositorが必要

      • HWに依存する。

      • DRMでうまく抽象化してもらえるとありがたい。

    • monolithic の Graphic Architectureも使える、ということを伝えるべきだった。

      • コンテナでグラフィックスの話をすべきでないかもしれない。

  • Sound

    • 質疑 

      • 1コンテナに複数のアプリがいたときはどのようにするのか? → 説明が足りていなかったので、Soundに追加しました。Sound

        • Roleのことを触れていた。識別できるかを気にしていた。

      • Authenticationについてジョージから提案あり → Soundに追加しました。

      • Walt : Pipewireを使う? → PulseかPipe、どちらでも可

      • パフォーマンスのRequirementに触れないといけない。

      • エコキャン/ノイキャンありき

      • AGLのApplication Frameworkのセキュリティモデルに従ってアーキテクチャを作成する

        • そこから実装手段

      • Audio Focusの話に触れていない

      • Authenticationは入れなくてもいいのではないか。

 

AMMに向けた活動

Keynote

  • Status

    • 原木さんが発表する

    • いつ?? → まだ決まっていない。2日目の予定

    • 話の流れは作成完了(原木さん)

      • 山口さん、光成レビュー中

    • 原稿は作ったので、今週いっぱいめどに展開される。

  • お願い

Session

  • Status

    • 山口さんが大枠を作成

      • Graphic, Soundを追加する

    • 3名が無理? → 2名 x 2セッションで発表する必要がある

      • QAのタイミングを変えて、前半後半

      • ゲストが出てくる形

  • ToDo

    • いつまでに作る?

      • 全体の時間を確認する。(50分)

      • Outlineだけ今週中に出してください。

CES2020

  • Status

    • コンテナ入っているうれしさが訴求できるようにしたい

    • 作りこみはできない

    • AGLの資産そのままで動かし、より作りやすいことを訴求したい

      • ポスターが肝になるかも

    • ステアリング

      • 対応は必要か? (日下部さん) → 特になし

      • もし#3に使えるならClusterに使いたい

      • walthamでClusterからIVIにイベント送れるか

        • surfaceにfocusをあてて、surfaceにイベントを送ればよい

      • LINで送られてくる

    • SoC : H3 Starter Kit (3.0) + KingFisher

      • LINはそのままつなぐ

      • AGLはH3サポートされているか?

        • HH8.0.1からサポートされている

        • HH8.0.2はubootを新しくしないといけない

        • KingFisher用にするにはデバイスツリーを変更すること

  • ToDo

    • 特になし

    • アイディアがあればください。

Requirement EGとのコラボについて

  • Requirement EG とのコラボ、どうなりますかね?

  • Responsible of IC EGでRequirement Specが浮いている

  • sound system, window system

    • Containerで動かせるようにするための方法を考える。

    • コンテナ間のインターフェイスより上のレイヤーを変えないでほしい

 

前回の確認

 

F2Fに向けた議論

TODO

進捗

 

  • Graphics

    • 進捗は特になし。

    • Host側もAGLで、という要望ありなので、どうするか。。

Sound

  • 別のコンテナからPulseコンテナにストリームを流せなかった

    • pulseaudioをユーザセッションで立ち上げると、そのユーザしか使えないため、別のユーザ(コンテナ)からアクセスできない

    • pulseaudioをシステムで立ち上げる必要あり(未実施)

黒川さん

  • AGL demo platformを動かしてみると、SMACKで引っ掛かったとのこと

    • SMACKについては、グルーピングができるとのことなので、Joseに聞いてみるといいかも

  • ダウンロードするmanifest.xmlを一つにする

CAN

測定条件

M3をA57だけにして測定した。

8byteのCANデータを転送している。512回試行した平均値。

周期は30msec

  • vcan0→ vcan0 : 20 usec

    • メモリコピーくらいしか走っていない

    • コンテキストスイッチくらいのオーダー

  • vcan0 - > vcan1 : 22 ~ 23 usec

  • vcan0 → vxcan : 23 usec

  • CAN_GWを通っても性能劣化しないことがわかった。

  • 測定観点のアドバイス

    • 8byteを10msecで実施するとよいのではないか

    • 受取側が2processだとどうか?

 

今後のスケジュール

日時

内容

TODO

Remark

日時

内容

TODO

Remark

10/9

IC EG meeting

 

 

10/11

ボードセッションのアウトライン

 

 

10/21

事前打ち合わせ

 

 

10/22-23

AMM

  • キーノート

  • Session x 2

 

10/24

SAT

  • IC EG Update 1h

  • 前回残った話(IC EG core profile, branch)

10/31

Open Source Safety Critical Summit

  • ELISAと話す

  • 山口さんがCFPを出している→ 採択されました。おめでとうございます。

11/5

IC EG Call

 

 

11/6

IC EG Tech Meeting 13:30 - 16:30

 

 

11/11 - 13

Integration Session

CES #3?

各社デモ

 

11/19

IC EG Call

 

 

12/3

IC EG Call

 

 

12/10 - 12

hackfest/CES Integration session in San Francisco

CES #3?

各社デモ?

 

12/?

発送

 

 

1/7 - 10

CES

 

 

次回打ち合わせ

  • 10/22 - 10/24 : All Member Meeting

 

 


=== Appendix 9/12の議事 ====

 

F2Fに向けて

  • 進め方の確認

    • F2F@ベルリンでコンセプトを説明してキーメンバーに了承得る。その後、AMM-ABで報告を狙う。

    • UCBではなく要素開発。現時点ではgerritにはコードを置かないことを伝える。

  • アーキテクチャコンセプトレビュー

    • 資料レビュ:light weight で用語統一

      • Fast boot : 製品向けそのものではなく、今のAGLをどう軽量化すればよいかを示す。

      • 作るのは主要機能部分。機能安全そのもの、isolation method部分 は対象外とすることをはっきり伝える。

        • 将来的にSafety部分をLinuxで実現することもあるだろうが、今回の話題ではない。

        • メインファンクションとしてのクラスタは作成。IVIとクラスタを共存させることはしない(相反する)
          =>コンテナを使う。

      • QM Isolation

        • QM isolation に対応するkernel 部分の開発、対応が課題。Elisaで期待できないか。

    • 一日目か二日目(AM)にクラスタのアーキの話をして、個別のアーキの話をする

  • ToDo

    • アーキテクチャの資料の修正(原木さん、山口さん、光成)

      • 2日目(25日)の午前中にアーキテクチャの概要のセッションを実施する

      • 詳細のアーキは2日目か3日目のAMにする

      • 機能安全は初日の感触で。

    • 9/18までに個別アーキテクチャを埋める → 全体の課題をまとめたConclusionを23日に作成する@ベルリン

    • AGLを使ったとき、コンテナらどうなる? 

    • GUI

      • アプリケーションコンテナでweston起動する(起動のやり方を記述する(アプリコンテナにすることでinitが変わる))

      • dmabufの原因を調べる

    • CAN

      • CANに関わる主要要件をTier1, OEMで議論してCANの資料に載せる

    • 進捗

    • 機能安全と非機能安全の境界

    • Interfaceの具体的なたたきだいを出す(原木さん、丸山さん、田口さん、光成)

    • GUI

      • Qemu環境でX11と waylandを動かしてみる(谷川さん)

        • Containerだけだと少し扱いにくい

        • X11を動かした。表示はできるが、このままでは開発には耐えられないので整備が必要(sshでコマンドを送っている)

        • デフォルトでGPUアクセラレーションのセットアップができていない

        • 原理的には動く

        • コンテナマネジメントの方法を考えたい

        • Qemuの方は開発環境(LXD)を整える方向で考える

      • R-CARでコンテナ上でwaylandを動かしてみる(宗像さんと端山さんのところで相談してもらう)

        • westonをコンテナで動かせていない(R-Car)

        • x86環境

          • Containerはdocker

          • コンテナ外: driやXDG_RUNTIME_DIRをbindすれば動作した

          • コンテナ内に入れると、いろいろ問題が出た

            • input deviceやttyデバイスが見れないと起動できない

        • R-Car

          • LXCをcontainerとして使う

          • driをbindすれば動作する

            • ただし、/run/user/<userID>は変更する必要がある

          • コンテナ内外GPUにアクセスすることは問題ない?

            • GPUのシェアリングは可能

            • コンテナに入れるのがClientだけだと専用ドライバ不要で問題ない

          • udevが見えない

            • アプリケーションコンテナを試す価値はあるかも

            • 今はシステムコンテナで動かしており、いろいろ上書きされて何か悪さをしているのかも?

            • システムコンテナは今後クラスタの機能を優先して入れるので、コンポジタはアプリケーションコンテナであるほうがよい

          • システムコンテナでwestonが動かない

            • weston初期化時にpvrモジュール内でdmabuf importに失敗している

            • GPUは動いている

            • ゴールのClusterでGPUをアクセスするケースがあるので、いずれシステムコンテナでGPUを触れる必要がある → 単独のglアプリが動くのか見てほしい

            • GPUの制約を知りたい

            • namespaceが絡んでそう

    • Yocto(山口さん)

      • thudに変更した

    • Sound

      • まだ別コンテナから出力できていない

      • pulseaudioのdomain socketのパスを変更することは可能なので、流せると思う

      • pulseaudioがユーザセッションでしか起動できない

    • CAN

      • vcanで評価する環境を作成した

      • CAN FDは必要か?

        • 直受けは考えていない。Gatewayで間引かれた後で受ける

        • CANのままではなく、serialで受ける

        • イベントドリブンよりポーリングするほうが時間を守りやすい

        • Linuxアプリからは/sys/fsにアクセスすれば加工されたデータがあるとよい

        • packetでやると優先度管理や定常的にだれかデータを引き抜く必要がある(Realtimeを守るため、CPUが固定される?)

        • 相手(RTOS or CANマイコン)側でStateを持って、shared memory をFIFOでシェア

        • OSIモデルにならって3つくらいの階層に切って定義してみるのはどうか