[画像のクリックで拡大表示]

 JavaVM(仮想マシン)の「BEA JRockit」は,米BEA Systemsが開発した無償のJavaVMで,Windows,Linux,SolarisなどのOS上で動作する。高速処理に定評があり,主にサーバー・サイドのJavaアプリケーションと組み合わせて利用される。JRockitの開発マネージャであるHenrik Stahl氏(写真,米BEA Systems,Java Runtime Products Group,Product Manager)に,これからのJavaVMに求められる機能と,JRockitの製品戦略を聞いた。(聞き手は,松山 貴之=日経SYSTEMS)

---今,JavaVMにどんな機能が求められているのか
 環境の変化に対応しなければならない。それは「サーバー仮想化」という動きだ。VMwareやXenなどのHypervisor技術に基づいた仮想化ソフトを利用するケースが増えている。一つのハードウエア上で多くのアプリケーションを動作させることになるが,単に動作させるだけでなく,アプリケーション間の干渉がないようにすることが求められている。そのためにはアプリケーションごとにリソースを制御しなければならない。

---リソースの割り当てはOSが担うのではないのか
 その通り。だが汎用OS(WindowsやLinuxなど)では力不足だ。実行時に(プロセスごとの)優先順位を付けることはできるが,一定量の(メモリー,CPU,ネットワーク帯域などの)リソースをアプリケーションに確実に割り当てることはできないのが実情だ。状況によっては,メモリー上のデータがディスクに書き出されてしまうこともある。そうなれば性能は大きく低下する。

---そうした問題をどうすれば解決できるのか
 メモリーやCPU,ネットワーク帯域を制御するには,“汎用OSを利用しない”というアプローチがある。それを当社では進めている。ハードウエア上でHypervisor(技術に基づいたソフト)を動作させ,その上にJavaVM専用のOS「Bare Metal」(開発プロジェクト名),さらにその上でJavaVMを動作させる。そのような動作環境において,JavaVMごとにリソースを確実に割り当てるという方法だ。汎用OSを利用しないので確実にリソースを割り当てることが可能だ。JavaVMから見るとBare MetalはOSに見えるが,汎用OSの機能は備えず,一つのJRockitプロセスを動作させるのに必要な機能のみ提供する。

---そのような構成をとるなら,Hypervisorはなくてもいいのではないか
 技術的には可能だ。だがそうすれば,ハードウエアの違いをBare Metalで吸収しなければならない。具体的には多くのデバイス・ドライバを備えなければならないが,それはHypervisorが得意とするところだ。

---リソースの割り当ては別のソフトが担うのか
 そうだ。「JVM Pool」(開発プロジェクト名)と呼んでいる。1台のサーバーだけでなく,複数台のサーバーのリソースを制御する。

---「Bare Metal」と「JVM Pool」はいつごろ提供する予定なのか
 2006年末の提供を予定している。