BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Azul,無停止ガベージコレクタをLinuxネイティブ化

Azul,無停止ガベージコレクタをLinuxネイティブ化

ブックマーク

原文(投稿日:2011/11/08)へのリンク

Azul Systems は今日,Zing 5.0 を発表した。ハイパーバイザに関するこれまでの動作条件を取り除くことにより,無修正の 64bit Linux 上で pauseless JVM が初めて動作する。

Zing 5.0 は2つのソフトウェアパッケージで提供される。Zing System Tools は Linux のインストール RPM で,メモリ管理機能など Zing JVM の動作に必要なものが含まれている。もうひとつのパッケージは JVM 自体で,HotSpot と同じに見えるように設計されている。RPM あるいは tarball として同じ方法でインストールが可能,ディレクトリ構造が同じ,といった具合だ。

Azul Systems の CTO である Gil Tene 氏は私たちとの会話の中で,新パッケージによってこれまで容易にリーチできなかったユーザにもリーチできるようになる,と説明している。

その一端はハイエンドな,低レイテンシ処理を要する人たちです。彼らは 50-100 マイクロ秒のレスポンスタイムを求めます。可能ならばガベージコレクションの影響を取り除きたい,そんな処理に 200 マイクロ秒も余分に費やす訳にはいかないのです。彼らは Zing 4.0 に大いに興味を持ってくれたユーザなのですが,プロキシを持ち,そのために余分なホップが必要な仮想化機構では,人が操作するレベルのレスポンス時間ならば影響が見えなくても,彼らにとっては通信レイテンシが3倍に増えることになるため採用できなかったのです。Zing 5.0 はプロキシ機構なしに直接接続されるため,そのようなオーバーヘッドはまったくありません。

しかし,もしも 3GB のヒープを持ちながら,ガベージコレクションの停止時間に悩んでいるとしたらどうでしょうか。その解決のために仮想インフラストラクチャ変更を要求する,という訳にも行きません。ZingLX は Linux 版 VM の改良版という位置付けなので,このような人たちにも選択肢となり得るのです。

GC 停止回避の件とは別に,Zing GC コレクタ – 詳しい説明はこちら – は変更や分断化率,さらにはヒープサイズやソフト参照(soft reference),ライブセットサイズといった要因に影響されないことで,広い動作範囲において堅牢さを保つように設計されている。このため通常はごく一部か,あるいはまったくチューニングの必要なく使用可能である。動作範囲の広さはまた,この製品を SAAS (Software-as-a-Service) 企業に適したものにもしている。レスポンス条件が同じであれば,HotSpot VM よりも多くのテナントを1台のサーバでサポートすることが可能なのだ。製品の採用企業として,Azul は ApptioSucceccFactors をあげている。Apptio のアプリケーションは,Azul のアルゴリズムの持つ動作範囲の広さがメリットを生み出している好例だ。Azul の紹介によると,同社は 1G から 100GB 程度にまで及ぶ,広範囲のユーザのデータセットを取り扱っている。プレスリリース によると,

"私たちのユーザは先進的でグローバルな企業組織です。彼らは Apptio の SaaS テクノロジビジネスマネジメントサービスを,大規模な財務および運用データ処理を通じて意思決定を援助するツールとして信頼しています。" Apptio の技術担当副社長 Mark Jancola 氏はこのようにコメントしています。"Zing JVM の採用によってアプリケーションメモリがこれまでの5倍,有効に使用可能になりました。予測不可能なロード下においても,以前よりも安定したレスポンス時間を実現できています。"

以前より Azul ユーザであった SuccessFactors は,Zing 5.0 の導入によって Azul 独自の Vega ハードウェアから市販ハードウェアに移行することができた。

Zing 5.0 は現在,Red Had Linux 6 と CentOS 6 をサポートしている。同社によれば 12 月までに Red Hat 5 と Cent OS 5 をサポートを実施し,SUSE や Ubuntu,Amazon EC2 などのディストリビューションについても近日中に動作保証を行う予定である。32bit Linux または Solaris など他製品を使用しているユーザは,Zing 4.0 仮想化プロダクトを利用することができる。

ネイティブ動作が可能なことで,システム,特に JNI に関連する部分のオーバーヘッドが削減される。Zing 4.0 では,JNI コールがプロキシ機構の RPC コールとなるため,付加的なオーバーヘッドが発生していた。またディスク I/O を多用する処理,例えば,すべてのメッセージをディスクにジャーナルするメッセージシステムを使用する場合や,あるいはディスクへのインデックス作成を伴う Lucene 検索においても,同じような問題が発生する。

Zing 5.0 は 30 程度のユーザによってしばらくベータテストされていたが,本日より一般向けの提供が開始される。物理サーバ1台単位のライセンスは,Zing 4.0 と Zing 5.0 ともサポート対象である。サーバ単位の年間サブスクリプション価格は,IBM WebSphere Application Server の開発者ライセンスと同程度になっている。

この記事に星をつける

おすすめ度
スタイル

BT