産業IoTや車載といったアプリケーション分野では、より少ないハードウェアコンポーネントに、より多くのソフトウェアベースの機能を組み合わせるというニーズが高まっています。これは、同じデバイスにあらゆるソフトウェア機能を集約することで達成されます。
このソフトウェア機能の集約に用いられるのが仮想化です。クラウド上のサーバーアプリケーションの場合、現在のところコンテナが比較的オーバーヘッドの少ないソリューションとして認識されています。
しかしながら、組込みシステムに安全性やセキュリティ保護の必要がある場合、他のソリューションに頼らなくてはなりません。
そこで注目されているソリューションがハイパーバイザです。コンテナは1つの不具合がプラットフォーム全体に影響しやすいのに対し、組込み分野におけるハイパーバイザは、不具合が起きた場合も影響を受けるのがその1つのOSのみとなるため非常に安全でセキュアなソリューションを提供します。
組込みアーキテクチャの進化と仮想化
組込みシステムにおいては、多くの場合、安定性と堅牢性が重要な要件となります。しかし、システム設計が進むにつれ、モジュール化された機能が追加されることによって、システム全体が過度に分散したシステムとなり、コストと複雑さが増大することがよくあります。以下の図は、複雑な組込みアーキテクチャの進化を表しています。
ソフトウェアを集約した後、共通のハードウェア上に、ソフトウェアレベルで機能を統合します。これにより、プロセッサの数だけでなく、抵抗器等の受動素子、コネクタ、配線、PCB、および筐体の数が減るため、BOM(部品表)に記載する物理的な部品を削減できます。
仮想化は、単一のハードウェアプラットフォームに機能を統合する上で役立つ強力な手法です。近年では、ソフトウェアの機能統合を実現するための一般的かつ効果的な方法として、コンテナも組込みシステムに利用されるようになっています。もう一つの選択肢として、ハイパーバイザを利用する方法もあります。これらの手法には、それぞれ異なる強みもあれば、考慮しなければならない問題点もあります。
この傾向の好例として挙げられるのが、自動車産業です。ユーザ機能が充実し、かつ、安全関連機能が必須となる中、車両全体に配置されるECU(電子制御ユニット)の数は大幅に増えており、一部のハイエンドモデルでは100個を超えるECUが搭載されている場合もあります。
自動車分野のほか、エッジコンピューティングアプリケーションや一般的な産業電子機器分野でも、より少ないハードウェアへ、より多くの機能を詰め込むニーズが高まっています。これは、単純に複数の機能を最小限の変更で同じ箱に収めることで実現できます。自動車業界のドメイン型アーキテクチャ、さらに最近のゾーン型アーキテクチャへの移行は、この手法の一例として挙げられるものです。
ハイパーバイザを詳しく解説したホワイトペーパーを新たに公開
こちらの解説の続きは、新たに公開したホワイトペーパー「組込みシステム設計において仮想化はいつ、どのように活用されるか(そしてハイパーバイザはどう役立つか)」でご覧いただけます。
このホワイトペーパーでは、コンテナと4種類のハイパーバイザについて解説します。
さらに、革新的なマルチカーネルテクノロジーに基づいて開発されたPOSIXインターフェイス対応リアルタイムOSをベースとする新しいリアルタイムハイパーバイザについて紹介し、マルチ/メニーコアハードウェア上でパフォーマンスの向上とFFI(Freedom From Interference)を実現する方法について説明します。
無料でダウンロードいただけますので、ぜひご覧ください。