BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Azul Systemsの第4世代製品、Zingは、純粋のソフトウェア ソリューション

Azul Systemsの第4世代製品、Zingは、純粋のソフトウェア ソリューション

原文(投稿日:2010/06/22)へのリンク

Azul Systems は、Managed Runtime Initiativeの一部として、彼らのソフトウェア技術スタックの重要部分をオープンソース化する、というアナウンスに続いて、彼らの今度の4世代目の製品Zing、Javaの仮想化システムを アナウンスした。Zingは、x86プラットフォームに最適化された Azul Systemsの全技術スタックの内、ソフトウェアのみからできており、AzulのVegaベースのソリューションと同じ能力を持つ。 Zingは、Managed Runtime Initiativeの一部としてオープンソース化されたいくつかのコンポーネントを共有している。

Zingは、仮想化を現行のオペレーティング・システムの限界をバイパスする手段として使っている。これは、 Managed Runtime Initiativeがとるアプローチとは、対照的である。後者は、オペレーティング・システムを含んで、全システム スタック横断の強化されたインターフェースを提供することを目指している;開発には数年かかりそうである。 Managed Runtime Initiativeは、間違いなくパフォーマンスとスケーラビリティの点で優位性がある。しかし、Zingは、今すぐ出荷可能で、オペレーティング・システムのベンダが追いつくのを待つ必要がない。

Zingプラットフォームは、4つの主コンポーネントから成る:

  1. The Zing Virtual Machine (Zing 仮想マシン)
  2. Zing Virtual Appliances(Zing 仮想アプライアンス)
  3. The Zing Resource Controller(Zing リソースコントローラ)
  4. Zing Vision(Zing ビジョン)

製品の中核の技術は、Azul が言うところのJVM自身の仮想化であり、これは、Vegaプラットフォームで約5年間やってきたことである。Azulは、広範囲なオペレーティング・システムに対してJDKを提供しており、その中には、 Linux, zLinux, AIX, Solaris, HP-UX,そしてWindowsを含む。 Azul Systemsの技術副社長であり、CTOの Gil Tene氏がInfoQに語った

我々のJDKを実行すると、実際に実行されているのは、薄い仮想化プロキシで、実際のソリューションをオペレーティング・システムが提供する実際のJavaスタックからもっと優れた実行スタックに転送します。Vegaの場合、このより優れた実行スタックは、我々の開発したものです。Zingの場合は、x86の上でVirtual Applianceとして走る、仮想の実行スタックです。

仮想実行スタック - Zing Virtual Appliances - は、 RedHatの KVM あるいは VMWareの vSphere Hypervisor 製品で走ることができる。 Azulによると、 Zingのランタイムは、広範囲で、非常にスムーズに規模を拡大でき、 制限となるのは、Virtual Appliancesを囲むHypervisor だけである。なので、例えば、 VMWareのvSphereでは、この記事を書いている時点では、その技術的な制限は、Virtual Applianceのインスタンス(よってJVM)当たり、 8ヶの x86 コアと 256GBメモリである。KVMでは、これらの数値が倍になり、各値は- 16ヶの x86 コア と 0.5TBメモリである。これら両方の数値は、今年の終り頃に、Zingが 一般向けに提供できるまでには、改善するようである。

製品の中心と成るのは、2つの管理コンポーネントである- Zing Resource Controller と Zing Vision。 Zing Resource Controllerは、システムの管理ツールで、Javaアプリケーション インフラ全体のハイレベルなビューを提供するように設計されている。 Zing Visionは、動作中のJavaアプリケーションをオーバーヘッド無しに可視化することができる。稼働中に問題が起こると、Zing Vision は、窮しているアプリケーションから本当の情報を得る手段を提供する。この時、問題そのものに悪影響を与えることはない。この機能は、約2年間、Vegaによって提供されている。元々は、 Azul技術スタックの将来の開発に役立てるために、動作中のシステムの統計データを収集するツールとして作られた。Tene氏の説明によると、 Zing Visionの動作の要は、JRE内おける処理によって集められる統計的な情報を使っていることである。例えば、JITコンパイラは、いかに正しくコードを最適化し、何をインライン化するかを知り、そしてブランチがどちらにいくかを推論するために、動作中のプログラムについてティックカウンタやホットスポットなどの情報を集める。同様に、ガーベッジ・コレクタは、毎サイクル、メモリ中の全てのオブジェクトを調べる;GCは、クラス インスタンスのカウント値、どのクラスが他のどのクラスを指しているか、そして一般には、一旦GCサイクルが終了すると捨てられてしまう他の多くの情報を取得する。このような情報を集めることで、Zing Visionは、余分なパフォーマンス上のオーバーヘッド無しに、リアルタイムなプロファイリングを実現している(バイトコード インストラメンテーション(バイトコードに計測用の仕掛けを埋め込むこと)のような他の技術が使われていればオーバーヘッドは、発生する)。これは、製品のシステムでも使えることを意味する。

Zingのアナウンスは、 Azul Systemsが提供するものがハードウェアからソフトウェアに方向転換することを告げている。一般的なハードウェア供給会社がAzulが現在提供しているものに追いついてきたからである。 Tene 氏は、5年以内には、Azulは、専用ハードウェアを売るのをやめると思う、と言った。

妙に聞こえるかもしれませんが、我々がいつも検討していて言えるのは、AzulでやっていることをJavaランタイムのソリューションを提供することで、そのためには何でも作るということです。最初の3世代の製品では、我々は、そうするためにチップを開発しました。我々は、毎回これらのチップを検討し、設計しました。そして自問しました、「我々のソリューションを更に強力にするものが他にないだろうか」と。最初の3世代については、答えは、「いや、無い。買うようなパーツもないし、これをその上に構築するようなシステムもない。我々は、自前でやらなければならない。」でした。Zingで第4世代の製品を設計する時になって、我々は、 Intel や AMDのロードマップを見ました。我々は、AMDの Nehalem-EX や 今の Magny-Coursのロードマップを見て非常に喜びました。我々は、既製のサーバー上で、我々が望む作業負荷を走らせることができるでしょう

Tene氏によると、現在、8コアの Xeon X7560のような Nehalem-EXシステムは、Azulが売っている全システムの約6,70%にあたる、 Azulの Vegaベースシステムの小さい方の2つ構成オプションに追いつける。彼は、2011年の終わりまでには、x86システムは、今のVegaが持っているのと同程度の能力を持つことになるだろう、と予想している。そのため、後2,3年の間は、相当数のVegaベースのシステムが出荷される見込みだが、Azulは、Vega4チップを作らないだろう。

この記事に星をつける

おすすめ度
スタイル

BT