More efficient serialization and RMI for Java

Michæl Philippsen, Bernhard Haumacher, Christian Nester · Concurrency Practice and Experience · 2000

In current Java implementations, Remote Method Invocation (RMI) is too slow, especially for high-performance computing. RMI is designed for wide-area and high-latency networks, it is based on a slow object serialization, and it does not support high-performance communication networks. The paper demonstrates that a much faster drop-in RMI and an efficient drop-in serialization can be designed and implemented completely in Java without any native code. Moreover, the re-designed RMI supports non-TCP/IP communication networks, even with heterogeneous transport protocols. We demonstrate that for high-performance computing some of the official serialization's generality can and should be traded for speed. As a by-product, a benchmark collection for RMI is presented. On PCs connected through Ethernet, the better serialization and the improved RMI save a median of 45% (maximum of 71%) of the runtime for some set of arguments. On our Myrinet-based ParaStation network (a cluster of DEC Alphas) we save a median of 85% (maximum of 96%), compared to standard RMI, standard serialization, and Fast Ethernet; a remote method invocation runs as fast as 80 μs round trip time, compared with about 1.5 ms. Copyright © 2000 John Wiley & Sons, Ltd.

Read the paper · More papers on PaperTik