SDV における WebAssembly 対ネイティブコンテナ:起動時間、メモリ消費、および安全性

車載ゾーンコントローラは極小の RAM と 50ms 未満のコールドスタート制約を持ちます。OCI コンテナが HPC 領域で普及する一方、エッジ制御では WebAssembly の採用が加速しています。本稿ではオーバーヘッド、サンドボックス機構、AOT コンパイルを詳細検証します。

コールドスタート遅延とメモリフットプリント:2ms 対 150ms の比較

車載 Cortex-A53 上の測定において、AOT コンパイルされた WasmEdge は 2.3ms で起動し、メモリ消費は 4MB 未満です。一方、crun による OCI コンテナは名前空間や cgroup 設定に 140〜220ms を要し、35MB 以上のメモリを消費します。緊急ブレーキ制御において、この 140ms の差は極めて重大です。

ケイパビリティベースのセキュリティと厳格な障害隔離

Wasm サンドボックスは WASI 経由でケイパビリティベースのセキュリティを保証します。ゲストモジュールはソケットやファイルへの暗黙的なアクセス権を持たず、ホストから明示的に付与されたリソースのみ操作可能です。サードパーティ製モジュールでバッファオーバーフローが発生しても即座にトラップされ、ホスト OS や安全タスクへの影響は完全に遮断されます。

確定的な実行周期を保証する Ahead-of-Time(AOT)コンパイル

JIT コンパイルは実行時のレイテンシ急増と W^X メモリ保護違反を引き起こすため、車載 ASIL システムでは禁止されています。車載 Wasm エンジンは CI/CD パイプライン上で AOT(事前)コンパイルを行い、対象 SoC(ARM64 等)向けの最適化バイナリを生成。境界チェックをハードウェア命令に統合することで、ネイティブ C++ 比 96% の高速性と確定的な実行周期を両立します。

ドメインポートフォリオを見る