Title
Habanero-Java: the new adventures of old X10
Abstract
In this paper, we present the Habanero-Java (HJ) language developed at Rice University as an extension to the original Java-based definition of the X10 language. HJ includes a powerful set of task-parallel programming constructs that can be added as simple extensions to standard Java programs to take advantage of today's multi-core and heterogeneous architectures. The language puts a particular emphasis on the usability and safety of parallel constructs. For example, no HJ program using async, finish, isolated, and phaser constructs can create a logical deadlock cycle. In addition, the future and data-driven task variants of the async construct facilitate a functional approach to parallel programming. Finally, any HJ program written with async, finish, and phaser constructs that is data-race free is guaranteed to also be deterministic. HJ also features two key enhancements that address well known limitations in the use of Java in scientific computing --- the inclusion of complex numbers as a primitive data type, and the inclusion of array-views that support multidimensional views of one-dimensional arrays. The HJ compiler generates standard Java class-files that can run on any JVM for Java 5 or higher. The HJ runtime is responsible for orchestrating the creation, execution, and termination of HJ tasks, and features both work-sharing and work-stealing schedulers. HJ is used at Rice University as an introductory parallel programming language for second-year undergraduate students. A wide variety of benchmarks have been ported to HJ, including a full application that was originally written in Fortran 90. HJ has a rich development and runtime environment that includes integration with DrJava, the addition of a data race detection tool, and service as a target platform for the Intel Concurrent Collections coordination language
Year
DOI
Venue
2011
10.1145/2093157.2093165
PPPJ
Keywords
Field
DocType
x10 language,new adventure,rice university,hj runtime,old x10,standard java program,standard java class-files,hj compiler,introductory parallel programming language,hj task,phaser construct,hj program,parallel programming language,parallel programming,data type,scientific computing,language
Programming language,Computer science,Deadlock,Real time Java,Fortran,Compiler,Parallel programming model,Porting,Java,Primitive data type
Conference
Citations 
PageRank 
References 
109
3.54
24
Authors
4
Search Limit
100109
Name
Order
Citations
PageRank
Vincent Cavé126013.00
Jisheng Zhao248024.34
Jun Shirako343334.56
Vivek Sarkar44318409.41