Abstract—Today, the combination of computing power and fast networks provides a workable solution to solve complex problems by using computational clusters. 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 mostly using synchronous mode of communication. This paper presents a new easy-to-use message passing framework. This framework facilitates writing 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 message passing framework is based on Java Messaging Services (JMS). JMS provides asynchronous functionality of code distribution and message passing between processes running on different machines. A set of easy to use Application Programming Interfaces (APIs) are also provided to write MPI like code for parallel applications. The performance analysis of remote code execution is also included along with the comparison study of the proposed framework with MPJ Express and Java Threads on multi-core systems. The benchmark tests for the network latency and code speed-up have shown promising results.
Keywords-HPC; Java; JMS; MPI; Parallel Code Execution
Since long time, clusters are used to build powerful high performance computing systems. Yet, for more complex and compute intensive problems, still it is a challenge to provide required computer resources under one roof. Thus, the parallel systems like clusters have evolved into computational grids . The Grid consists of clusters that are geographically dispersed and heterogeneous. Nowadays, there are many popular grid systems running in the world successfully -. With the emergence of multi-core processors, now it is possible to have immense computational power on a single machine . The multi-core clusters are better suited for solving complex computational problems as compared to grids mainly because of following reasons;
• There are only few message passing libraries available for Grid. In particular, the communication overheads involved in grid systems are massive .
• Not all scientific problems are suited to grid environment. For example, embarrassingly parallel applications are suited for grids .
• There is a little or no control on remote site policies .
• Grids do not make sure that a submitted job will yield timely results. 
To make use of the multi-core processors is only possible with the software programs written in parallel code paradigm. The major problem in parallelizing software is that the existing tools and libraries to write a parallel program are complex and difficult to use.
This paper presents a Java based framework for parallel code execution. Java has been chosen to make this framework because today, it is being considered the...