Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2442992.2442997acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Pyjama: OpenMP-like implementation for Java, with GUI extensions

Published: 23 February 2013 Publication History

Abstract

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. Our research strives towards supporting OpenMP-like directives to simplify parallelism for Java and address the limitations of the OpenMP model in the development of interactive applications.
We present a compiler-runtime system for OpenMP-like directives in Java, enhanced with GUI-aware mechanisms. This paper describes the compiler and the runtime. We introduce GUI-aware directives and propose methods for incremental concurrency. We present and discuss the performance of programs written using our system by comparing them with previous attempts and traditional ways of parallelisation, using the parallel Java Grande Forum (JGF) benchmarks and a fractal-generation application with a GUI.

References

[1]
Android, Google Inc. http://developer.android.com/guide/basics/what-is-android.html.
[2]
J. Armstrong. Programming Erlang Software for a Concurrent World. The Pragmatic Bookshelf, August 2007.
[3]
J. M. Bull and M. E. Kambites. JOMP; an OpenMP-like interface for Java. In Proceedings of the ACM 2000 conference on Java Grande, JAVA '00, pages 44--53, New York, NY, USA, 2000. ACM.
[4]
J. M. Bull, L. A. Smith, L. Pottage, and R. Freeman. Benchmarking Java against C and Fortran for scientific applications. In JGI '01: Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande, pages 97--105, New York, NY, USA, 2001. ACM.
[5]
J. M. Bull, L. A. Smith, M. Westhead, D. S. Henty, and R. A. Davey. A benchmark suite for high performance Java. Concurrency, Practice & Experience, 12(6):375--388, 2000.
[6]
B. Chapman, G. Jost, and R. v. d. Pas. Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). The MIT Press, 2007.
[7]
M. Creeger. Multicore CPUs for the masses. Queue, 3(7):63--64, 2005.
[8]
M. Fayad and D. C. Schmidt. Object-oriented application framework. Communications of the ACM, 40(10):32--38, 1997.
[9]
N. Giacaman and O. Sinnen. Parallel task for parallelizing object-oriented desktop applications. In Parallel Distributed Processing, Workshops and Phd Forum (IPDPSW), 2010 IEEE International Symposium on, pages 1--8, april 2010.
[10]
N. Giacaman and O. Sinnen. Object-oriented parallelisation of Java desktop programs. IEEE Software, Software for the Multiprocessor Desktop: Applications, Environments, Platforms, 28(1):32--38, Jan-Feb 2011.
[11]
A. Kaminsky. Parallel Java-a unified API for shared memory and cluster parallel programming in 100% Java. In Parallel and Distributed Processing Symposium, 2007.IEEE International, pages 1--8, march 2007.
[12]
M. Klemm, M. Bezold, R. Veldema, and M. Philippsen. JaMP: an implementation of OpenMP for a Java DSM. Concurrency & Computation: Practice & Experience, 19(18):2333--2352, 2007.
[13]
Language Popularity Index. http://lang-index.sourceforge.net/.
[14]
OpenMP Architecture Review Board. OpenMP Application Program Interface, May 2005.
[15]
M. J. Quinn. Parallel Programming in C with MPI and OpenMP. Mc Graw Hills, 1st edition, 2004.
[16]
E. Renault, C. Ancelin, W. Jimenez, and O. Botero. Using source-to-source transformation tools to provide distributed parallel applications from OpenMP source code. In Parallel and Distributed Computing, 2008. ISPDC '08. International Symposium on, pages 197--204, july 2008.
[17]
L. A. Smith, J. M. Bull, and J. Obdrzálek. A parallel java grande benchmark suite. In Proceedings of the 2001 ACM/IEEE conference on Supercomputing (CDROM), Supercomputing '01, pages 8--8, New York, NY, USA, 2001. ACM.
[18]
H. Sutter and J. Larus. Software and the concurrency revolution. Queue, 3(7):54--62, 2005.
[19]
Tiobe Programming Index. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.
[20]
Typesafe Inc. Akka Documentation, release 2.1-snapshot edition, 2012.

Cited By

View all
  • (2023)Faculty Development Workshops for Integrating PDC in Early Undergraduate Curricula: An Experience ReportProceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis10.1145/3624062.3624097(314-323)Online publication date: 12-Nov-2023
  • (2022)Teaching Parallel Programming in Introductory CS Classes Using Java Patternlets in Interactive NotebooksJournal of Computing Sciences in Colleges10.5555/3580523.358053538:3(120-131)Online publication date: 1-Nov-2022
  • (2022)Teaching Parallel Programming with Java and PyjamaProceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 210.1145/3478432.3499115(1109-1109)Online publication date: 3-Mar-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PMAM '13: Proceedings of the 2013 International Workshop on Programming Models and Applications for Multicores and Manycores
February 2013
134 pages
ISBN:9781450319089
DOI:10.1145/2442992
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 February 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. OpenMP
  2. application development
  3. incremental concurrency
  4. incremental parallelism

Qualifiers

  • Research-article

Conference

PPoPP '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 53 of 97 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Faculty Development Workshops for Integrating PDC in Early Undergraduate Curricula: An Experience ReportProceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis10.1145/3624062.3624097(314-323)Online publication date: 12-Nov-2023
  • (2022)Teaching Parallel Programming in Introductory CS Classes Using Java Patternlets in Interactive NotebooksJournal of Computing Sciences in Colleges10.5555/3580523.358053538:3(120-131)Online publication date: 1-Nov-2022
  • (2022)Teaching Parallel Programming with Java and PyjamaProceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 210.1145/3478432.3499115(1109-1109)Online publication date: 3-Mar-2022
  • (2021)We Need Community Effort to Achieve PDC Adoption!2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)10.1109/HiPCW54834.2021.00013(43-49)Online publication date: Dec-2021
  • (2019)Supporting asynchronization in OpenMP for event-driven programmingParallel Computing10.1016/j.parco.2018.03.00882:C(57-74)Online publication date: 1-Feb-2019
  • (2018)@PT: Unobtrusive parallel programming with Java annotationsConcurrency and Computation: Practice and Experience10.1002/cpe.483131:1Online publication date: 27-Jul-2018
  • (2017)Supporting Enhanced Exception Handling with OpenMP in Object-Oriented LanguagesInternational Journal of Parallel Programming10.1007/s10766-016-0474-x45:6(1366-1389)Online publication date: 1-Dec-2017
  • (2016)Evaluating OpenMP Implementations for Java Using PolyBenchOpenMP: Memory, Devices, and Tasks10.1007/978-3-319-45550-1_22(309-319)Online publication date: 21-Sep-2016
  • (2016)ParallelMEProceedings of the 22nd International Conference on Euro-Par 2016: Parallel Processing - Volume 983310.1007/978-3-319-43659-3_33(447-459)Online publication date: 24-Aug-2016
  • (2015)Exception Handling with OpenMP in Object-Oriented LanguagesOpenMP: Heterogenous Execution and Data Movements10.1007/978-3-319-24595-9_9(115-129)Online publication date: 26-Nov-2015
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media