BEA LiquidVMが高い性能とメモリ使用効率を実現できるわけ

山下竜大
2008-06-04 10:00:00
  • このエントリーをはてなブックマークに追加

 ベースとなるBare Metalオペレーティングシステムは、LinuxやWindowsなどのOS機能のサブセット的な機能を提供。メモリ管理やスレッド管理、TCP/IPネットワーク、ファイルシステム、ハイパーバイザ連携など、仮想化に必要な最小限のOS機能が搭載されている。

 フル機能のオペレーティングシステムと比較して、Bare Metalオペレーティングシステムには、単一のJVMプロセスしか稼働できなかったり、また、ページングのサポートやデバイスドライバがない、JNIがサポートされていないなどの相違がある。

 とはいえ、本来Bere Metalオペレーティングシステムは、単一JVMプロセスを動作させるため、極限までフットプリントを小さくしたOSのサブセットであり、JVMとハイパーバイザという二つの仮想化レイヤの橋渡しに徹するように設計されている。

 アプリケーションサーバを構成する一般的なシステム構成として、1物理サーバに1 アプリケーションサーバインスタンスという方式がよく利用されることから、ページングによるOS仮想メモリ機能は冗長だと考えられたためだ。デバイスドライバについては、ハイパーバイザが提供する機能を流用することで解決される。

通常のJVMとの違いで、実用上最もインパクトがあるのは、JNIサポートのないことだろう。JDBC type2ドライバなどネイティブコードに依存するJ2EEコンポーネントは利用できないため、type4ドライバを使うなどの工夫が必要になる。

 さらにLiquidVM 1.0では、ローカルストレージにアクセスすることができずNFSを使用しなければならなかった。しかし最新バージョンであるLiquidVM 1.1では、この制約が撤廃されている。

 ハイパーバイザ上での動作を前提とすることで、BEA LiquidVMは、一般的なオペレーティングシステムに比べて高い性能とメモリ利用効率を実現している。概要については、「仮想化Java環境のスループットを2倍に--BEA LiquidVMの適応型メモリ管理」も参照してほしい。

 LiquidVMを構成するその他コンポーネントの中で、LiquidVMサービスは、SSHサービスの実装やSyslog出力、ヒープのリサイズなどの機能を提供するもので、すべてJavaで実装されている。さらに、LiquidVMツールは、LiquidVMの生成や起動、停止などの操作を行うためのツールで、WindowsやLinux、UNIX上で動作する。

 LiquidVMでは、Bare Metalオペレーティングシステム、LiquidVMサービス、LiquidVMツールで構成されるJavaアプリケーションサーバ仮想化インフラの上で、Linux版のBEA JRockit JVMがJavaアプリケーションに最適な稼働環境を提供する。

 LiquidVM 1.0ではJRockit 26.4(JDK 5、32ビット)が、LiquidVM 1.1ではJRockit 27.3(JDK 5、32ビット)がサポートされている。BEA JRockit JVMの詳細は、BEAのウェブサイト(http://www.beasys.co.jp/products/weblogic/jrockit/)で紹介されているのでそちらを参照してほしい。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]