Attendee
原木、日下部、山口、丸山、田口、細川、上村、たにかわ、入江、伊藤、谷端、光成(敬称略)
場所
WebEx
日時
10/8(火) : 13:30 - 16:30
前回の確認
F2Fに向けた議論
TODO
進捗
F2F ミーティングの議事内容
https://wiki.automotivelinux.org/agl-distro/sep2019-f2f
9/24 Pre-meeting
目的 : Continental, Volkswagen, Volkswagenのメンバとコンセプトの共有Bosch のメンバとコンセプトの共有
- コンテナアーキの方向性を共有
- 2日目の話をする前に状況を理解してもらう
- VolksWagen, Continental, Bosch に方針を理解していただいたAutosarはCANに対して明確なSWスタックの実装を規定しているので、CANは外にマイコン
- Low AGL target is full digital cluster
- Lowをターゲットにしているが、Highにも適用可能である
- LinuxのDevelopmentをマネジメントすることは難しい。Safetyを担保できない
- Reference HardwareにはすべてのHWが含まれているか?
- Autosar(CAN
- )
- の実装はLinuxの外にあるべき
- CANの応答(reply)性能を守れるか、が大きな課題になる
- SocketCANはいつからKernelに入っているかvxcanはいつからKernelに入っているか?
- 4.14から入っている
- SafetyとNon Safetyの切り分け
- Micro kernelの考え方
- QNXはMicro kernel
- Integrityはちがう
- Micro kernelの考え方
- コンセプトを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
- 資料
- CES #3のデモにContainerを利用したデモ
- たにかわさん LEAD
...
- 資料
- Container Architecture
- CAN
- 質疑
- Implementの方法(CAN proxy)
- CAN ProxyがKernel空間にある案を採用する
- SPI(shm)
- 車両信号のルーティングのAutosarの仕組みを教えてもらった
- PDU(https://www.autosar.org/fileadmin/user_upload/standards/classic/3-0/AUTOSAR_SWS_PDU_Router.pdf)
- 外にCAN Communicatorを置く場合は、上の資料を参考にするといいとのこと
- 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は入れなくてもいいのではないか。
- 1コンテナに複数のアプリがいたときはどのようにするのか? → 説明が足りていなかったので、Soundに追加しました。Sound
- 質疑
AMMに向けた活動
Keynote
- Status
- 原木さんが発表する
- いつ?? → まだ決まっていない。2日目の予定
- 話の流れは作成完了(原木さん)
- 山口さん、光成レビュー中
- 原稿は作ったので、今週いっぱいめどに展開される。
- 議事お願い
Session
- Status
- 山口さんが大枠を作成
- Graphic, Soundを追加する
- 3名が無理? → 2名 x 2セッションで発表する必要がある
- QAのタイミングを変えて、前半後半
- ゲストが出てくる形
- 山口さんが大枠を作成
- ToDo
- いつまでに作る?
- 全体の時間を確認する。(50分)
- Outlineだけ今週中に出してください。
- いつまでに作る?
CES2020
- Status
- コンテナ入っているうれしさが訴求できるようにしたい
- 作りこみはできない
- AGLの資産そのままで動かし、より作りやすいことを訴求したい
- ポスターが肝になるかも
- ステアリング
- 対応は必要か?
...
- Status
- ToDo
- (日下部さん) → 特になし
- もし#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 |
---|---|---|---|
10/9 | IC EG meeting | ||
10/11 | ボードセッションのアウトライン | ||
10/21 | 事前打ち合わせ | ||
10/22-23 | AMM |
| |
10/24 | SAT |
|
|
10/31 | Open Source Safety Critical Summit |
|
|
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
ToDo
...
=== Appendix 9/12の議事 ====
...
- 機能安全と非機能安全の境界
- ライブラリのレベルでinterfaceを切ってみた
- kernel subsystemのレベルで吸収したほうがよいのではないか
- ブザーもASILの対象
- 「機能安全を達成する機能」と、「達成手段」は分けて考えたほうがよい
- 機能安全の方法は網羅的に出したほうがよいか?
- やりかたは各社それぞれ
- ライブラリのレベルでinterfaceを切ってみた
- 目標性能
- No update
- Sound
- CarPlayとAndroid Autoの経路の確認
- 構成図があるのでConfluenceにアップする
- レイテンシ要件が厳しい。
- Softwareで解決が難しい場合、SoCに性能達成を要求する必要がある
- 目標性能のみ記載する(NDAが絡むので、なぜそれくらい必要なのかは記載しない)
- Softwareでのノイズキャンセリング/エコーキャンセリングはPrivileged Containerに配置すると思うが、パスが多くて複雑
- パスは一つのサーバーに集約したほうがよい
- pulseaudioでの音声出力
- ユーザセッションでコンテナ内で起動、音声出力確認できた
- システムワイドで起動しない
- pulseaudioみたいなユーザで起動する
- コンテナ間通信をトライする。(domain socketの共有)
- ユーザセッションでコンテナ内で起動、音声出力確認できた
- CarPlayとAndroid Autoの経路の確認
- CAN
- Gatewayの使い方、性能
- no update
- LXCでCANを使えるようにする
- LXCでCANを配信可能
- Domain socket(コンテナ間の通信)はcontainer managerで設定してあげる必要がある。
- Readmeに記載する
- パスを空ける = そのパスを通じてコンテナ内の全アプリが外部アクセスできる。セキュリティ的に大丈夫?
- パスを空けないと通信できない
- セキュリティが必要であれば、カスケードできるものが必要。それは必須事項ではない。
- GUI
- Qemu環境でX11 or Westonを動かす
- no update
- R-Carでコンテナ上でwyalandを動かすCarでコンテナ上でwaylandを動かす
- まずデスクトップで、dockerを使って確認
- Docker Clientでhostのwestonと通信し、wayland clientを動かすことができることを確認した。
- LXCで動かしてみる
- まずデスクトップで、dockerを使って確認
- Qemu環境でX11 or Westonを動かす
- Gatewayの使い方、性能
- Yoctoのバージョン
- thudに変更する
- Container Manager
- リファレンス実装を作成する。製品ではオリジナルになる
- LXCを前提としたものにしたくない
- 機能がAPIやライブラリになっているほうがいい(westonとlibwestonみたいな関係)
- LXDを参考に、どのようなマネジメントが必要なのか整理する
...