EasyFJP: Providing Hybrid Parallelism as a Concern for Divide and Conquer Java Applications

Cristian Mateos1, 2, Alejandro Zunino1, 2 and Matıas Hirsch2

  1. ISISTAN Research Institute - CONICET
    Campus Universitario, Tandil (B7001BBO), Buenos Aires, Argentina
    {cmateos, azunino}@conicet.gov.ar
  2. UNICEN University
    matias.hirsch@gmail.com

Abstract

Because of the increasing availability of multi-core machines, clusters, Grids, and combinations of these there is now plenty of computational power, but today’s programmers are not fully prepared to exploit parallelism. In particular, Java has helped in handling the heterogeneity of such environments. However, there is a lot of ground to cover regarding facilities to easily and elegantly parallelizing applications. One path to this end seems to be the synthesis of semi-automatic parallelism and Parallelism as a Concern (PaaC). The former allows users to be mostly unaware of parallel exploitation problems and at the same time manually optimize parallelized applications whenever necessary, while the latter allows applications to be separated from parallel-related code. In this paper, we present EasyFJP, an approach that implicitly exploits parallelism in Java applications based on the concept of fork-join synchronization pattern, a simple but effective abstraction for creating and coordinating parallel tasks. In addition, EasyFJP lets users to explicitly optimize applications through policies, or user-provided rules to dynamically regulate task granularity. Finally, EasyFJP relies on PaaC by means of source code generation techniques to wire applications and parallel-specific code together. Experiments with real-world applications on an emulated Grid and a cluster evidence that EasyFJP delivers competitive performance compared to state-of-the-art Java parallel programming tools.

Key words

Parallel computing, implicit parallelism, explicit parallelism, Parallelism as a Concern (PaaC), Java, fork-join synchronization patterns, policies.

Digital Object Identifier (DOI)

https://doi.org/10.2298/CSIS120712021M

Publication information

Volume 10, Issue 3 (June 2013)
Year of Publication: 2013
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Mateos, C., Zunino, A., Hirsch, M.: EasyFJP: Providing Hybrid Parallelism as a Concern for Divide and Conquer Java Applications. Computer Science and Information Systems, Vol. 10, No. 3, 1129-1163. (2013), https://doi.org/10.2298/CSIS120712021M