BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース IBMがOpenJ9用のSemeru Runtimesを公開

IBMがOpenJ9用のSemeru Runtimesを公開

原文(投稿日:2021/10/13)へのリンク

IBMは、OpenJDKのクラスライブラリとEclipse OpenJ9 JVM(Java Virtual Machine)を併用するSemeru Runtimesを無償公開した。OpenJ9をベースとするこのランタイムは、HotSpotべースのランタイムの代わりに使用することができる。これまではAdoptOpenJDKがOpenJ9のバイナリを提供していたが、Adoptiumという新名称でEclipse Foundationに移行したことにより、今後は法的に許可されないものになる。

IBMは、Java 8、11、16ベースのSemeru Runtimesを、Linux、Windows、macOS、AIXなど、さまざまなアーキテクチャ向けに提供する。Dockerイメージも間もなく提供される予定だ。GPLv2+Classpath拡張ライセンスによるオープンソースのOpen Editionと、IBMライセンスのCertified Edtionという、2つのフレーバーが用意される。いずれのバージョンもEclipse AOAvitテストスイートをパスしている他、Cerfified EditionはTCK認証も受けている。このCerfified Editionは、これまでのIBM SDK Java Technology Edition Version 11の後継となるものだ。用途に制約はなく、開発から実運用まで、すべてにおいて使用可能である。IBMでは、同社のRuntime for Businessを通じて、有償サポートをオプションで提供する。

Eclipse OpenJ9プロジェクトは"performance overview"を作成して、OpenJ9とOpenJDK 11のHotspot仮想マシンを比較している。共有クラスとAOT(ahead-of-time)コンパイルにより、OpenJ9は約2倍の速度で起動する。起動後およびロード中は、Hotspotに比較してフットプリントが数十パーセント少なくなっている。ピークスループットに達するのはOpenJ9の方が早いが、長期的にはHotspotの方がより高いスループットを保持する。Quarkusで使用した場合も、OpenJ9は同様なメリットを示している。

OpenJ9の最新バージョンでは、コンテナ内での動作が改善されている。そのひとつである-XX:+CkassRelationshipVerifierコマンドラインオプションは、クラス依存関係の評価を遅延することによって、ロードされないクラスの評価を不要にするものだ。これによって起動時間が改善される。Javaクラス、AOTコンパイルされたコードなどの共有には、SCC(Shared Class Cache)を使用する。このキャッシュはJVM停止後も永続化されることで、起動時のパフォーマンス継続を保証する。次回起動時にはディスクではなく、メモリから情報がロードされる。OpenJ9によるテストでは、これらの改善の結果として、OpenJ9はHotSpotよりも起動時間が45パーセント早いことが示されている。

JavaOne 2016で、IBMのJava CTOであるJohn Duimovich氏は、同社の所有するJ9 Java Virtual MachineをEclipse Foundationにオープンソースとして寄贈すると発表した。同社はそれ以来、OpenJ9の開発を続けており、WebSphere LibertyWebSpere Application ServerでもSemeru Runtimesを使用する予定である。

詳細な情報は"getting started"ガイドで確認することができる。

この記事に星をつける

おすすめ度
スタイル

BT