Abstract

Java Virtual Machine Support for Object Serialization
Fabian Breg - University of Illinois, Urbana-Champaign
Constantine Polychronopoulos - University of Illinois, Urbana-Champaign
Distributed computing has become increasingly popular in the high
performance community. Java's Remote Method Invocation (RMI) provides
a simple, yet powerful method for implementing parallel
algorithms. The performance of RMI has been less than adequate,
however, and object serialization is often identified as a major
performance inhibitor.  We believe that object serialization is best
performed in the Java Virtual Machine (JVM), where information
regarding object layout and hardware communication resources are
readily available. We implement a subset of Java's object
serialization protocol in native code, using the Java Native Interface
(JNI) and JVM internals. Experiments show that our approach is up to
eight times faster than Java's original object serialization protocol
for array objects. Also for linked data structures, our approach
obtains a moderate speedup and better scalability.  Evaluation of our
object serialization implementation in an RMI framework indicates that
a higher throughput can be obtained. Parallel applications, written
using RMI, obtain better speedups and scalability when this more
efficient object serialization is used.