DocumentCode :
244509
Title :
PCJ - Java library for high performance computing in PGAS model
Author :
Nowicki, Michal ; Gorski, Lukasz ; Grabrczyk, Patryk ; Bala, P.
Author_Institution :
Fac. of Math. & Comput. Sci., N. Copernicus Univ., Torun, Poland
fYear :
2014
fDate :
21-25 July 2014
Firstpage :
202
Lastpage :
209
Abstract :
This paper presents the application of the PCJ library for the parallelization of the selected HPC applications implemented in Java language. The library is motivated by partitioned global address space (PGAS) model represented by Co-Array Fortran, Unified Parallel C, X10 or Titanium. In the PCJ, each task has its own local memory and stores and access variables locally. Variables can be shared between tasks and can be accessed, read and modified by other tasks. The library provides methods to perform basic operations like synchronization of tasks, get and put values in asynchronous onesided way. Additionally the library offers methods for creating groups of tasks, broadcasting and monitoring variables. The PCJ has ability to work on the multinode multicore systems hiding details of interand intranode communication. The PCJ library fully complies with Java standards therefore the programmer does not have to use additional libraries, which are not part of the standard Java distribution. In this paper the PCJ library has been used to run example HPC applications on the multicore nodes. In particular we present performance results for parallel raytracing, matrix multiplication and map-reduce calculations. The detailed information on performance of the reduction operation is also presented. The results show good performance and scalability compared to native implementations of the same algorithms. In particular, MPI C++ and Java 8 parallel streams have been used as a reference. It is noteworthy that the PCJ library due to its performance and ability to create simple code has great promise to be successful for parallelization of the HPC applications.
Keywords :
C++ language; FORTRAN; Java; application program interfaces; message passing; multiprocessing systems; parallel programming; Co-Array Fortran; HPC applications; Java 8 parallel streams; Java language; Java library; Java standards; MPI C++; PCJ library; PGAS model; Titanium; Unified Parallel C; X10; high performance computing; inter-intranode communication; map-reduce calculations; matrix multiplication; multicore nodes; multinode multicore systems; parallel raytracing; partitioned global address space; Electronics packaging; Instruction sets; Java; Libraries; Message systems; Programming; Synchronization; HPC; Java; Parallel computing; Partitioned Global Address Space;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
High Performance Computing & Simulation (HPCS), 2014 International Conference on
Conference_Location :
Bologna
Print_ISBN :
978-1-4799-5312-7
Type :
conf
DOI :
10.1109/HPCSim.2014.6903687
Filename :
6903687
Link To Document :
بازگشت