acontisによるタイプ1およびタイプ2のリアルタイム ハイパーバイザーソリューション
acontisは長年にわたり、リアルタイム仮想化ソリューションの提供において市場でリーディングカンパニーとして知られています。これらの製品は、顧客がWindows®上でハードリアルタイムアプリケーションを実行できるようにします。リアルタイムソフトウェアは、Windows®と並行して単一のCPUコア上で実行することも、1つ以上のCPUコア専用で実行することも可能です。
また、このソフトウェアはハードウェア統合および/またはワークロード統合にも適しています。そのようなシナリオでは、2つ以上のリアルタイムおよび/または非リアルタイムシステムを単一のハードウェアプラットフォームに統合することが求められます。
RTOSVisor – 複数のWindows®および/または標準LinuxインスタンスをリアルタイムOSと並行して1台のPC上で実行
タイプ1 リアルタイムハイパーバイザー – 複数の汎用およびリアルタイムオペレーティングシステム
リアルタイムハイパーバイザー技術の紹介
仮想化
パラ仮想化では、エミュレートされたハードウェアおよびネイティブハードウェアドライバーの代わりに、ハイパーバイザーに対応したゲストドライバーを使用します。
例えば、Intelや他のレガシーのEthernetコントローラーをエミュレートするのではなく、ハイパーバイザーに対応した特定のネットワークドライバーを使用します。
パラ仮想化では、エミュレーションによるオーバーヘッドがなくなるため、パフォーマンスが大幅に向上します。
パススルー
パススルーは、物理ハードウェアの特定の部分をゲストオペレーティングシステムに専用で使用させる技術です。これにより、ゲストオペレーティングシステム(Windows®やLinux)は、例えばEthernetコントローラーなどの特定のハードウェアに直接アクセスします。
これには顕著なパフォーマンス向上があります。なぜなら、ゲストドライバーとハードウェアの間に何も介在しないため、ネイティブなパフォーマンスが得られるからです。 しかし、いくつかの制限もあります。
パススルーの利用可能性はハードウェアに依存します。典型的な例としては、マルチファンクションデバイスが挙げられます。PCIデバイスが2つ以上の機能を持っている場合、その機能は異なるゲストに使用できないことが多く、すべての機能は単一のゲストにパススルーされなければなりません。
さらに、そのようなハードウェアは一度パススルーされると他のゲストと共有できなくなります。ゲストオペレーティングシステムは、変更されることなく元のハードウェアドライバーで実行され、まるで実際のハードウェア上で動作しているかのように認識されます。
利点としては、ゲストオペレーティングシステムがハイパーバイザーのホストや他のゲストOS、さらにハードウェアから完全に隔離されることが挙げられます。
もう一つの利点は、ハードウェアがゲスト間で共有できる点です。例えば、ゲストは全て単一のEthernet接続を使用して外部と接続することができます。
もちろん、デメリットもあります。最も重要な点はパフォーマンスです。仮想ハードウェアでOSを実行する場合、実際の物理ハードウェア上でゲストを実行するよりも著しく遅くなる可能性があります。なぜなら、フル仮想化では、ハードウェアはハイパーバイザーによってエミュレートされるからです。
パーティショニング
パーティショニングとは、単一のPCハードウェアを2つ以上のハードウェアパーティションに分割することを意味します。各パーティションは、CPU、メモリ、デバイスを備えた完全に動作する小さなPCと見なすことができます。
この例では、1台のPCが2つのパーティションに分割されています。下部のパーティションには1つのCPUコア、1つのメモリ、1つのハードウェアデバイスが含まれています。残りのCPUコア、メモリ、およびハードウェアデバイスは、上部のパーティションに所属します。
各ゲストは現在、1つのパーティション上で実行されます。
これは、リアルタイムゲストにとって特に重要です。リアルタイムの挙動を保持するためには、リアルタイムゲストは専用のハードウェアパーティションでのみ実行されなければなりません。異なるゲストを実行すると予測できない遅延が発生し、決定論的な動作が破壊されてしまいます。
各リアルタイムオペレーティングシステムは、特定のハードウェアパーティションに割り当てられなければなりません。すべての非リアルタイムゲストは、残りのハードウェアパーティションで実行されることになります。
リアルタイムハイパーバイザーとは?
リアルタイムハイパーバイザーは、複数のオペレーティングシステムを同じ物理ハードウェア上で並行して実行できるソフトウェアプラットフォームであり、リアルタイムの保証を提供します。これにより、ハードウェアリソースをパーティション分けし、複数のオペレーティングシステムやアプリケーションを並行して実行することができます。それぞれのオペレーティングシステムやアプリケーションは、専用の仮想マシン(VM)で実行されます。
リアルタイムハイパーバイザーを使用すると、以下のことが可能になります:
- 同じハードウェア上で複数のオペレーティングシステムを実行できる(リアルタイムオペレーティングシステム(RTOS)を含む)
- CPU、メモリ、I/Oデバイスなどのハードウェアリソースをパーティション分けし、必要に応じて異なるVMに割り当てることができる
- 複数のアプリケーションを並行して実行できる(各アプリケーションはそれぞれ専用のVMで実行)
- 重要なアプリケーションに対してリアルタイムのパフォーマンスを保証し、優先度を高くしてリソースを専用に割り当てることができる
- VMやアプリケーションのパフォーマンスを簡単に管理・監視できる
- 複数のハードウェアプラットフォームにわたってアプリケーションを迅速にデプロイ・スケールできる
高性能コンピューティング環境や産業オートメーションの設定、ミッションクリティカルなアプリケーションなど、さまざまな分野で、リアルタイムハイパーバイザーはハードウェアリソースを最大限に活用し、アプリケーションの信頼性と決定論的なパフォーマンスを確保するのに役立ちます。
Comparison of type 1 bare-metal and type 2 Hypervisor
Criteria |
Type 1 Hypervisor / bare-metal Hypervisor |
Type 2 Hypervisor |
リアルタイム評価 |
非常に良い |
非常に良い |
RTOSブート時間 |
良い |
良くない |
分離、セキュリティ |
完璧 |
良い |
インストールと複雑さ |
ハイパーバイザーのインストールと設定に追加の手順が必要 |
簡単なインストール |
独立したOSのアップデートと再起動 |
ゲストは独立してアップデートおよび再起動が可能
|
RTOSゲストにのみ利用可能 |
複数のOSインスタンスのサポート |
フル仮想化を使用する場合、すべてのゲストに対して利用可能
|
RTOSゲストにのみ利用可能 |