Object-oriented application frameworks
Communications of the ACM
JOMP—an OpenMP-like interface for Java
Proceedings of the ACM 2000 conference on Java Grande
Benchmarking Java against C and Fortran for scientific applications
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
A parallel java grande benchmark suite
Proceedings of the 2001 ACM/IEEE conference on Supercomputing
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software and the Concurrency Revolution
Queue - Multiprocessors
Queue - Multiprocessors
JaMP: an implementation of OpenMP for a Java DSM: Research Articles
Concurrency and Computation: Practice & Experience - Current Trends in Compilers for Parallel Computers (CPC2006)
Memory models: a case for rethinking parallel languages and hardware
Communications of the ACM
Object-Oriented Parallelisation of Java Desktop Programs
IEEE Software
Pyjama: OpenMP-like implementation for Java, with GUI extensions
Proceedings of the 2013 International Workshop on Programming Models and Applications for Multicores and Manycores
Hi-index | 0.00 |
Directives based incremental parallelism is an uncomplicated and expressive parallelisation practice and has led to wide adoption of OpenMP. However, the OpenMP specification does not present a binding for the Java language and the OpenMP threading model finds limited use for GUI (Graphical User Interface) application development. This paper focuses on the study of a semantic interpretation of OpenMP in the context of an object orientated environment. It proposes novel concepts to extend OpenMP for applications with a Graphical User Interface (GUI), based on the distinction between parallelism and concurrency. We present a compiler-runtime system for OpenMP-like directives in Java, enhanced with GUI related constructs. Acknowledging the productivity gains of the incremental parallelism approach of OpenMP, the GUI related constructs enable the developer to incrementally introduce concurrency. We present and discuss the performance of programs written using our system by comparing them with previous attempts and traditional ways of parallelisation-concurrency, using the parallel Java Grande Forum (JGF) benchmarks and a set of GUI applications.