お使いのブラウザは最新版ではありません。最新のブラウザでご覧ください。

CNET Japan ブログ

ヴァーチャルマシーンを可能にするハードウェアの性能向上

2004/08/06 09:33
  • このエントリーをはてなブックマークに追加

プロフィール

umeda

シリコンバレーで経営コンサルティングを行なう傍ら、ベンチャーキャピタリストとしても活躍する梅田望夫さんが、IT業界の先を読むのに役立つ英文コンテンツを毎日紹介していきます。これを読めば、英語と業界動向を読む力が同時に身に付くはず(このブログの更新は2004年12月30日で終了しました)。
ブログ管理

最近のエントリー

編集部からのお知らせ
夏季休暇にともない8月9日から8月16日まで本欄休載させていただきます。8月17日から25日までは不定期更新といたしますので、ご了解ください。

[ゲスト] 石黒邦宏 Kunihiro Ishiguro
8月4日(水)〜8月6日(金)までの間、梅田望夫さんの代わりに石黒邦宏さんがゲストブロガーとして登板します。梅田さんの更新は8月17日からになります。石黒さんの前回のゲストブログはこちら

石黒さんのプロフィール:1993年銀行向け大規模開発プロジェクトのシステム管理者としてキャリアをスタート。1995年にISPへ転職、国内外のインターネットバックボーン構築に携わる。1996年ウェブシステム作成会社へ転職。同年フリーな経路制御ソフトウェアGNU Zebraの開発を開始。1997年、日本ネットワークオペレーターズグループJANOGの設立に関わり初代会長に就任。1999年シリコンバレーにIP Infusionを吉川欣也氏と共同設立、CTOとして技術面のマネージメントにあたっている。

7/8月号のACM Queueの特集はヴァーチャルマシーンだ。

私は昔からいろいろなOSを試して見るのが好きなので、こうした話題はたまらない。

いくつか記事があるが、その中からMendel Rosenblumのものを見てみよう。彼は以前からスタンフォードでOSシミュレーターの研究をやっていて、その研究結果を元に自分の教え子と一緒にVMwareを設立した人間である。

ヴァーチャルマシーンとは

「The term virtual machine initially described a 1960s operating system concept: a software abstraction with the looks of a computer system's hardware (real machine). Forty years later, the term encompasses a large range of abstractions―for example, Java virtual machines that don't match an existing real machine.」

まずヴァーチャルマシーンという言葉は、当初 1960年代のOSの概念、つまりリアルなハードウェアを仮想化するソフトウェア層を指していたけど、それから40年たった今では、さまざまなレベルの仮想化を指す言葉として使われるようになった。Javaのヴァーチャルマシーンなんて、それに対応するリアルなハードがあるわけじゃない。

「One way to view the different virtual machine abstractions is as "slices" of the hardware/software stack. A modern computer system is composed of layers, beginning with the hardware and including layers of an operating system and application programs running on top of the operating system (see figure 1). Virtualization software abstracts virtual machines by interposing a layer at various places in the system. Three examples of these virtualization layers include hardware-level virtualization, operating system?level virtualization, and high-level language virtual machines.」

今のコンピューターシステムはOSがあるのはあたりまえで、その上でアプリケーションが動くという構成になっているから、三種類の仮想化レベルが考えられる。ハードウェアレベル、OSレベル、そしてアプリケーションレベルの仮想化である。

「Hardware-level virtualization. Here the virtualization layer sits right on top of the hardware exporting the virtual machine abstraction. Because the virtual machine looks like the hardware, all the software written for it will run in the virtual machine. This is actually the original virtual machine definition from the 1960s, including older technology such as VM/370 on IBM mainframes―as well as VMware virtualization technology on x86-based machines, as illustrated in Figure 2.」

ハードウェアレベルの仮想化は、ソフトウェアに対してハードウェアをそのまま仮想的に見せる技術で、仮想化の対象になっているハードウェアで動くソフトはなんでも動くというものだ。これが実際のところ1960年代からのオリジナルなヴァーチャルマシーンの定義だろう。たとえばIBMのVM/370メインフレームや、VMwareのx86ベースの仮想化技術などがこれに当てはまる。

これ以外にもOperating system level virtualizationとして、FreeBSDのJailの例や、High-level language virtual machinesとして、JavaやSmalltalkを紹介しているが、この記事ではメインのトピックではないので、簡単に触れられているだけだ。

ハードウェアレベル仮想化の復活

「Although hardware-level virtual machines were popular in both the research and commercial marketplace during the 1960s and 1970s, they virtually disappeared during the 1980s and 1990s.」

しかし、60年代や70年代に学術的にも商業的にもポピュラーだった、ハードウェアレベルのヴァーチャルマシーンも80年代と90年代にはほとんど消滅してしまう。

これはコンピュータという言葉が何を指すのかにも関係があるだろう。60年代のコンピューターシステムはホストコンピュータを対象としていたが、80年代以降は、PC を指すようになっていく。

しかし、その当時のPCはヴァーチャルマシーンを可能にするだけのハードウェア性能がなかった。

Mendel Rosenblumは1998年にVMwareを設立したわけだが、PCの性能向上に対する確信と、それがハードウェアレベルのヴァーチャルマシーンの復活を可能にするのだというビジョンがあったことだろう。

「One consequence of Moore's law of semiconductor growth has been the exponential increase in the performance of computing systems. The overhead of a well-tuned hardware virtualization system is extremely small compared with the performance increase.」

ムーアの法則によりPCの性能は指数的に伸びた。その結果として、ハードウェアの仮想化にかかるオーバーヘッドは非常に小さなものとなった。その結果、実用的な速度でWindows XPベースのホストでLinuxを動かしたり、逆にMac OS XのホストでWindows XPを動かしたりできるようになったわけだ。ハードウェアレベル仮想化の復活である。

このページではバージョンも個別にカウントするとなんと60種類以上のOSをMac OS X上のVirtual PC で動かしたスクリーンショットが紹介されている。実用的な意味では疑問が残るがOSマニアのハートを直撃すること請け合いだ。

ハードウェアの性能向上が変えるランドスケープ

こうして歴史を振返ってみると、ハードウェアの性能向上というのは単に性能が上がると言うだけじゃなく、これまで見えなかったランドスケープを見せてくれることが良くわかる。まさか携帯で、Javaベースのドラゴンクエストが動くなんてとても想像はできなかったし、ハードディスクのクラッシュにおびえながら、20M(ギガではない)のディスクを使っていた頃にはiPodのように携帯の音楽端末にハードディスクを入れて持ち運ぶようになるとは思いもよらなかった。今や私は、PowerBook G4にYellow Dog Linuxを入れて仕事をしているが、Mac-On-LinuxでMac OS XをLinux上に立ち上げてiTunesで音楽を聞いている。まぁそれに何の意味があるのかと聞かれると困ってしまうけれど。

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
運営事務局に問題を報告

最新ブログエントリー

個人情報保護方針
利用規約
訂正
広告について
運営会社