IBMの新メインフレーム、商用初のトランザクショナルメモリ搭載でJavaを超高速実行。JavaOne 2012
IBMのメインフレームにはJavaを高速に実行する仕組みが組み込まれている。JavaOne基調講演に続いて行われたIBMの講演では、そんな興味深い技術が紹介されました。
このメインフレームは8月末に発表されたばかりの新型で、1筐体で最大10万もの仮想サーバを実行可能という怪物のような性能のマシン。これひとつでその辺のデータセンター並の性能を持つといっても過言ではなさそうです。
しかも、商用マシンとしては初のハードウェアによるトランザクションメモリを搭載。ランタイム・インストゥルメンテーションなど多くの機能によってJava実行の高速化を実現したとのこと。業務用アプリケーションを実行するメインフレームにとって、Java性能が重要であることを示しているようです。
IBMの講演の一部を紹介しましょう。
4年前から取り組む
IBM Distinguished Engineer、Java CTOのJohn Duimovich氏。
System z。こいつはメインフレームだぜ、すごいぜフォー!(注:本当にフォーって言った)
これは本当にクールはハードウェアで、私はハードウェアチームとJavaVMチームを持っているが、この2つのチームを合わせてハードウェアの機能のロードマップに4年前から取り組んでいた。
その中の2つの新しいクールな新機能を紹介しよう。
トランザクショナルメモリでロックフリー
1つは「ハードウェアトランザクショナルメモリ」。これはメモリレベルでオプティミスティックなコンカレンシーを実現する。(データをメモリに)ライト、ライト、ライト、そしてコミットできる。もしもいずれかが上書きされれば(Overdose)それを検知し、リカバリーする。
ロックを取り除いたことで、スケーラビリティが2倍になる。Javaを同時実行したときに高速に実行できるようになる。
JITによる最適化をアグレッシブに
もう1つは、JIT性能の鍵を握るものだ。JITの働きはご存じのように、コードをオンザフライで生成したり、命令を追加したりする。もしそれがうまくいっていなければ、再最適化を行いコードを置き換える。
この新機能では、超高速かつライトウェイトでこの実行形式化(Rutime Instrumentation)を行っていく。つまり、JIT上のJREはよりアグレッシブに最適化されていく。これはまさにJavaのためにある機能である。Cではこうしたことは起きないからだ。
System zは、コストをかけずにJavaを圧倒的に高速に実行できるのだ。
JavaOne 2012
- [速報]JavaOne 2012開幕。Java SE/JavaFX/Java EE/Java MEなどの最新ロードマップ公開
- JavaでJavaScriptを実装するNashorn、OpenJDKで公開。JavaOne 2012基調講演(前編)
- Java EE 7でWebSockets対応、JPAでNoSQLの標準化にも取り組む。JavaOne 2012基調講演(後編)
Oracle OpenWorld 2012
- [速報]オラクル、世界初のマルチテナントデータベースOracle 12c発表、IaaS型クラウド参入も。Oracle OpenWorld 2012
- オラクルのクラウド戦略が見えてきた。SaaS/PaaS/IaaSの全レイヤを、パブリックとオンプレミスの両方で提供。Oracle OpenWorld 2012
- オラクル、データベースもクラウド対応強化「Oracle Database 12c」発表。Oracle OpenWorld 2012
- オラクル、フラッシュメモリを使ったデータベース・インメモリ・マシン「Exadata X3」発表。Oracle OpenWorld 2012
- オラクルの次期「Oracle Database 12c」、新機能プラガブルデータベースの利点とは?