Download:
|
by Ronald Veldema, Rob Nieuwpoort, Jason Maassen, Henri E. Bal, Aske Plaat
Vrije Universiteit Amsterdam
http://www.cs.vu.nl/~rob/emi.ps.gz
Add To MetaCart
Abstract:
In current Java implementations, Remote Method Invocation is slow. On a Pentium Pro/Myrinet cluster, for example, a null RMI takes 1228 s using Sun's JDK 1.1.4. This paper describes Manta, a Java system designed to support efficient communication. On the same Myrinet cluster, Manta achieves a null RMI latency of 35 s. Manta is based on a native Java compiler. It achieves high communication performance mainly through the following techniques: removal of copying in the network sub system, compiler-generation of specialized marshaling code, and Optimistic Active Messages, a technique that avoids thread creation in message handlers for small methods. Our work shows that techniques from other high performance RPC based systems also work in Java, making RMI, originally designed for distributed programming, a viable mechanism for parallel programming as well. 1
Citations
|
926
|
Active Messages: A mechanism for integrated communication and computation
– Eicken, Culler, et al.
- 1992
|
|
784
|
Myrinet: A Gigabit-per-second Local Area Network
– Boden, Cohen, et al.
- 1995
|
|
477
|
TreadMarks: Distributed shared memory on standard workstations and operating systems
– Keleher, Dwarkadas, et al.
- 1994
|
|
291
|
High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet
– Pakin, Lauria, et al.
- 1995
|
|
199
|
High-performance all-software distributed shared memory
– Johnson
- 1995
|
|
154
|
Parallel programming in split-c
– Culler, Dusseau, et al.
- 1993
|
|
146
|
Titanium: A high-performance Java dialect. Concurrency Practice and Experience
– Yelick, Semenzato, et al.
- 1998
|
|
127
|
Java/DSM: A platform for heterogeneous computing. This issue
– Yu, Cox
- 1997
|
|
109
|
Concurrent Programming in Java
– Lea
- 2000
|
|
79
|
Toba: Java for Applications: A Way Ahead of Time (WAT) Compiler
– Proebsting, Townsend, et al.
- 1997
|
|
78
|
Jade: A high-level, machine-independent language for parallel programming
– RINARD, SCALES, et al.
- 1993
|
|
74
|
Operating System Benchmarking in the Wake of Lmbench: A Case Study of the Performance of on the Intel x86 Architecture
– Brown, Seltzer
- 1997
|
|
63
|
Performance evaluation of the orca shared object system
– Bal, Bhoedjang, et al.
- 1998
|
|
59
|
Implementing Remote Procedure Call
– Birrel, Nelson
- 1984
|
|
59
|
CACAO—A 64-bit JavaVM just-in-time compiler. Concurrency: Pract
– KRALL, R
- 1997
|
|
55
|
Optimistic active messages: A mechanism for scheduling communication with computation
– Wallach, Hsieh, et al.
- 1995
|
|
46
|
SPAR: A Programming Language for Semi-automatic Compilat ion of Parallel Programs. Concurrency: Practice and Experience
– Reeuwijk, Gemund, et al.
- 1997
|
|
44
|
Efficient multicast on myrinet using link-level flow control
– Bhoedjang, Ruhl, et al.
- 1998
|
|
34
|
Experience with a portability layer for implementing parallel programming systems
– Ruhl, Bal, et al.
- 1996
|
|
33
|
Remote procedure calls and java remote method invocation
– Waldo
- 1998
|
|
31
|
An Asynchronous Remote Method Invocation (ARMI) Mechanism for Java
– Raje, Williams, et al.
- 1997
|
|
28
|
JavaParty—Transparent remote objects in Java
– PHILIPPSEN, M
- 1997
|
|
21
|
Performance of a high-level parallel language on a high-speed network
– BAL, BHOEDJANG, et al.
- 1997
|
|
15
|
Models for asynchronous message handling
– LANGENDOEN, BHOEDJANG, et al.
- 1997
|
|
12
|
Java Network Programming
– Harold
- 1997
|
|
7
|
Fast Parallel Java
– Maassen, Nieuwpoort
- 1998
|
|
5
|
IceT: Distributed computing and java. concurrency: practice and experience
– Gray, Sunderam
- 1997
|
|
2
|
a mixed offline compiler and interpreter for dynamic class loading
– Harissa
- 1997
|
|
2
|
a native Java compiler
– Jcc
- 1998
|
|
1
|
Bridging the gap between shared memory and message passing
– Karl
- 1998
|