Abstract

Object-based Collective Communication in Java
Arnold Nelisse - Vrije Universiteit
Thilo Kielmann - Vrije Universiteit
Henri Bal - Vrije Universiteit
Jason Maassen - Vrije Universiteit
CCJ is a communication library that adds MPI-like collective operations
to Java. Rather than trying to adhere to the precise MPI syntax, CCJ aims at
a clean integration of collective communication into Java's object-oriented 
framework. For example, CCJ uses thread groups to support Java's 
multithreading model and it allows any data structure (not just arrays) to be

communicated. CCJ is implemented entirely in Java, on top of RMI, so it can
be
used with any Java virtual machine. The paper discusses three parallel Java 
applications that use collective communication. It compares the performance 
(on top of a Myrinet cluster) of CCJ, RMI and mpiJava versions of these 
applications, and also compares the code complexity of the CCJ 
and RMI versions. The results show that the CCJ versions are significantly 
simpler than the RMI versions and obtain a good performance.