Treffer: Generalizing Java RMI to Support Efficient Group Communication
Weitere Informationen
This paper presents a generalization of the Java Remote Method Invocation model (RMI) providing an efficient group communication mechanism for parallel programming. In our Group Method Invocation model (GMI), methods can be invoked on a local object, on a remote object or on a group of objects (possibly with personalized parameters). Likewise, result values and exceptions can be returned normally, discarded, or, when multiple results are produced, combined into a single result. The different method invocation and reply handling schemes can be combined orthogonally, allowing us to express a large spectrum of communication mechanisms of which standard RMI and MPI-style collective communication are special cases. For each method, the invocation and reply scheme can be selected at runtime. GMI has been implemented in the Manta high-performance Java system. Using several micro-benchmarks and three applications, we compare GMI's expressiveness and runtime efficiency to plain Java RMI and to the collective communication operations from the mpiJava library. Our results show that GMI significantly simplifies program complexity while our prototype implementation performs even faster than mpiJava (except for one test case). 1.