クロスプラットホームの仮想化

2008年9月22日(月)
丸山 真一

QuickTransitでクロスプラットホーム仮想化

 現在、Intel、SPARC、POWER、MIPSなど、さまざまなアーキテクチャのCPUが存在し、それぞれのCPUの上で多種多様なOSが動いている。こうしたCPUなどのハードウエアやOSのアーキテクチャの技術革新は速く、ハードウエアもOSも5年~10年程度で陳腐化してしまう。

 しかし、日々の業務は10年以上変わらないことも多く、ハードウエアやOSが陳腐化してもシステム自体は十分通用する場合が多い。ここで問題となるのが、OSやハードウエアがサポート終了になったために、アプリケーションが使えなくなるという点だ。

 ユーザーとしては業務で必要なアプリケーションが使いたいだけなのだが、その下層にあるOSやハードウエアに足を引っ張られ、アプリケーションも事実上、「サポート対象外」となってしまう。このような問題を解決する方法として考えだされたのが、「クロスプラットホーム仮想化」であり、それを実現しているのが、「QuickTransit」である。

QuickTransitとは

 QuickTransitは、米Transitive社によって開発・販売されている製品で、根幹となる技術は英マンチェスター大学で開発されたものだ。ちなみに現在も開発拠点は英マンチェスターにあり、開発メンバーにはマンチェスター大学の情報系学部の卒業生が多く占めている。

 このTransitive社だが、初耳の方も多いだろう。その主な理由としてはTransitive社がOEMとして製品を出荷しているためだ。IntelベースのMac OS X上で、PowerPCベースのアプリケーションが動作できることをご存じの方も多いだろう。これは「Rosetta」というテクノロジーなのだが、この「Rosetta」もQuickTransitのOEM製品である。

 そのほかにも、IntelベースのLinuxアプリケーションをIBMのPower5や、Power6プロセッサベースのシステムで動作させる「PowerVM」もQuickTransitのOEMである。OEMの製品が多い中、パッケージとしてリリースされた製品が以下の3つだ。

・QuickTransit for Solaris/SPARC to Solaris/x86-64
・QuickTransit for Solaris/SPARC to Linux/x86-64
・QuickTransit for Solaris/SPARC-to-Linux/Itanium

 どの製品も、Solaris/SPARCプラットホームのアプリケーションをターゲットとしており、そのアプリケーションをSolaris/x86-64、Linux/x86-64、Linux/Itaniumのプラットホーム上で動作させるための製品である。

 QuickTransitが異なるアーキテクチャのバイナリを動かす流れは、非常にシンプルだ。図1にこの処理の流れをまとめているが、大まかな流れは以下のようになる。

1.異なるアーキテクチャのバイナリが実行され、 QuickTransitが起動
2.異なるアーキテクチャのバイナリを、QuickTransitがネーティブコードに変換
3.変換されたコードをCPUが処理
4.システムコールについては、OSが異なるため、QuickTransitが適切に変換

 上記のように、QuickTransitはハードウエアの仮想化は行っていない。しかし、UNIXやLinuxなどの近代的なOSでは、アプリケーションが直接ハードウエアを操作することが少なく、多くの場合システムコールを経由している。そのため、システムコールを変換することで、ほとんどのアプリケーションを実行することが可能となる。また、ハードウエアを仮想化していないため、オーバーヘッドが少なく、QuickTransitが高速で動作する要因の1つともなっている。

 次は、より細かくQuickTransitのトランスレーション技法を見ていこう。

株式会社ネットワールド
プラットホームソリューショングループ所属。QuickTransit for Solaris/SPARC がβのころから評価・検証に携わる。現在はQuickTransitのプレセールスから、アフターサポートまで行い、QuickTransitを普及させるべく奮闘中。http://www.networld.co.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています