You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Instructors:

Shams Imam, Vivek Sarkar
Department of Computer Science
Rice University
Houston, TX, USA

 

Abstract:

Habanero-Java (HJ) is a new pedagogic library implementation being developed at

Rice University. 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 multicore and heterogeneous architectures. The

library 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.

 

The HJ library relies on Java 8 closures and can run on any Java 8 or higher

JVM. Older JVM versions can be supported by relying on external bytecode

transformations tools for compatibility. 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.

 

 

  • No labels