|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Henri Bal , Raoul Bhoedjang , Rutger Hofman , Ceriel Jacobs , Thilo Kielmann , Jason Maassen , Rob van Nieuwpoort , John Romein , Luc Renambot , Tim Rühl , Ronald Veldema , Kees Verstoep , Aline Baggio , Gerco Ballintijn , Ihor Kuz , Guillaume Pierre , Maarten van Steen , Andy Tanenbaum , Gerben Doornbos , Desmond Germans , Hans Spoelder , Evert-Jan Baerends , Stan van Gisbergen , Hamideh Afsermanesh , Dick van Albada , Adam Belloum , David Dubbeldam , Zeger Hendrikse , Bob Hertzberger , Alfons Hoekstra , Kamil Iskra , Drona Kandhai , Dennis Koelma , Frank van der Linden , Benno Overeinder , Peter Sloot , Piero Spinnato , Dick Epema , Arjan van Gemund , Pieter Jonker , Andrei Radulescu , Cees van Reeuwijk , Henk Sips , Peter Knijnenburg , Michael Lew , Floris Sluiter , Lex Wolters , Hans Blom , Cees de Laat , Aad van der Steen, The distributed ASCI Supercomputer project, ACM SIGOPS Operating Systems Review, v.34 n.4, p.76-96, October 2000
[doi> 10.1145/506106.506115]
|
| |
2
|
|
| |
3
|
|
| |
4
|
F. Breg, P. Knijnenburg, D. Gannon, and H. Wijshoff. Remote Object Implementations: A Comparitive Study. 2000.
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
Sun Microsystems Inc. Java *m Object Serialization Specification, Nov 1998. revision 1.43.
|
 |
10
|
Rob van Nieuwpoort , Jason Maassen , Henri E. Bal , Thilo Kielmann , Ronald Veldema, Wire-area parallel computing in Java, Proceedings of the ACM 1999 conference on Java Grande, p.8-14, June 12-14, 1999, San Francisco, California, United States
[doi> 10.1145/304065.304087]
|
| |
11
|
L. Opyrchal and A Prakash. Efficient Object Serialization in Java. In ICDCS 99 Workshop on Middleware, jun 1999.
|
| |
12
|
M. Philippsen and B. Haumacher. Bandwidth, Latency, and other Problems of RMI and Serialization. JavaGrande report, May 1998.
|
| |
13
|
M. Philippsen and B. Haumacher. More Efficient Serialization and RMI for Java. Concurrency: Practice and Experience, 12(7):495-518, May 2000.
|
| |
14
|
R. Riggs, J. Waldo, and A. Wollrath. Pickling State in the Java(tm) System. In USENIX 1996 Conference on Object-Oriented Technologies, Toronto, Ontario, Canada, Jun 1996.
|
CITED BY 7
|
|
|
|
|
|
|
|
Levon Stepanian , Angela Demke Brown , Allan Kielstra , Gita Koblents , Kevin Stoodley, Inlining java native calls at runtime, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, June 11-12, 2005, Chicago, IL, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|