A Proposal for OpenMP for Java

Klemm M, Veldema R, Bezold M, Philippsen M (2008)


Publication Language: English

Publication Type: Conference contribution, Original article

Publication year: 2008

Publisher: Springer

City/Town: Berlin Heidelberg

Pages Range: 409-421

Conference Proceedings Title: OpenMP Shared Memory Parallel Programming, International Workshops IWOMP 2005 and IWOMP 2006

Event location: Reims, France FR

ISBN: 3-540-68554-5

URI: http://www2.informatik.uni-erlangen.de/publication/download/java-openmp.pdf

DOI: 10.1007/978-3-540-68555-5_33

Abstract

The current OpenMP 2.5 specification does not include a binding for Java. However, Java is a wide-spread programming language that is even used for HPC programming. We propose an adaptation of OpenMP to Java by retrofitting the basic OpenMP directives to Java and further propose some new concepts to make OpenMP fit into Java’s language philosophy.

We discuss how Java’s memory model matches OpenMP’s memory model and how the OpenMP bindings for Java and C++ differ. We also suggest how to achieve flexibility of an OpenMP implementation by allowing both Java threads (java.lang.Thread) and Java tasks (java.util.concurrent.FutureTask) as an underlying means of parallelization.

Support for object-orientation is added to allow OpenMP to better suit the Java programming model. For example, we suggest a parallel for-each loop over Java collections, OO-based reductions, and object-cloning semantics to adapt data-sharing clauses to Java. Also, we suggest a minimal runtime library to allow object-pooling to circumvent any implicit synchronization involved in object allocations.

Finally, we present some performance numbers for a reference implementation in a research compiler.

Authors with CRIS profile

How to cite

APA:

Klemm, M., Veldema, R., Bezold, M., & Philippsen, M. (2008). A Proposal for OpenMP for Java. In Matthias S. Mueller, Barbara M. Chapman, Bronis R. de Supinski, Allen D. Malony, Michael Voss (Eds.), OpenMP Shared Memory Parallel Programming, International Workshops IWOMP 2005 and IWOMP 2006 (pp. 409-421). Reims, France, FR: Berlin Heidelberg: Springer.

MLA:

Klemm, Michael, et al. "A Proposal for OpenMP for Java." Proceedings of the International Workshop on OpenMP (IWOMP'05), Reims, France Ed. Matthias S. Mueller, Barbara M. Chapman, Bronis R. de Supinski, Allen D. Malony, Michael Voss, Berlin Heidelberg: Springer, 2008. 409-421.

BibTeX: Download