新・闘わないプログラマ No.309

仮想化


以前、MicrosoftがVirtual PCというバーチャルマシンを作る(?)ソフトウェアを買ったという話を聞いたときに「なんでMicrosoftがそんなソフトを必要としてるんだろう」と思ったのですが、「進むPCハードの仮想化〜Intelの『Vanderpool』とMicrosoftの『Virtual PC』」という記事を読んで、PC自体の仮想化というのが今後の方向性なのかも知れないなあ、とは思いました。
PCにおける「仮想化」と言えば、今まではアプリケーションからみたコンピュータ資源の仮想化という方向性、たとえば仮想メモリの仕組みを使ってプロセス毎に仮想的なアドレス空間を作ったり、周辺機器も仮想的なデバイスを経由してアクセスしたり、CPUにしたって、あたかも1スレッドが1つのCPUを占有しているかのように見えたり、という感じでした。
それに対してバーチャルマシンはOSから見たコンピュータの仮想化、ということになるでしょうか。Virtual PCやVMwwareは、これらをソフトウェア的に実現しているわけです。ホストOS(コンピュータに直接インストールされているOS)上にVirtual PCやVMwareと言ったソフトウェアをインストールし(これらは、ホストOSから見れば普通のアプリケーション)、それらの上で仮想的なPC(バーチャルマシン)を実現している、という形になります。この仮想的なPC上にOSをインストールすれば(ゲストOS)、複数のOSが1台のPC上で同時に動作するようになるわけです。
このバーチャルマシンの技術は実は最近開発されたものではなく、もう何十年も前からメインフレーム上では実現されていました(IBMのVMというソフトウェアが有名です)。PC上で目新しい技術であっても、実は「んなもん、メインフレームの世界ではもう何百万年も前(←大げさ)から常識だよ」というのが結構あったりします。そういうメインフレーム上の技術を10年やら20年やら遅れで追いかけているというのが、PCの現状だったりするかも知れません(とは言え、バーチャルマシンのような仕組みが自分ちのPCでも動作できるようになるとは、10年前には、少なくとも私は想像も出来ないことでしたが)。

さて、最初に挙げた記事の中に、こんなことが書いてあります。

PCハードウェアの仮想化が新しいステップに入ろうとしている。Intelの「Vanderpool(バンダプール)」とMicrosoftの「Virtual PC」と、Intel/Microsoftともに仮想マシンへと向かっている。Vanderpoolは、Intel CPUに仮想マシンのためにメカニズムをハードウェアベースで組み込もうという構想。

これ、私は寡聞にしてこの記事を読むまで知りませんでした。ハードウェアレベルでバーチャルマシンを実現する機構を考えているんですね、Intelが。これもメインフレームの世界で言えば、例えばIBMのメインフレームにあるPR/SMと似たような仕組みになるのでしょうか。
私はメインフレームの世界から遠ざかって久しいのですが、最近のメインフレーム(今時は「エンタープライズサーバ」なんて言い方もされているようですが)では、1台に複数の区画(バーチャルマシン)を設定して、そこで別個にOSを稼動させて(「別個のOS」ではなく、同じOSを複数動かすことも多い)、あたかも複数台のコンピュータがあるかのように稼動させる、なんてのが結構一般的になっているようです。
こうするとこによって、仮想的なコンピュータの台数(区画数)や、それぞれに割り当てる資源を柔軟に変更することが出来ますから、運用上かなりメリットがあると思います。

さて、Intelがこういう仕組みを提唱してきた背景には、上記の記事によればこんな事情があるようです。

IDFのスピーチでは、同じマシン上で、片方のOSがビデオ再生をしている最中に、もうひとつのOSをリブートするというデモをして見せた。つまり、家庭に1台ハイパフォーマンスなPCがあって、それを家族でシェアしているという想定のモデルを見せたわけだ。増大するCPUパワーのうまい使い方の提案ということになるだろうか。

確かに「なるほど」と思わせるものはありますね。ただし、ここにある「増大するCPUパワー」というのはどうなんでしょう、私などは少しばかりいちゃもんをつけたくもなります。だいたいにして、最近は力業でCPUクロックを上げて性能を向上させようとしてる、とでも言ったらいいか、この先順調にCPUパワーが増大していくんでしょうか。
IntelのCPUもそろそろTDP(熱設計電力)が100Wを超えるらしいですし、そんなむちゃくちゃ消費電力と発熱の多いCPUを「家庭に1台ハイパフォーマンスなPCがあって、それを家族でシェアしている」っていうモデルがいまいちイメージできないのです。「技術革新で今後TDPは低くて高性能のCPUも開発できるだろう」という楽観的な考え方もあるかも知れませんが、過去を振り返ってみるとここ何年にもわたってTDPは順調(?)に増大してきているわけで、CPUだけで100W超、PC全体で数百Wもの消費電力(そのほとんどは熱として放出される)のものを家庭内に置けるものだろうか、とも思います(ちなみに、余談ですが今これを書いているノートPCの消費電力は、MobileMeterというソフトによれば6〜7Wです)。

と、話が逸れてしまいましたが、IntelのVanderpoolには今後注目したいとは思います。OSの稼動中に資源の動的割り当てや変更が出来たりなんかすると、個人的には結構使い道があるんじゃないかなあ、と思っています。1台の家庭内サーバを分割して複数のOSを同時に動かして、なんてこととか。VMwareを使えば今でも出来るのですが、安定性の面などで不安は残るし…って、家のサーバだからそんな大層なものでもないのですけどね。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp