オラクル、OpenJDKに静的なネイティブイメージの生成機能を組み込む方針を明らかに。GraalVMのOpenJDKへのコントリビュートで

今回は「オラクル、OpenJDKに静的なネイティブイメージの生成機能を組み込む方針を明らかに。GraalVMのOpenJDKへのコントリビュートで」についてご紹介します。

関連ワード (大幅、完全、応用等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


オラクルは先月(2022年10月)に米ラスベガスで開催したJavaOne 2022で、GraalVM CEのJava関連コードをOpenJDKコミュニティに寄贈すると発表しました。

Excited about @GraalVM JIT and Native Image becoming part of OpenJDK!#JavaOne pic.twitter.com/al1nHTl2RW

— GraalVM (@graalvm) October 18, 2022

参考:[速報]オラクル、OpenJDKコミュニティにGraalVM CEのJava関連コードを寄贈すると発表。JavaOne 2022

このとき、GraalVMのJavaのJITとネイティブイメージの機能がOpenJDKに寄贈されると説明されましたが、より詳細な説明が10月25日付けのGraalVMのブログに投稿された「Oracle Contributing GraalVM Community Edition Java Code to OpenJDK」で行われています。

fig

この中で、将来のOpenJDKでは静的なネイティブイメージの生成機能を備えるようにする、という方針を明らかにしています。

GraalVMのJava JITコンパイラとネイティブイメージ関連を寄贈

GraalVMは10年前、Oracle Labsの研究プロジェクトとして始まったもので、OpenJDKにはない2つの大きな特徴を実現しました。

1つ目は、JavaだけでなくPythonやRuby、R、JavaScriptなど複数のプログラミング言語のランタイムとなる「多言語対応」です。GraalVMだけでさまざまなプログラミング言語の実行が可能です。

そして2つ目が、実行時に動的にCPUのネイティブコードを生成することで実行速度を高速化するJIT(Just-in-Time)コンパイラだけでなく、実行前にコードをコンパイルすることで、高速に実行可能な静的ネイティブイメージを生成する機能を備えていることです。

そしてOpenJDKに寄贈されたのは、Javaに関するJITコンパイラとネイティブイメージの部分であることが改めて説明されました。下記は「Oracle Contributing GraalVM Community Edition Java Code to OpenJDK」からの引用です。

Oracle plans to contribute the most applicable portions of the GraalVM just-in-time (JIT) compiler and Native Image. Oracle does not currently intend to contribute the polyglot technologies supporting other languages such as Python, Ruby, R, and JavaScript. Additional details will follow in the coming months as we move forward through this process.

オラクルはGraalVMの最も応用できそうな部分としてネイティブイメージの寄贈を計画しています。Java以外のPythonやRuby、R、JavaScriptなどをサポートする多言語対応のテクノロジーは寄贈しないつもりです。今後、進捗し次第詳細を説明していきます。

静的なネイティブイメージの実現に進む

今回の寄贈でいちばん注目されたのが、GraalVMのネイティブイメージの機能がOpenJDKに寄贈されることで、OpenJDKがネイティブイメージ生成機能を持つことが期待される、ということでした。

果たしてオラクルは今回、OpenJDKがネイティブイメージの生成機能を備えることを目指すと、次のように明確に方針を表明しました。

Oracle plans to contribute the most applicable parts of the GraalVM Native Image implementation to the OpenJDK Community. Once contributed, the Native Image technology would continue to be developed within the scope of an OpenJDK Project, using the same processes and methods as other OpenJDK development.

オラクルはGraalVMの最も応用できそうな部分としてネイティブイメージの実装をOpenJDKコミュニティに寄贈することを計画しています。コントリビュート後は、OpenJDKの他の部分の開発と同じプロセスと方法を用いて、OpenJDKプロジェクトの範囲内でNative Image技術の開発が継続されます。

Oracle plans to evolve the Native Image technology in the OpenJDK Community to track the Project Leyden specification as it progresses to pave a path to fully-static images in a future release of the Java SE Platform specification.

オラクルはネイティブイメージのテクノロジーをProject Leydenの進捗に合わせてOpenJDKコミュニティにおいて進化させようとしており、将来のJava SEプラットフォーム仕様において、完全に静的なイメージの実現に進もうとしています。

Project Leydenは、Javaの起動時間やピーク性能に到達するまでの時間をできるだけ短くすることを目指すOpenJDK内のプロジェクトです。

Dockerコンテナを基盤としたクラウドネイティブの世界においては、ソフトウェアが瞬時に起動して高速に実行できる性能が重視されます。クラウドネイティブの時代にもJavaが有力なプログラミング言語とその実行系であるために、Project Leydenは重要な責任を負っているのです。

瞬時に起動し、高速に実行できる最も効果的なソフトウェアの形態は、コンパイル済みのネイティブイメージを用いることであることは明らかです。

それゆえ、Project LeydenがGraalVMからのコードの寄贈を受け、静的なネイティブイメージの生成を目指すことは自然なことでした。

そしてGraalVMのネイティブイメージのテクノロジーがOpenJDKに寄贈されることで、ネイティブイメージの生成機能を実現する時間は大幅に短縮されるはずです。

と同時に、すでに実績のあるGraalVMの実装が寄贈されることで初期バージョンからある程度は安定した動作が期待できそうです。

静的なネイティブイメージ機能がOpenJDKに搭載されれば、ほぼすべてのJavaディストリビューションにその機能が搭載され、ほぼすべてのJava開発者はネイティブイメージの生成をできるようになるはずです。

そうなると、Javaはクラウドネイティブにおいて有力なプログラミング言語と見なされるだけでなく、コンパイラ型の言語としてこれまであまりJavaでは書かれなかったような分野を含む幅広い用途に使われ始める可能性があるのではないでしょうか。

関連記事

GraalVMのテクノロジーを用いてJavaのネイティブイメージを生成することは、すでにQuarkusと呼ばれるフレームワークがRed Hatを中心に開発され、商用サポートも行われています。

  • Javaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリが起動、コンテナへの最適化を実現。Red Hatがリリース

COMMENTS


Recommended

TITLE
CATEGORY
DATE
SMBのテクノロジー投資–豪州で進む成長への舵切りと政府の支援
IT関連
2022-07-13 20:16
HPEの宇宙用エッジコンピューター「SBC-2」、ISSで24件の実験を完了
IT関連
2022-04-07 12:30
NRIセキュア、情報システムの運用監視–クラウド配信型セキュリティ基盤を活用
IT関連
2021-07-27 22:29
[速報]マイクロソフト「Windows 365 Cloud PC」正式発表。Windowsをクラウドサービスとして月額定額料金で提供、デスクトップ仮想化をベースに
Microsoft
2021-07-15 19:04
三菱商事、グループ経費精算システムを採用–営業費精算プロセスを効率化
IT関連
2024-02-09 21:07
インフラ構成ツールの「Pulumi 3.0」正式リリース。APIでPulumiを呼び出し可能、クラウドのアップデートに即時対応など
Pulumi
2021-04-22 21:45
’90年代アーケード筐体を再現した卓上ゲーム機、タイトーが発売 内蔵40タイトルに追加もできる
くらテク
2021-06-05 18:19
触れてはいけない場所を赤く染めて警告 Microsoftの新型コロナ感染予防システム :Innovative Tech
トップニュース
2021-02-03 12:44
GVA TECHの法人登記簿取得サービス「GVA 登記簿取得」、法務省提供の登記・供託オンライン申請システムと連携
IT関連
2022-03-24 13:18
NECと東工大、博士後期課程学生の研究活動を支援–キャリア面と経済面をサポート
IT関連
2023-01-13 09:26
SnapがARグラス「Spectacles」の新世代バージョンを発表
VR / AR / MR
2021-05-22 20:07
「ウイルスに勝てませんでした」 シャープ「プラズマクラスターシューティング」は予想外の弾幕ゲーム
くらテク
2021-08-03 18:34
NTT東西、固定電話のIP網移行で最新情報–「マイライン」などサービス終了、便乗商法に注意喚起
IT関連
2022-01-22 09:14
新技術で天然ガスから水素を生産するC-Zeroがビル・ゲイツ氏の気候テック基金から資金を調達
EnviroTech
2021-02-11 08:31