ソフトウェア定義型自動車について
未来のソフトウェア定義型自動車(SDV)のためのハードウェア・アーキテクチャ
ブランドン・ルイス(マウザー・エレクトロニクスへの寄稿)
出典:kaptn/stock.adobe.com
現代の自動車は、1億行を超えるコード(MLOC)によって制御される鉄とシリコンの組み合わせです。今日の平均的な自動車では、そうしたソフトウェアが電子制御ユニット(ECU)と呼ばれる数百もの車載コントローラのネットワーク上で動作しています。
ECUとは、エンジン、トランスミッション、パワーステアリング、エアバッグ、ブレーキなど、さまざまな車両サブシステムを制御する組み込み処理サブシステムです。これらのコントローラは電線やケーブルによって相互接続され、信号を送信し、依存関係を伝えます。これでも機能しますが、このアーキテクチャには次のような大きな欠点があります。
- 重量:これらすべてのサブシステムの接続に必要な電線やケーブルは、車両重量を大幅に増加させ、燃費など重要な消費者指標に影響を与える。
- メンテナンス:部品数が増えると、潜在的な故障箇所も増える。
- 攻撃ベクトル:コネクテッドカーのECUは、車内ネットワークが最新のネットワークに期待される防御メカニズムを備えていないことが多いため、サイバー脅威に対して特に脆弱である。
- コスト:メモリ、インターフェイス、パッケージングを備えたロジックデバイスを追加するごとに、コスト重視の車載設計にさらにコストが上乗せされる。
同時に、次世代自動車にさらに機能を追加したいという要望により、コード量は今後も増え続けるでしょう。例えば、完全自律走行車に必要なソフトウェアコード行数は、3億行から5億行になると推定されています。
このようなソフトウェア定義型自動車(SDV)アーキテクチャは、5億行のコードが何百もの相互接続され、相互依存した車両コントローラに分散されると、ますます管理が難しくなります。これらのシステムが実現可能になるのは、車載処理アーキテクチャが、組み込みシステムというよりも、リソースを統合したデータセンターのようになった場合のみとなります。
SDVアーキテクチャの統合
新しい車両アーキテクチャの必要性を理解するには、何百ものECU(その一部はデイジーチェーン接続され、その多くは厳密な依存関係がある)を搭載し、それぞれが異なるファームウェア・バージョンを実行している車両でファームウェア無線(FOTA)アップデートを行うことを考えてみるといいでしょう。このようなプロセスの調整と管理は、単純なアップデートであっても、すぐに手に負えなくなるはすです。
ECU統合とは、最新の自動車に搭載されているドメイン・コントローラの数と種類を減らし、複数の車両ドメインやサブシステムを同時に制御できる、より高性能で分割された少数のマルチコア・プロセッサに集約させようという動きです。ECU統合のコンセプトは、いくつかの魅力的な利点を持つ代替アーキテクチャ・アプローチを提示します。第一に、機能性をグループ化することで、現在の一般的なアーキテクチャに比べて複雑さが大幅に軽減されます。その結果、SDVの時代に進むにつれ、ハードウェアとソフトウェアのスタックがより管理しやすくなり、コードがすっきりし、統合が簡素化され、メンテナンスが容易になるのです。
第二に、ECU統合モデルによって開発効率が向上します。というのも開発チームは一連の特殊機能ではなく、論理的な車両ドメインやサブシステムに専念することになるので、標準化されたツールやプロセスを導入できるためです。この集中的なアプローチは、コラボレーションを促進し、イノベーションを加速させ、最終的に新機能やアップデートの市場投入までの時間を短縮します。
次に、統合アーキテクチャはOTAのアップデートを促進します。その方が車両に分散された何百ものECUをアップデートし、そのアプローチに伴う効率性のトレードオフを発生させるよりもソフトウェアアップデートの方が管理しやすいためです。さらにゾーン・アプローチによって提供される攻撃対象領域が小さくなることで、システム全体がサイバー脅威に対してより耐性が強くなります。より強固なセキュリティを少数のプラットフォームに集中させることができるため、システム全体の安全性が向上します。
最後に、ECU統合アプローチは費用対効果に貢献します。より的を絞ったハードウェアとソフトウェア要件の最適化により、大幅なコスト削減が可能になります。これらの最適化により、リソースが効率的に活用され、自動車の総合的なコストにおいて経済的な利点が得られます。
現在、ECU統合には集中型アーキテクチャとゾーン・アーキテクチャの2つの主要なアプローチがあります。
集中型アーキテクチャ
サーバークラスのマルチコア・プロセッサやチップレットが自動車のコアでデータを処理しているのを想像してください。これは、分散したECUを統合されたコマンド・センターに置き換える集中型アーキテクチャです。このアーキテクチャは、エンジン制御から先進運転支援システム(ADAS)に至るまで、すべての車両ドメインと機能を一元的に管理します。
このモノリシックなアプローチには、いくつかの利点があります。
- 更新とメンテナンスの合理化:ソフトウェアアップデートが容易になり、システム全体に一挙に展開できる。
- パフォーマンスの向上:リソースプーリングすることで、集中型アーキテクチャの処理能力を大幅に向上させ、複雑な自律走行アルゴリズムに高速データ解析を提供することができる。
- セキュリティの強化:一元的なハブによりセキュリティ対策が簡素化され、サイバー脅威に対する統一された防御を提供する。
- コストと複雑性の削減:ECUの数が少なければ、ハードウェア、配線、全体的な複雑さが軽減され、コスト削減と軽量化につながる。
しかし、一元化には課題も伴います。複数の異なる機能を一つのシステムにまとめるには、精密な統合作業を要します。また、単一障害点(SPOF)が発生する可能性もあり、1つのコア・デバイスやクラスタ化されたデバイスに問題が発生すると、車全体に深刻な影響を及ぼす可能性が生じます。このリスクから守るためには、入念な冗長化を実施する必要があります。
ゾーン・アーキテクチャ
ゾーン・アーキテクチャは部分的な統合を提供します。この場合、各車両ドメインは強力なゾーンコントローラによって管理されます。これらのコントローラは自動車の全機能を統括する中央ECUと相互接続されたまま、特定の領域を処理します。
このモデルにはいくつかの利点があります。
- モジュラー設計:ゾーン・アーキテクチャにより、モジュール性と設計の分離を実現する。各ゾーンは独立して動作し、開発とメンテナンスが簡素化される。
- オンデマンドの拡張性:特定のゾーンに的を絞ってアップデートできるため、FOTAなどによる新機能の追加が簡素化される。
- 柔軟性とフォールトトレランス:ゾーンの独立性によってシステムのレジリエンスが高まる。ゾーンは相互接続されたまま分離されているため、1つのゾーンで障害が発生しても車両全体に支障をきたすことはない。
- 配線の煩わしさを軽減:複雑に広がるワイヤーハーネスの必要性は、ゾーンコントローラ内の機能をグループ化することで減少する。
しかし、この分散型アプローチにトレードオフがないわけではありません。各ゾーンで異種ハードウェアプラットフォームにまたがる可能性のあるソフトウェアの管理は、複雑さをもたらします。このアーキテクチャは階層構造になっており、各ゾーンのコントローラは上位ECUに情報を提供するため、ソフトウェアの更新も複数ステップのプロセスとなり、ゾーン間で入念な調整が必要になります。
適切なアーキテクチャの選定は複雑な方程式のように、集中化の効率性とゾーン・アーキテクチャの柔軟性のバランスを取らなければなりません。
仮想化とコンテナ化
集中型アーキテクチャとゾーン・アーキテクチャはECU統合の有望な経路を提供する一方で、少ないハードウェアでソフトウェアの膨大なワークロードを実行・管理するという固有の課題に直面しています。そこで登場するのが、SDVの可能性を最大限に引き出す強力なツールとして機能する仮想化とコンテナ化(図1)です。
図1:仮想化とコンテナ化環境におけるアプリケーション・ホスティング・アーキテクチャ。(画像提供: 著者)
仮想化:プロセッサの仮想化
仮想化テクノロジーは、単一の物理的なマルチコア・ハードウェア・プラットフォーム上で1つ以上の分離された実行環境を作り出します。仮想マシン(VM)と呼ばれるこれらの環境には、個別に計算、メモリ、I/Oリソースを割り当てることができ、他のVMで実行されるソフトウェアからの追加動作環境を受け入れ、調和的に(ただし独立的に)共存させることができます。
自動車の場合、各VMは運転支援システム、インフォテインメント、パワートレイン制御のような特定のサブシステムやドメイン機能を格納します。このように分離することには、いくつかの利点があります。
- 性能の改善:仮想化によってスムーズなリソース割り当てが可能になり、1つのアプリケーションがリソースを独占したり、システム全体をクラッシュさせたりすることがない。
- 柔軟な展開:さらにVMは、利用可能なプロセッサ・コアでソフトウェアと互換性のある環境をスピンアップするサンドボックスとしても機能できる。
コンテナ化:オペレーティングシステムの仮想化
一方、コンテナ化は、アプリケーションコード、ライブラリ、依存関係を、仮想化されたオペレーティングシステム上に展開できるよう、ポータブルで標準化されたユニットに統合する。このアプローチにはさらなる利点がある。
- リソースの精度:VMとは異なり、コンテナはリソースのフットプリントを最小化し、ハードウェアの利用率を最大化する基盤オペレーティングシステムを共有することが可能。
- 究極の移植性:コンテナは仮想オペレーティングシステム上にも展開でき、ソフトウェアを一度作成すればほぼどこでも実行できるため、移植性と設計の柔軟性が大幅に向上する。
つまり、VMは分離された実行環境を作り出し、コンテナはこれらのVM内で効率的なソフトウェアのパッケージングと展開が可能になります。これにより、高い安全性や高い信頼性を重要視する機能を専用のVMに搭載させ、そこまで重要ではないアプリケーションは他のVMで実行するなど、ミックスド・クリティカル管理の可能性が無数に広がります。
仮想化とコンテナ化を活用すれば、拡張性と柔軟性が高まり、機能の追加と削除が容易になるため、ECU統合の利点をさらに引き出すことができます。仮想化とコンテナ化の道を切り開くことで、SDVへの移行はよりスムーズで効率的になるでしょう。
まとめ
自動車のコード行数が5億行に達すると予想されるため、従来の分散型ECUアーキテクチャはもはや機能しなくなります。集中型ECUアーキテクチャとゾーンECUアーキテクチャは、次世代ECUとして有望ですが、これらを活用することは、仮想化とコンテナ化機能に投資して、ソフトウェアのワークロードとスピード、ポータビリティ、リソース効率を両立可能にすることを意味します。
しかし、その効果は単に状態を良好に保つだけにとどまりません。仮想化とコンテナ化は、自動車におけるソフトウェアの開発と展開の方法を変えつつあります。将来のFOTAアップデート戦略の一環として、自動車業界は高額なリコールや整備工場への往復をせずに済むでしょう。円滑なFOTAアップデートによって、新機能の追加、重大なバグの修正、ドライビング体験のカスタマイズも可能になります。これは、顧客の満足度の向上、ダウンタイムの減少、そして購入者が販売店から車を購入した時に発生する遠隔購入やアップグレードの安定した収入に直結します。
集中設計とゾーン設計の変革力を活用することで、自動車は単なる機械以上のものになります。ダイナミックで生きたイノベーション・プラットフォームとなるでしょう。
1 “Global Automotive Supplier Study 2018,” Roland Berger, December 2017, 49, https://www.rolandberger.com/publications/publication_pdf/roland_berger_global_automotive_supplier_study_2018.pdf.