(Translated by https://www.hiragana.jp/)
インテル バーチャライゼーション・テクノロジー - Wikipedia

インテル バーチャライゼーション・テクノロジー

Intel VT-xから転送てんそう

インテル バーチャライゼーション・テクノロジー(Intel Virtualization Technology、Intel VTまたはたんVTりゃくされる)とは、インテルによって開発かいはつされた仮想かそう支援しえん技術ぎじゅつのことである。

当初とうしょ、インテルは開発かいはつコードネームからVanderpool Technologyという名称めいしょうもちいていたため[1]現在げんざいでもVTをVanderpool Technologyのりゃくとする表記ひょうき散見さんけんされる[2]。また、VT-x をしてたんに Intel VT と呼称こしょうする場合ばあいもある[3]

概要がいよう

編集へんしゅう

Intel VTは、仮想かそうマシンモニタによる複数ふくすうオペレーティングシステム (OS) の並行へいこう動作どうさをより効率こうりつてきおこなうための支援しえん技術ぎじゅつである。

VT機能きのうがなくても、すべてソフトウェアてき仮想かそう技術ぎじゅつ実装じっそうし、複数ふくすうのOS(ゲストOS)を実行じっこうすることは可能かのうである。しかし、その場合ばあいパフォーマンスの低下ていかまねいたり、ゲストOSに変更へんこう必要ひつようとなる場合ばあいもある。ハードウェアがわでVTに対応たいおうすることによって、これらの問題もんだいてん解決かいけつする仮想かそうマシンモニタの実装じっそう支援しえんすることができる。

インテルでは、Itanium 2などのIA-64アーキテクチャようIntel VT-iPentium DなどのIntel 64アーキテクチャようIntel VT-xを、また、I/O仮想かそう機能きのうIntel VT-dとして開発かいはつした。これらの機能きのう総称そうしょうしてIntel VTとしている。Nehalemマイクロアーキテクチャ以降いこうCore i3以上いじょうのすべてのCPUがVT-xに対応たいおうしている[4]

AMDではおなじコンセプトの機能きのうAMD Virtualization(AMD-V)として開発かいはつし、2006ねん5がつ以降いこう発表はっぴょうされたCPU実装じっそうしているが、Intel VTと互換ごかんせいはない。

仮想かそう支援しえん技術ぎじゅつ

編集へんしゅう

通常つうじょう、オペレーティングシステムは、リングプロテクション特権とっけんレベルと、ユーザーレベルのふたつを使つかって実装じっそうされている(その中間ちゅうかんのリングはかつては利用りようされていたが、現在げんざい使用しよう資源しげんである)。仮想かそうマシンモニタでは、スーパーバイザー(ハイパーバイザではない)が所属しょぞくするホストOSを特権とっけんリングに、ゲストOSカーネルを中間ちゅうかんリングに配置はいちする。これによりゲストOSカーネルで特権とっけん命令めいれい使つかわれると特権とっけん違反いはん発生はっせいし、スーパーバイザはゲストOSがホストOSにたいして資源しげん要求ようきゅうしたこと検出けんしゅつできる。

ここでいくつかの問題もんだい発生はっせいする。ゲストOSで使つかわれるOSは本来ほんらい特権とっけんレベルで動作どうさしていること前提ぜんていとした設計せっけいになっている。そのためたとえばみの禁止きんし許可きょかといった非常ひじょうほそつぶ資源しげん要求ようきゅう発生はっせいすることもある(x86でうところのCLI,STI命令めいれいはスーパーバイザでは状態じょうたいフラグの程度ていど動作どうさしかすることがない)。しかし、リングプロテクションにおいて発生はっせいするリングあいだ状態じょうたい遷移せんいコンテキストスイッチ発生はっせいさせ、その都度つどCPUコンテキストのすべて・ぜんレジスタ内容ないようとフラグがメモリにされることになる。つぶこまかい操作そうさでこのような動作どうさ頻繁ひんぱんおこなわれること資源しげん浪費ろうひであり、仮想かそうされたシステム全体ぜんたい性能せいのう低下ていかまねく。I/Oアクセスにおいても同様どうようことえる。

仮想かそう支援しえん技術ぎじゅつでは特権とっけんリングのあつかいをあらためてこれらのほそつぶ操作そうさ制御せいぎょしたり、あるいはスーパーバイザの操作そうさ代行だいこうすることにより、よりつぶあら処理しょり単位たんいとしてあつかことによって無駄むだ排除はいじょする。制御せいぎょひとつをとっても、この操作そうさ無駄むだ排除はいじょすることにより仮想かそう環境かんきょう性能せいのうおおむね20%以上いじょう性能せいのう向上こうじょうられる。VT-xとVT-iは命令めいれいレベルでの改善かいぜん、VT-dはI/Oレベルの改善かいぜんをはかったものである。

Intel VTの構成こうせい要素ようそ

編集へんしゅう

VT-x は、Intelによるx86仮想かそう実装じっそうれいである。たんに Intel VT と呼称こしょうする場合ばあいもある[3]

VMXという動作どうさモードの追加ついか
i386以降いこうの32ビットOSでは通常つうじょう、リング0でカーネルひとし動作どうさするが、仮想かそうマシンモニタはそれよりたか特権とっけんモードで動作どうささせることがのぞまれる(VT支援しえんがない場合ばあい、カーネルをリング1で動作どうささせる方法ほうほうられた)。このため、リング0-3とは独立どくりつして、VMX rootVMX non-rootという動作どうさモードをあらたにもうけた。VMX rootモードで仮想かそうマシンモニタを動作どうささせ、VMX non-rootモードでゲストOSを動作どうささせる。ゲストOSで仮想かそう影響えいきょうのある命令めいれい発行はっこうされた場合ばあい、VMX rootモードに遷移せんいし、仮想かそうマシンモニタは適切てきせつ処理しょりおこなうことになる。
VMCS(Virtual Machine Control Structure)
仮想かそうマシンモニタは、VMCSとばれるデータ領域りょういき利用りようし、かく仮想かそうマシンを制御せいぎょする。VMX non-rootモードで動作どうさしていたCPUの状態じょうたい保存ほぞんしをこの構造こうぞう利用りようしておこなう。ゲストOSをえるさいのオーバーヘッドを軽減けいげんすることができる。その仮想かそうマシンを起動きどうする命令めいれいや、再開さいかいする命令めいれい、VMXモードへ遷移せんい離脱りだつする命令めいれいなどが追加ついかされている。

VT-iは、IA-64うえ実装じっそうされた仮想かそう支援しえん技術ぎじゅつである。VT-xとほぼおな機能きのうゆうするが、とくにゲストOSにたいする仮想かそうCPUリソースのてを柔軟じゅうなん構成こうせいできる特徴とくちょうつ。

ダイレクト I/O けインテル VT(Intel VT-d)[3] とは、I/O処理しょり仮想かそう支援しえんする機能きのう。VT-dなどのハードウェアてき仮想かそう支援しえん場合ばあい仮想かそうマシンモニタは、I/Oデバイスをエミュレートし、DMAのメモリ領域りょういきのリマッピングをおこな必要ひつようがある。VT-dでは、ハードウェアてきにDMA転送てんそうのリマッピングをおこなうようにする。この場合ばあい通常つうじょうのデバイスドライバを使用しようすることができ、利便りべんせい性能せいのう向上こうじょうすることになる。 メモリアクセスはチップセットがわ機能きのうであるため、次世代じせだいのチップセットで対応たいおうする予定よていである。Intel 3シリーズチップセットではちが容量ようりょうのDRAMメモリを混載こんさいした場合ばあい問題もんだいるため利用りようができない場合ばあいがある。

VT-c (Virtualization Technology for Connectivity) は、均衡きんこうてきなサーバー性能せいのうため最適さいてきなI/Oの仮想かそう支援しえんする、各種かくしゅ技術ぎじゅつ総称そうしょう[3]。Virtual Machine Device Queues (VMDq)、Intel I/O Acceleration Technology (I/OAT)、Single Root I/O Virtualization (SR-IOV) で構成こうせいされる[5]。Intel QuickData Technology は I/OAT のいちコンポーネントである[6]

関連かんれん項目こうもく

編集へんしゅう

参照さんしょう

編集へんしゅう
  1. ^ Geoff Koch (2009ねん11月10にち). “Software Developer FAQ: Intel® Virtualization Technology”. Intel Corporation. 2012ねん2がつ9にち閲覧えつらん
  2. ^ VTとは【Vanderpool Technology】(Intel VT) - 意味いみ/解説かいせつ/説明せつめい/定義ていぎ : IT用語ようご辞典じてん”. Incept Inc. (2007ねん2がつ20日はつか). 2012ねん2がつ11にち閲覧えつらん
  3. ^ a b c d デスクトップ・ボード — インテル® バーチャライゼーション・テクノロジー (インテル® VT) とデスクトップ・ボードの互換ごかんせい”. Intel Corporation. 2013ねん8がつ27にち閲覧えつらん
  4. ^ ただしCeleron場合ばあい一部いちぶSandy Bridgeマイクロアーキテクチャ以降いこうPentium場合ばあい一部いちぶIvy Bridgeマイクロアーキテクチャ以降いこうより対応たいおう
  5. ^ "Intel Virtualization Technology for Connectivity" (application/pdf) (Press release). Intel. 2008ねん7がつ5にち閲覧えつらん
  6. ^ http://www.intel.com/network/connectivity/vtc_ioat.htm Intel® I/O Acceleration Technology

外部がいぶリンク

編集へんしゅう