2004年2月18日に開発者向け会議「Intel Developer Forum Spring 2004(IDF)」において米Intel社が発表したx86命令の64ビット拡張仕様「Intel 64-Bit Extension Technology」は,AMDの64ビット命令セット・アーキテクチャ「AMD64」とほぼ同じ。x86互換CPU向けの64ビットOSは,一つのバイナリで両CPUに対応できる。

 今回のIDF Spring 2004において64-Bit Extensionが会期中にあまり語られなかったのとは対照的に,インパクトのあるニュースとして各種報道で取り上げられた。Intelが同社の互換CPUメーカーとしてのイメージが定着している米Advanced Micro Devices(AMD)社の後追いをしたというのだから当然だろう(関連記事1関連記事2)。

 しかしPCアーキテクチャの今後を考える上で,変革を感じさせる予兆は別のところにある。Intelが開発を進めている仮想マシン技術「Vanderpool Technology(VT)」だ。VTを搭載するCPUでは,一つのCPUを複数の仮想CPUとして扱える。メインフレームや大規模PCサーバーなどで使われる「パーティショニング」と同様の技術だ。

VTを核として,CPUやOSが変わる

 VTがIntelによって語られ始めたのは,2003年9月のIDF Fall 2003から。Intel社長兼COOのPaul S. Otellini氏は,は,VTの実装を「5年以内」とし,あくまでも初期バージョンの実装例としてあるデモを披露した。そのデモでは,ストリーミング配信をする仮想マシンとゲームを実行する仮想マシンを同時に実行し,ストリーミング配信をする仮想マシンのみを再起動してみせた。しかしこれではすでにある仮想マシン・アプリケーションの「VMware」や「Virtual PC」で十分。設置場所と消費電力に目をつむれば,そこそこの性能の2台のパソコンを用意すれば事足りる。

 将来はこのVTを核として,CPUやOSが変わる。IDF Spring 2004でそう思うようになった。仮想マシンのもう一つの役割として,レガシー環境の維持がある。IDF Spring 2004では,Intel Desktop Platforms GroupのBill Siu副社長が新OSでは動作しない業務アプリケーションをVTによって使い続けるような使い方を例として挙げた。

 仮想マシンの用途としてはごく一般的なものだが,このときIDF Fall 2003におけるOtellini社長の用途例が頭に浮かんだ。資産情報と子供用のパーティションに分け,資産情報を子供に見せないようにするような使い方だ。当時のデモは先に挙げたように,CPUが仮想マシンの機能を備える必然性のないものだった。しかし両リソースの完全な分断をもたらすのであれば,ハードウェア・レベルで実装する意味がある。

巨大仮想マシンへとひた走るPCアーキテクチャ

 仮想マシンをハーウェア・レベルで実装するVTのメリットは,個々の仮想マシンを完全に分離された環境として扱えるという点だ。短期的には,先に挙げたような使い方でCPUの付加価値になる。例えばサーバーのような無停止が要求されるようなケースでは,本番環境と開発環境をパーティショニングし,開発環境のみを再起動するといった使い方はメリットが大きい。長期的に見れば,グリッド・コンピューティングを支える基盤としての役割を持つようになるはずだ。

 グリッド・コンピューティングとは,複数のコンピュータをネットワークで接続して仮想マシンとし,そのマシンの処理能力や記憶容量を取り出して使うコンピューティング環境。現在グリッド・コンピューティングと呼ばれているものに限って言えば,CPUリソースをピア・ツー・ピアの関係で負荷分散するのが一般的なものだろう。これに記憶領域のグリッドを足したものが,最終的な形態ということになる。あらゆるデータがグリッド内を移動し始める日がくる。

 例えばコグニティリサーチラボの「Post Grid Operating System(PGOS)」。PGOSでは,グリッドを構成するマシン上の仮想マシン同士がメモリー空間を共有し,一つの巨大な仮想マシンとして動作する。Microsoft Research所長のRick Rashid上級副社長が率いる「Millennium」プロジェクトも同様の構想を示している。日経バイト2003年10月号特集の「OSはどこに向かうのか」で,OSが向かう先の姿として取り上げたことがある。

 一歩先を進んでいると言えるのは,パソコンではなくゲーム機だ。ソニーが開発を進めている次世代プレイステーションでは,「Cell」と呼ぶ通信機能を備えたCPUを光ネットワークで結び,そのネットワークを通じてCell同士がリソースを共有する。米国の特許情報によると,サーバーやクライアント,PDAにも搭載された利用形態を想定している(ここでいうサーバーやクライアントは,あくまでもハードウエアの形態を指す)。次世代ゲーム機というよりは,次世代コンピューティング環境と呼ぶべきもののようだ。Cellはソニーと米IBM社および東芝の3社が共同開発を進めている。

 Millennium構想とCellプロセッサ。いずれのアプローチも,グリッド内の仮想マシンにローカルのリソースを割く,またはもらうことでリソースを共有することになる。このとき問題になるのが,ローカルのリソースと共有リソースの分離だ。完全に遮断できれければセキュリティ面で不安がある。共有リソースのデータの閲覧や改ざんを避けられる仕組みがなければ,ある組織内やローカル・ネットワーク内のごく限られたマシン間でしか使えない。

 ここでVTがローカルマシンの環境と共有リソースの環境を分離して実行するための基盤となる。リソースを分割する用途を主として始まったVTは,将来はリソースを安全に共有するための基盤として姿を現すはずだ。

ノート・パソコンにとっての福音に

 そもそも,そんなに大量のリソースが必要なのか,と疑問に思う向きもあるだろう。おそらく最も切実なのはローカルのリソースに制約が多い携帯機器やノート・パソコンだ。バッテリ駆動時間や発熱,および筐体の大きさがネックとなり,CPUの性能や記憶領域の容量を一気に増やすのは難しい。

 ノート・パソコンでは,2005年から2006年にかけて複数のCPUコアを1チップに集積するマルチコア化によって,性能と省電力化を両立させる構えを見せている。CPUメーカーは性能の上限をマルチコアによって引き上げる一方で,性能が不要なシーンでは使用していないコアへの電力供給を止めることで省電力化を図る見込みだ。とはいえ,すべてのコアがフル稼働する際の発熱量が設計の前提であることに変わりはない。性能と筐体の大きさ・重さはトレードオフの関係から逃れられない。

 これがMillennium構想のような巨大仮想マシンであれば,発熱するのは手元のノート・パソコンではなく,どこか別の場所にあるパソコンだ。現実的なスタートとしては,自宅あるいは部署内にあるパソコン群のリソースを共有するところから始めればいい。仮想マシンのハードウエア実装における耐タンパー性が確保できるのであれば,先に挙げたPGOSやMillennium構想に基づくパブリックな巨大仮想マシンにプライベートなデータを任せてもいいだろう。ネットワーク経由でのデータ転送時のレイテンシがパソコン性能指標の主要項目に加わる日がくるかもしれない。

(高橋 秀和=日経バイト)