web-dev-qa-db-ja.com

アズール「ジン」とは?

Azul「Zing」プラットフォームとは何ですか?
Azulサイト( link )にアクセスすると、マーケティングの恐怖に変わりました。少しずつ調べてみても、まだ手がかりがありません。

誰かがそれを使った経験がありますか?アプリケーションを「Zing」するための要件は何ですか? (Zing可能?)たとえば、オブジェクトグラフをメモリにロードし、その巨大なチャンクを絶えずトラバースするアプリケーションがある場合(そのため、ほとんどが「ウォーム」であり、低速のデータストアにパーツを格納できません) -アズールは私を助けることができますか? (私はすでにTerracotta BigMemoryができないことを知っています...)

明確にしておきたいのですが、実際に製品を「熱狂」させてAzul VMに成功した(または機能しないことを確認した)人からのフィードバックを探しています。

ラン。

[編集1-ページリンクを追加] [編集2-経験が必要]

31
Ran Biron

Azulの内容を覚えておいてください以前行うこと:カスタマイズされたマルチコアを作成するJavaアプライアンス。Azulマシンには60または100コアがある可能性があり、並列化(私が感銘を受けたのは楽観的ロックでした:ロックを取得するはずだったスレッドは、ロックがあると想定して前進しましたが、後でそれが判明した場合は、いいえ、ブロックされているはずでした、どういうわけかすべての変更を解き、戻って待機しました)。

もちろん、問題はカスタムハードウェアが墓地であるということです。アズールはこの間ずっと、誰も買わないハードウェア用のソフトウェアを作っていました。そのため、企業として、彼らは独自の製品を模倣しました。彼らはバックアップし、変更を解き、カスタムハードウェアからコモディティマルチコアマシンにすべての巧妙さ(楽観的ロック、ハイパーバイザー、その他のもの)を移植したので、80ドルに100,000ドルを支払う代わりに-コアマシン。クラウド内の8コアマシン10台に20,000ドルを費やすことができます*。

[*すべての数字は私の解剖学的構造から外科的に抽出されました。 ]

それは良い考えですか?それは機能しますか?わかりませんが、そう願っています。私は2003年のJavaOneですべてのAzulの人たちに会い、彼らは本当に感銘を受けました。

31
Malvolio

以前はガベージコレクションの研究論文を楽しく読んでいました(質問してくれてありがとう、今はずっと気分が良くなりました)。それらに共通するスレッドは、「書き込みバリアのハードウェアサポートがあれば、これらのアルゴリズムはより高速で実行可能になる」というものでした。

GCには読み取り/書き込みロックの問題があります。インベントリを取得しようとしているときにアプリがポインタを動かし続けると、ゴミが何であるかを理解できません。人々が何度も試みてきたトリックの1つは、変更を追跡するためにポインターの書き込み方法を変更することです。簿記をしなければ書くことができないので、これは書き込みバリアと呼ばれます。これにより、アプリとGCを同時に実行できますが、多くの場合、アプリの実行が遅すぎることが判明しました。

Intelは、仮想化をスムーズに機能させるために、同様の書き込みバリアの問題を解決する必要がありました-すでに仮想メモリを実行しているOS内で仮想メモリを実行しているアプリを実行するにはどうすればよいですか?伝えられるところによると、Zingはこれらの機能を使用してJVMを文字通りの仮想マシンにし、これらの機能を活用してGCを高速化します。 GCが高速であるほど、管理できるヒープは大きくなります。

24
Jason

現在、大きな256GB RAMマシンでZingを実行しています。これは現時点では非常に新しいものであり、状況はさらに良くなると確信しています。

現在、私たちのシステムは以前よりもはるかに低速です。しかし、これは非常に初期の段階であり、Zingのサポートはすでに優れていることがすでに証明されていることがわかります。 ZVisionの使用は、すでに私たちの減速の手がかりを与えています。

すでに追加のRAMを利用できますが、16を超えるコアを利用できるようにLinuxカーネルを更新する必要があります。

Redhat Enterpriseを実行したときに、同じ初期速度が得られました。これで、Ubuntuサーバー10.04でKVMを実行しています。これまでのところ、違いは見られません(これは大幅なコスト削減です)。

来週より多くの経験を積むにつれて、私は私たちの調査結果を伝えます。

18
Adam Crow

一言で言えば、これは非常にパフォーマンスの高い「特別な」JVMです。つまりSun JVMを使用する代わりに、Zingを使用します。コードを変更せずに。したがって、理論的には、すべてのアプリケーションは「熱狂的」です。ただし、パフォーマンスの向上という主張が正しいかどうかはわかりません。

13
Bozho