Download presentation
Presentation is loading. Please wait.
Published byAugustine Grant Modified 約 6 年前
1
“Survey of System Virtualization Techniques” by Robert Rose のまとめ
大山 恵弘 2004年10月5日
2
はじめの言葉 講義レポートのようなサーベイだが、役に立つ内容もありそうなので、一応チェック
3
複数の計算機システムを持つ 利点 隔離 性能 バグのあるアプリケーションの影響が他の アプリケーションにおよばないようにする
アプリケーションをそのためのシステムに置くことにより、資源に独占的にアクセスできる
4
本論文で扱う二つのトレンド Full system virtualization Paravirtuailzation
全ハードウェアアーキテクチャを模擬 Paravirtuailzation OSを書き換える
5
Formal Requirements for a Virtualizable Computer Architecture
Popek and Goldberg 1974, “For any computer a virtual machine monitor may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions” 簡単に言えば「特権命令はトラップする」 ゲストVMが特権命令を実行しようとしたら、プロセッサはVMMに制御を戻す IA-32はこれを満たさない
6
VMMの3つの本質的特徴 VMM上で動く任意のプログラムは、実機上で走った場合と同じ効果を示す
タイミングをのぞく 仮想プロセッサ命令の統計的に支配的な部分集合は実プロセッサで直接実行される つまりエミュレータとはちがうということ VMMはシステム資源を完全に制御する VMはVMMを経由せずに直接資源をアクセスできない これらの特徴は、満たすのが難しいor望ましくないと わかりつつある
7
Full System Virtualization
最初のfull system virtualization system: CP-67 on IBM 360/67 mainframe 各ユーザに完全な仮想的なSystem/360を見せた 遅いので、IBMは仮想化支援のための特殊なアーキテクチャを持つ計算機を作ると決めた → VM/370で初めて実現
8
IA-32の仮想化 なぜ難しいか? 特権モードでなくても実行できるのに、システムの安定性に被害を与える命令群がある
Open platform 非常に多数のデバイスとデバイスドライバがある
9
Robin and Irvine’s Analysis on IA-32
Non-sensitive, non-privileged instructions may be run directly on the processor Sensitive, privileged instructions trap Sensitive, non-privileged instructions detected 17 “problem instructions” sensitiveなのにtrapしない
10
Virtualizing IA-64 Some groups are beginning to assess the IA-64 platform’s ability to host virtual machines HPはすでにHP/UXとLinuxを仮想化するIA-64フレームワークを開発した Windows Server版の作業は開始しようとしている 仮想化の最大の問題はデバイスの多さ
11
IA-64にあってIA-32にない重要な特徴 Ring compression ゲストVMはVMMより高いリングで走る
12
Full System Virtualizationの欠点
プロセッサが仮想化を意識していないので、仮想化のためにはspecial tricksが必要 仮想記憶管理(VM/370では“shadow mapping”と言われている)を効率的に仮想化することはすごく難しい 特にIA-32では Denaliでは仮想記憶を廃止した
13
仮想記憶管理の問題 intercept all virtual memory calls to the CPU
translate “virtual machine” space into the system’s real space using yet another page table retrieve the memory return the memory to the virtual machine
14
Paravirtualization Denaliのおもしろいところ Idle loops Interrupt queueing
VM内でbusy waitすることの回避策 “Idle” instructionを呼ぶと他のVMに制御が移る Interrupt queueing 割り込みがきたときに、すぐにそれをVMに渡さない 割り込みをキューイング 割り込みを渡すべきVMが次にスケジュールされたら渡す Interrupt semantics 割り込みセマンティクスの変更 タイマなどに影響
15
Denali No virtual memory No BIOS 各VMをsingle address spaceに制限
システム情報を読み出し専用仮想レジスタで提供
16
Denali 汎用I/Oデバイス 汎用デバイスの小さな集合だけを上に見せる ゲストOSの性能が大きく向上する
17
Xen’s Approach to Paravirtualizing the IA-32 architecture
ページテーブル 各VMはハードウェアページテーブルを読み出し専用でしかアクセスできない ページテーブルの更新はキューイングされてVMMに よって処理される ゲストVMはVMMよりも一つ低いリングで走る ゲストOSがトラップハンドラをVMMに登録 ゲストOSがシステムコールハンドラをプロセッサに直接登録
18
Xen No hardware interrupts Generic Devices
Denaliと同じく、XenはゲストVMに高速な汎用 デバイスの小さい集合のみを提供
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.