graaの - oracle...度、graalコード・ベースへの変更がそのリスト...

3
ORACLE.COM/JAVAMAGAZINE / SEPTEMBER/OCTOBER 2012 75 blog JAVA TECH COMMUNITY JAVA IN ACTION ABOUT US O racle Labsが運営 するGraalプロジェク トは、Java仮想マシ ン( J V M )のコンパイル 時 間 やメモリ使用率を損なうこと なく、卓越したコード品質を生 み出す、Javaの動的コンパイ ラの実装を目指しています。 結 果として 、アプリケ ー ション と仮 想 マシン( V M )間 のシー ムレスな統合が可能になりま す。このプロジェクトを率いる のは、Oracle Labsの技術 ス タッフ の シ ニ ア・メン バ ー 、 Thomas Wuerthingerで す。Wuerthingerは、2011 年 に オ ー ストリア 、リン ツ の ヨハネス・ケプラー大学でコ ン ピュー タ・サ イ エ ン ス の 博 士 号 を 取 得 し まし た 。以 前 は、 IdealGraphVisualizer、 Crankshaft/V8最適化コ ンパイラ、Dynamic Code Evolution VMの開発に取り 組んでいました。Graalの開発 状況について話を聞きました。 Graal Project Java Magazine: Graalプロ ジェクトが実現しようとしている PHOTOGRAPHY BY BOB ADLER GRAAの 将来 Oracle LabsのDr. Thomas Wuerthinger 、Graal プロジェクトの目標について 語る BY JANICE J. HEISS

Upload: others

Post on 02-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • ORACLE.COM/JAVAMAGAZINE / SEPTEMBER/OCTOBER 2012

    75

    blog

    JAVA TECH

    COMMUNITY

    JAVA IN ACTION

    ABOUT US

    Orac le Labsが運営するGraalプロジェクトは、Java仮想マシン(JVM)のコンパイル時間やメモリ使用率を損なうことなく、卓越したコード品質を生み出す、Javaの動的コンパイラの実装を目指しています。結果として、アプリケーションと仮想マシン(VM)間のシームレスな統合が可能になります。このプロジェクトを率いるのは、Oracle Labsの技術スタッフのシニア・メンバー、Thomas Wuerthingerです。Wuerthingerは、2011年にオーストリア、リンツのヨハネス・ケプラー大学でコンピュータ・サイエンスの博士号を取得しました。以前は、IdealGraphVisualizer、Crankshaft/V8最適化コンパイラ、Dynamic Code Evolution VMの開発に取り組んでいました。Graalの開発状況について話を聞きました。 Graal Project Java Magazine: Graalプロジェクトが実現しようとしている

    PHOTOGRAPHY BY BOB ADLER

    GRAAの将来Oracle LabsのDr. Thomas Wuerthinger、Graal プロジェクトの目標について 語る BY JANICE J. HEISS

    http://oracle.com/javamagazinehttp://blogs.oracle.com/javahttp://www.twitter.com/javahttps://www.facebook.com/ilovejavahttp://www.oracle.com/technetwork/java/index.htmlhttp://java.netmailto:JAVAMAG_US%40ORACLE.COM?subject=http://labs.oracle.com/http://labs.oracle.com/http://openjdk.java.net/projects/graal/http://openjdk.java.net/projects/graal/

  • ORACLE.COM/JAVAMAGAZINE / SEPTEMBER/OCTOBER 2012

    76

    blog

    JAVA TECH

    COMMUNITY

    JAVA IN ACTION

    ABOUT US

    ものは何ですか。Wuerthinger: 簡単に言うと、このプロジェクトは、“独自のJを利用するJVMの探求”です。私たちは、主要なコンポーネントがJavaで記述されているVMを作成したいと考えています。そうすることで、それらのコンポーネントはJavaの安全な実行モデルおよ

    びツーリングから恩恵を受けられるのです。また、Graal VMのモジュール設計により、拡張性と保守性の向上を目指しています。Java Magazine: 目標達成まで、どのくらいのところに来ていますか。Wuerthinger: これまでは、プロジェクトの重点はGraal VMのインタフェースの開発にありました。拡張が簡単になるからです。これによって、VMを試しやすくなり、 私たちのビジョンにも貢献することにな

    ります。さらに、HotSpot VMのクライアントとサーバー構成間にあるピーク・パフォーマンスを提供するJavaの動的コンパイラのプロトタイプを開発しました。Jikes RVM(Research Virtual Machine)やMaxine VMのように、私たちのシステムは、Java言語を使用したシステム・ソフトウェアの記述が可能であることを示しています。Java Magazine: Graalコンパイラによって、現状では不可能な方法でJavaライブラリの機能を拡張できるため、さらに多くの新しい言語を効率的に実装できるという議論があります。これについて、詳しくお聞かせください。たとえば、どのような新言語が実装されるのでしょうか。

    Wuerthinger: 複数の言語をサポートすることが、Graalのおもな目標です。あらゆる言語に、Javaプラットフォームの機能を提供したいのです。特に、私たちは、言語の実装者がコンパイラやVMの詳細を心配することなく、対象言語のセマンティクスの実装に集中できるような複数言語フレームワークを開発しました。言語のセマンティクスは、その言語向けのAST(抽象構文ツリー)インタプリタを実装するJavaプログラムによって指定されます。私たちは、そのフレームワークに実装された言語に対し、Graalコンパイラで高パフォーマンスを実現できるようにする技術を開発しました。APIを成形するため、いくつかの言語向けのプロトタイプを開発し、言語の実装者を招いてこのフレームワークを試してもらっています。

    Java Magazine: なぜ一般的なJava開発者は、数年先を見越してGraalを気にかける必要があるのでしょうか。今できないことの中で、何ができるようになるのでしょうか。Wuerthinger: Graalプロジェクトは、ほかの多くのOpenJDKプロジェクトに比べて、経験に基づく部分が大きいのです。そのため、私たちがしていることが最終的に製品として出荷されると約束することはできません。それでも、私たちはGraalプロジェクトには積極的に貢献し、今後数年間にわたってJavaエコシステムに活力をもたらすと信じています。特に私たちが期待するのは、GraalによってJVM内のJava言語の利用方法についてより詳しく知ることができるということです。これによって、Java自体のパフォーマンスが向上し、追加の言語のサポートもより良いものに

    オラクル本社でのミーティングの合間に電子メールをチェックするDr. Thomas Wuerthinger

    すべてをサポート“「複数の言語をサポートすることが、Graal のおもな目標です。あらゆる言語に、Javaプラットフォームの機能を提供したいのです」

    http://oracle.com/javamagazinehttp://blogs.oracle.com/javahttp://www.twitter.com/javahttps://www.facebook.com/ilovejavahttp://www.oracle.com/technetwork/java/index.htmlhttp://java.netmailto:JAVAMAG_US%40ORACLE.COM?subject=http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.htmlhttp://jikesrvm.org/https://wikis.oracle.com/display/MaxineVM/Homehttps://wikis.oracle.com/display/MaxineVM/Home

  • ORACLE.COM/JAVAMAGAZINE / SEPTEMBER/OCTOBER 2012

    77

    blog

    JAVA TECH

    COMMUNITY

    JAVA IN ACTION

    ABOUT US

    なります。また、Graalの柔軟性により、クラウド・イン

    フラストラクチャ、異機種コンピューティング環境、組込みデバイスなどのさまざまなドメインにおけるアプリケーションの実現が可能になります。私たちはJavaの「Write once, run everywhere. (1回書けば、どこでも実行)」というスローガンを守り続けたいと考えています。Java Magazine: Graalに興味がある開発者は何をすべきですか。Wuerthinger: Graalの開発に参加するためのハードルは、できる限り低くしたいと考えています。そのため、プロジェクトのトップ・ページに、Graalの構築方法と実行方法に関する説明を少し載せました。また、開発者の皆さんには、私たちのOpenJDKメーリング・リストに参加するよう呼びかけています。週に一度、Graalコード・ベースへの変更がそのリストに配信されます。Java Magazine: Graalプロジェクトでは、目標の1つとして、VM内でのJavaの利用を挙げています。JVMの一部をJavaで記述することに関連する特有のメリットや課題は何ですか。Wuerthinger: おもな利点は、コンパイラを管理された環境で実行することによる堅牢性の向上です。これは、たとえばコンパイラにエラーがあった場合、VMプロセスがクラッシュするのではなく、ヌルポインタ例外が生じることを意味します。また、Javaリフレクションおよびアノテーションも使用できます。コンパイラとアプリケーションの間に言語の障壁がないため、Javaアプリケーションによって簡単にコンパイラに影響を与えて拡張することができます。 2つの分野に課題があります。コンパイラはメモリ効率の良い状態にし、ガベージ・コレクションのパフォーマンスを低下

    させないようにする必要があります。また、起動を迅速にするため、コンパイラを事前コンパイルしておく必要があります。Java Magazine: Graalへの取組みは、何が魅力ですか。Wuerthinger: 私は、Javaでのプログラミングのあらゆるツールや利点を維持しながら、システム・ソフトウェアで作業するという点を気に入っています。また、JVM上で自由闊達な経験ができることを楽しんでいます。経験に基づくというプロジェクトの性質のため、私たちはすぐに現実的な障害に阻まれることなく、新しい方法を試すことができます。さらに、経験のある開発者や、修士課程や博士課程の好奇心旺盛な学生たちが入り混じったGraalチームで働くことに魅力を感じています。

    Janice J. Heiss: オラクルの Java 編集者であり、Java Magazine のテクノロジー編集者

    Wuerthinger(右から3番目)と、 オーストリア、リンツのヨハネス・ ケプラー大学でGraalプロジェクトに貢献している博士課程の学生たち

    写真提供:ヨハネス・ケプラー大学

    http://oracle.com/javamagazinehttp://blogs.oracle.com/javahttp://www.twitter.com/javahttps://www.facebook.com/ilovejavahttp://www.oracle.com/technetwork/java/index.htmlhttp://java.netmailto:JAVAMAG_US%40ORACLE.COM?subject=mailto:graal-dev%40openjdk.java.net?subject=mailto:graal-dev%40openjdk.java.net?subject=