解説

Intelの仮想化技術「Vanderpool Technology」とは

元麻布春男
2005/03/05
解説タイトル

 Intelが次世代プロセッサで採用する予定の仮想化技術「Vanderpool Technology」とはどのような技術であり、ユーザーにどのような利益をもたらすものなのだろうか。また、なぜIntelは、仮想化技術を推進するのだろうか。ここでは、Vanderpool Technologyの概要とその利点について解説する。

性能とともに技術「T」を追求するIntel

 2003年秋に開催されたIntelの開発者向け会議「Intel Developer Forum 2003 Fall(IDF)」で、Intelはマイクロプロセッサの開発方針を大きく変更したことを明らかにした。それまでは何をおいてもムーアの法則に基づく性能の向上を一義的に追及してきたのに対し、性能以外の機能性(Intel風にいえば技術を表す「T」)もプロセッサの価値として訴求するようになった。それが端的に現れているのが、90nmプロセス以降のクライアントPC向けプロセッサで採用されている「プロセッサ・ナンバ 」だ。

 AMDが以前より採用している「モデルナンバー 」は、クロック周波数ではないものの、性能の指標となるものだった。つまりモデルナンバー制では、モデルナンバーが小さいプロセッサがモデルナンバーの大きなプロセッサを性能(それがAMDの考える性能であっても)で上回ることはない。しかしIntelのプロセッサ・ナンバでは、プロセッサ・ナンバの小さなプロセッサの方が、プロセッサ・ナンバの大きなプロセッサを単純な性能で上回ることが起こり得る。それは、プロセッサ・ナンバが性能以外の機能を含んだ、プロセッサの価値に基づいて相対的に決められるものであるからだ。

 例えば、モバイル向けのプロセッサの場合、省電力機能の「Intel Enhanced SpeedStep Technology」を採用したPentium Mには700番台が与えられるのに対し、同じコアでもそれをサポートしないCeleron Mでは300番台となる、といった具合だ。同様に動作電圧、FSBクロック、2次キャッシュの容量など、性能に直結するもの/しないものを含めて、いろいろな要素がプロセッサ・ナンバを決める要因となっている。そのため、すでにプロセッサ・ナンバと性能それぞれの大小/高低が逆転する例も珍しくない状態だ。超低電圧版(Ultra Low Voltage:ULV)のPentium M 713(動作クロック1.10GHz、1Mbytesの2次キャッシュ容量)とCeleron M 360(動作クロック1.40GHz、1Mbytesの2次キャッシュ容量)などはその一例だ。現時点でプロセッサ・ナンバを採用しないサーバ向けのプロセッサでは、こうした例は見られないが、これとて「性能以外の機能を訴求する」というIntelの方針の例外ではないと思われる。

 Intelが性能以外の機能として、2003年秋のIDFで具体的に列挙したのは、Centrino Mobile Technology(CMT)、Hyper-Threading Technology(HT)、LaGrande Technology(LT)、Vanderpool Technology(VT)の4つの「T」であった。その後増減を重ねながら、2004年秋のAnalyst Meetingでは、「GHz」以外の技術革新の例として、HT、LT、VTに加え、64bitメモリ拡張技術であるEM64T、デュアル/マルチコア技術、遠隔地からの管理を容易にするIntel Active Management Technology(IAMT)の6つが挙げられるようになっている。さらに2005年3月1日には、サーバのネットワーク性能を向上させる技術であるIntel I/O Acceleration Technology(I/OAT)が加わるなど、着々と「T」が追加されている。

サーバ向けとクライアント向けの両方に実装されるVanderpool Technology

 少々前置きが長くなったが、その「T」のうちIntelが2003年秋のIDFから挙げ続けているVanderpool Technologyを今回取り上げる。Vanderpool Technologyは、システムの仮想化に関する技術だ。当初、クライアント向けの仮想化技術としてVanderpool Technologyが紹介された後、サーバ向けの仮想化技術としてSilvervale Technologyが紹介された。が、両者の具体的な相違について紹介される前にSilvervale Technologyという開発コード名が廃止され、クライアント向けの仮想化技術とサーバ向けの仮想化技術をひとまとめにVanderpool Technologyと称することになった。より正確には、Itaniumプロセッサ向けの仮想化技術であるVT-i(Vanderpool Technology for the Intel Itanium Architecture)と、IA-32プロセッサ向けの仮想化技術であるVT-x(Vanderpool Technology for IA-32 Processors)をひとまとめにして、「Vanderpool Technologies」と複数形で呼ばれるようになった。

 もともとサーバ向けの仮想化技術として紹介されたSilvervale Technologyだが、アーキテクチャという点ではItaniumプロセッサ・ファミリとIA-32にまたがる格好となる。恐らくIA-32(サーバ)上のSilvervale Technologyと、IA-32(クライアント)上のVanderpool Technologyは、実装されるプロセッサ単体で考えた場合、同じ名前を用いるItaniumプロセッサ・ファミリ上のSilvervale Technologyよりも高い類似性を持っていたと考えられる。そういう意味では、現在の呼称の方が実態に即しているということができるだろう。実際、ハードウェアを抽象化するファームウェア・レイヤを完備したItaniumプロセッサは、よりプロセッサの仮想化に適していると思われる。

 そもそも仮想化技術とは、OSに対してプロセッサ、メモリ、ネットワーク・デバイス、グラフィックス機能といったハードウェア・リソースを仮想化することにある。大半のOSは、自らがコンピュータのリソースを完全に占有していることを前提にしている。従って、リソースを完全に占有することを前提とした複数のOSを1台のコンピュータ上で同時に実行させることは、OS間の競合を招くため通常はできない。仮想化技術は、ハードウェアとOSの間で、OSに対し仮想的なハードウェア・インターフェイスを提供することで、1台のコンピュータ上で複数のOSを同時実行可能とする技術だ。この仮想的なハードウェア・インターフェイスを提供するソフトウェアがVMM(Virtual Machine Monitor:仮想マシン・モニタ)と呼ばれる。VMMは、実体のあるハードウェア・リソースを利用して、VMM上で動くOSに対し仮想的なインフラストラクチャを作成・提供するもの、と考えればよいだろう。

仮想化技術の概念
仮想マシンによってハードウェア・リソースが仮想化されることで、仮想マシン上で複数のゲストOSを稼働させることが可能になる。これにより、複数のサーバを統合することなどが可能になる。

Vanderpool Technologyの機能とメリット

 VMMはそれ自身がソフトウェアであり、すでにさまざまな場面で使われている。VMwareの製品やMicrosoftが買収したVirtual PCなどはその一例だ。まず理解しておきたいのは、IntelのVanderpool Technologyは、「これらを置き換えようというものではない」ということである。すなわちIntelは、市場でVMwareやMicrosoftと競合するつもりはまったくない。Vanderpool Technologyは、Intelプラットフォーム上で動作するVMMを強化・向上させることを目的とした、VMMが利用可能な拡張命令セットと、それに必要なアーキテクチャ上の改良(ハードウェア、ファームウェア)を指す。従って、VMM上で実行されるOSが利用可能な仮想ハードウェアの仕様は、Vanderpool Technologyにより決定されるのではなく、これまでとおりVMMを提供するソフトウェア・ベンダにゆだねられることになる。

 現在のソフトウェアのみによるVMMは、複数OSを切り替える際のオーバーヘッド(特権的なアクセスが必要な際に生じるオーバーヘッド)により、本来の性能が発揮できない場合がある。また、本来共有されたハードウェア・リソース上で動作させることを前提としていないOSを、仮想化されたハードウェア上で動作させるための改修(パッチ)が必要になることもある(XenSource が開発中の仮想マシン技術「Xen」はゲストOSにパッチを適用する必要がある)。OSにパッチをあてるというのは、その行為そのものが脆弱性の要因になる可能性もある。またパッチのあたったOSには、そうでない通常のOS向けに提供されるセキュリティ修正プログラムが適用できない、という問題がある。Vanderpool Technologyは、ハードウェアでVMMのアクセラレーションを行うことで、複数OSを実行した場合の性能を改善すると同時に、無改修で既存のOSをそのままVMM上で利用可能にすることを助けるものだ。

 すでに述べたように、Vanderpool Technologyの実装は、VT-iとVT-xの2つに分かれる。だが、仮想マシンの作成や終了、仮想マシンに割り当てられるレジスタ・セットの切り替え、コヒーレンシ(一貫性)を保つためのキャッシュ操作などの命令が追加されている点は、両者で変わらない。VMMの実装に際して、どのような実装を行うかはVMMベンダ次第だが、EFI(Extensible Firmware Interface:BIOSに代わるOSとハードウェアのインターフェイス)環境が整備されたItaniumプロセッサ・ファミリでは、ホストOSからVMMを操作する実装だけでなく、EFI上で直接VMMを実行する形態も考えられる。EFI上でVMMを実行すれば、特定OSをホストOSとするような依存性がなくなり、Windows Server 2003とLinuxをほぼ対等にVMM上で動作させるといったことが可能になる(これまでは一方をホストOS、もう一方をゲストOSとすることが多かった)。

 逆に、BIOSを利用するクライアント環境では、Vanderpool Technologyに対応したVMMであっても、ホストOS(現時点ではLonghornが想定されている)からVMMを起動し、ゲストOSとしてそのほかのOSを呼び出すスタイルが中心になると思われる。ただしIntelはIA-32用のEFI32の普及を推進する計画であり、IA-32上でもEFIが普及すればおのずとVMMもそれに対応したものになる可能性が高い。

仮想マシンを利用するメリット

 ハードウェア(Vanderpool Technology)でアクセラレートされた仮想化インフラをどう利用するかだが、だれしもが考えるのは、1台のマシンに複数の役割を担わせることだろう。例えば、Linux上のデータベース・エンジンが動作するバックエンド・サーバと、Windows Server上のフロントエンド・サーバを1台のサーバで動作させる、といったことだ。同一のOSであっても、アプリケーションごとに仮想マシンを分けることで、信頼性の向上や、トラブルが発生した場合の問題の切り分けを容易にする、といった用途も考えられる。もっと積極的にフェイルオーバー用に、複数のOSインスタンスとアプリケーションを起動しておく、という使い方もある。

 また、仮想マシン上に古いOSをインストールし、新しいOS環境への移行が遅れている特定のアプリケーションをそこで動作させる、といった用途もあるだろう。

 現在、個々のプロセッサの性能向上はかつてほど求められなくなりつつある。例えば量販店の店頭に並ぶPCに、IntelやAMDのハイエンドのプロセッサは必ずしも搭載されていない。サーバにしても、スケールアップによる性能だけでなく、複数サーバによるクラスタリングに代表されるスケールアウトが普及してきている。もちろん、プロセッサの性能が一定レベルに達したことも無関係ではないだろう。仮想化技術のサポートは、1台に複数のサーバ機能を持たせることによるコスト削減効果が期待できる。なお仮想化技術を利用するメリットについては、「解説:仮想マシン技術がサーバ導入/管理を大きく変える」を参照していただきたい。記事の終わり

  関連記事
仮想マシン技術がサーバ導入/管理を大きく変える
 
目次ページへ  「System Insiderの解説」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間