Java仮想機械向けX10の設計と実装

Bibliographic Information

Other Title
  • Design and Implementation of X10 for the Java Virtual Machine

Search this article

Abstract

X10はIBMが中心になって開発している並列分散プログラミング言語である.X10のコンパイラはC++とJavaを中間言語とする2つのバックエンドを持ち,それらはNative X10とManaged X10と呼ばれている.Native X10はCUDAをサポートする一部のGPGPU上での実行もサポートし,安価に高性能な計算を行える.Managed X10はEclipseベースの統合開発環境X10DTによる対話型プログラミングが可能で,プログラム開発の生産性が高い.またJavaコードとの相互連携が容易で,既存の豊富なJavaライブラリを利用したプログラム開発や,Javaベースのシステムへの組込みが可能である.これら2つの実装のおかげで,X10ではハイエンドのスーパーコンピュータからローエンドのラップトップコンピュータまで,あらゆる規模のコンピュータで動作する単一のプログラムを実現できる.この利点を生かして,X10では高性能計算プログラムの開発も,前半はManaged X10で生産性を重視し,後半からNative X10で実環境での性能をチューニングするのが一般的である.しかしながら処理系実装の観点からは,X10と2つの中間言語の言語仕様の違いが生成されるコードを複雑にし,性能や言語間の相互運用性に影響を与えることも否定できない.それらを避けるためには,処理系の実装に工夫を凝らすとともに,X10の言語仕様を中間言語のそれからあまりかけ離れない現実的なものにする努力も必要である.本発表では,C++とJavaの2つのバックエンドを持つことを特徴とする新言語X10をJavaにコンパイルする際の課題とその解決方法を,処理系実装上の工夫と言語仕様の歩み寄りの両側面から議論する.

X10 is the parallel and distributed programming language which has been developed at IBM. It has the C++ and the Java based backends and they are called the Native and the Managed X10. The Native X10 is suitable for high performance computing at a reasonable cost by offloading its execution onto the CUDA capable GPGPUs. The Managed X10 is suitable for high productivity programming with the Eclipse-based integrated programming environment called X10DT. With these two implementations, it is a common practice for the X10 programmers to use the Managed X10 for the high productivity in the early stage of development, and use the Native X10 for the performance tuning on the production environment in the final phase. However, from the view point of compiler implementation, it is undeniable that the gap in the semantics of the X10 and two intermediate languages has an impact to the performance and the cross-language interoperability. In this presentation, we will discuss the design and implementation of X10 for the Java virtual machine, focused on the optimization we have implemented in the Managed X10 and the compromise in the specification of the X10 language.

Journal

Keywords

Details 詳細情報について

Report a problem

Back to top