-
Essay / A framework for parallel code execution using Java
Summary: Today, the combination of computing power and fast networks provides a practical solution for solving complex problems using clusters calculation. Java is considered one of the most popular languages for writing platform-independent applications. There are many high performance computing (HPC) frameworks available for writing parallel applications in Java primarily using the synchronous communication mode. This article presents a new, easy-to-use messaging framework. This framework makes it easy to write parallel code in Java for hybrid architectures using different standard protocols. It also supports blocking and pure asynchronous communication mode. The communication layer of the proposed messaging framework is based on Java Messaging Services (JMS). JMS provides asynchronous code distribution and message passing capabilities between processes running on different machines. A set of easy-to-use application programming interfaces (APIs) is also provided for writing MPI-like code for parallel applications. Remote code execution performance analysis is also included as well as the comparative study of the proposed framework with MPJ Express and Java Threads on multi-core systems. Benchmark tests for network latency and code acceleration showed promising results. Keywords-HPC; Java; JMS; MPI; Parallel code executionI. INTRODUCTIONFor a long time, clusters have been used to build powerful, high-performance computing systems. Yet, for more complex and computationally intensive problems, it remains difficult to provide the required computing resources under one roof. Thus, parallel systems such as clusters have evolved towards computing grids [1]. The grid consists of geographically dispersed clusters and ...... middle of paper ......rm for Java,” in Proc. 12th European PVM/MPI User Group Meeting (EuroPVM/MPI'05), Lecture Notes in Computer Science, vol. 3666, p. 217-224, Sorrento, Italy, 2005.[26] S. Bang and J. Ahn, “Implementation and performance evaluation of Java messaging systems based on Socket and RMI,” in Proc. 5th International. Conf. on Research, Management and Applications in Software Engineering (SERA'07), pp. 153-159, Busan, Korea, 2007.[27] GL Taboada, J. Tourino, and R. Doallo, “F-MPJ: Scalable Java Messaging Communications on Parallel Systems,” Journal of Supercomputing, 2009.[28] TIOBE Homepage [Online]. Available: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html[29] B. Carpenter (2002) Home page of the MPJ specification (mpijava 1.2: API Specification) at HPJAVA. [Online]. Available: http://www.hpjava.org/reports/mpiJava-spec/mpiJava-spec/mpiJava-spec.html