ハードウェア仮想化に対するOS仮想化の利点と欠点

Systems Performance 11.2 OS Vertualization の内容。

基本的には、ハードウェア仮想化はリソースを二重に持っている分、オーバヘッドがあるけれども、その分独立性が高い、ということ。

Advantages

  • ホストカーネルに対して、ゲストアプリケーションのI/Oオーバヘッドが少しかゼロに近い。
  • ゲストアプリケーションに対して、メモリをすべて割り当てられる。ハイパーバイザやゲストカーネルなどがないため、余分なカーネル割り当て分がない。
  • 統合されたファイルシステムキャッシュ。ホストとゲストで別々のキャッシュを持たない。
  • すべてのゲストプロセスはホストから観測できる。ゲスト間の相互作用まで考慮したパフォーマンス問題をデバッグできる。
  • CPUがリアルCPUである。adaptive mutex lockによる仮定が妥当なままになる。
    • ハードウェア仮想化のようなvCPUではない。
    • adaptive mutex lockは他のCPUで実行中のスレッドの状態をみるため、vCPUだと不都合があるということだと思う。

Disadvantages

その他

OS仮想化でも、異なるカーネルを動かす例Solaris lx Branded Zonesがあるとのこと。 Solaris lx Branded ZonesはSolarisカーネル上にLinuxシステムコールインタフェースを提供しているらしい。