[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/301104.301120acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article
Free access

An efficient implementation of Java's remote method invocation

Published: 01 May 1999 Publication History

Abstract

Java offers interesting opportunities for parallel computing. In particular, Java Remote Method Invocation provides an unusually flexible kind of Remote Procedure Call. Unlike RPC, RMI supports polymorphism, which requires the system to be able to download remote classes into a running application. Sun's RMI implementation achieves this kind of flexibility by passing around object type information and processing it at run time, which causes a major run time overhead. Using Sun's JDK 1.1.4 on a Pentium Pro/Myri.net cluster, for example, the latency for a null RMI (without parameters or a return value) is 1228 μsec, which is about a factor of 40 higher than that of a user-level RPC. In this paper, we study an alternative approach for implementing RMI, based on native compilation. This approach allows for better optimization, eliminates the need for processing of type information at run time, and makes a light weight communication protocol possible. We have built a Java system based on a native compiler, which supports both compile time and run time generation of marshallers. We find that almost all of the run time overhead of RMI can be pushed to compile time. With this approach, the latency of a null RMI is reduced to 34 μsec, while still supporting polymorphic RMIs (and allowing interoperability with other JVMs).

References

[1]
H.E. Bal, R.A.E Bhoedjang, R. Hofman, C. Jacobs, K.G. Langendoen, T. Rtthl, and M.F. Kaashoek. Performance Evaluation of the Orca Shared Object System. ACM Trans. on Computer Systems, 16( 1):1--40, February 1998.]]
[2]
H.E. Bal, R.A.E Bhoedjang, R. Hofman, C. Jacobs, K.G. Langendoen, and K. Verstoep. Performance of a High-Level Parallel Language on a High-Speed Network. Journal of Parallel and Distributed Computing, 40(1): 49--64, February 1997.]]
[3]
B. Bershad, S. Savage, P. Pardyak, E. Gun Sirer, D. Becket, M. Fiuczynski, C. Chambers, and S. Eggers. Extensibility, Safety and Performance in the SPIN Operating System. In 15th ACM Symposium on Operating System Principles (SOSP-15), pages 267-284, 1995.]]
[4]
R. A. E Bhoedjang, T. Rtihl, and H. E. Bal. User-Level Network Interface Protocols. IEEE Computer, 31(11):53-60, November 1998.]]
[5]
R.A.F. Bhoedjang, T. Rtthl, and H.E. Bal. Efficient Multicast on Myrinet Using Link-Level Flow Control. In Int. Conf. on Parallel Processing, pages 381-390, Minneapolis, MN, August 1998.]]
[6]
N.J. Boden, D. Cohen, R.E. Felderman, A.E. Kulawik, C.L. Seitz, J.N. Seizovic, and W. Su. Myrinet: A Gigabit-persecond Local Area Network. IEEE Micro, 15(1):29-36, 1995.]]
[7]
E Breg, S. Diwan, J. Villacis, J. Balasubramanian, E. Akman, and D. Gannon. Java RMI Performance and Object Model Interoperability: Experiments with Java/HPC++ Distributed Components. In ACM 1998 Workshop on Java for High-Performance Network Computing, Santa Barbara, CA, February 1998.]]
[8]
A. Brown and M. Seltzer. Operating System Benchmarking in the Wake of Lmbench: A Case Study of the Performance of NetBSD on the Intel x86 Architecture. In Proc. ofthe 1997 Conf. on Measurement and Modeling of Computer Systems (SIGMETRICS), pages 214-224, Seattle, WA, June 1997.]]
[9]
D. Culler, A. Dusseau, S. Goldstein, A. Krishnamurthy, S. Lumetta, T. yon Eicken, and K. Yelick. Parallel Programruing in Split-C. In Supercomputing, 1993.]]
[10]
I. Foster and C. Kesselman. The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 1998.]]
[11]
A. Gokhale and D Schmidt. Evaluating CORBA Latency and Scalability Over High-Speed ATM Networks. In 17th International Conference on Distributed Computing Systems, pages 401-410, Baltimore, MD, 1997.]]
[12]
S. Hirano, Y. Yasu, and H. Igarashi. Performance Evaluation of Popular Distributed Object Technologies for Java. In ACM 1998 workshop on Java for Highperformance network computing, February 1998. Online at http://www.cs.ucsb.edu/conferences/java98/.]]
[13]
K.L. Johnson, M.E Kaashoek, and D.A. Wallach. CRL: High-performance All-Software Distributed Shared Memory. in 15th A CM Symp. on Operating Systems Principles, pages 213-228, Copper Mountain, CO, #mber 1995.]]
[14]
M.E Kaashoek, D.R. Engler, G.R. Ganger, H.M. Briceno, R. Hunt, D. Mazi#res, T. Pinckney, R. Cn'imm, J. Jannotti, and K. Mackenzie. Application performance and flexibility on exokernel systems. In 16th A CM Symposium on Operating Systems Principles, pages 52-65, 1997.]]
[15]
V. Karamcheti and A.A. Chien. Concert - Efficient Runtime Support for Concurrent Object-Oriented. Supercotnputing '93, pages 15-19, November 1993.]]
[16]
P. Keleher, A.L. Cox, S. Dwarkadas, and W. Zwaenepoel. TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems. In Proc. of the Winter 1994 Usenix Conference, pages 115-131, San Francisco, CA, January 1994.]]
[17]
A. Krall and R. Graft. CACAO -A 64 bit JavaVM Just-in-Time Compiler. Concurrency: Practice and Experience, pages 1017-1030, November 1997. Online at http://www.complang.tuwien, ac.at/andiL]]
[18]
V. Krishnaswamy, D. Walther, S. Bhola, E. Bommaiah, G. Riley, B. Topoi, and M. Ahamad. Efficient Implementations of Java RMI. In 4th USENIX Conference on Object-Oriented Technologies and Systems (C00TS'98), Santa Fe, NM, 1998.]]
[19]
K. Langendoen, R. A. F. Bhoedjang, and H. E. Bal. Models for Asynchronous Message Handling. IEEE Concurrent% 5(2):28-38, April-June 1997.]]
[20]
J. Maassen and R. van Nieuwpoort. Fast Parallel Java. Master's thesis, Vrije UniversiteiL Amsterdam, August 1998. Online at http://www.cs.vu.nl/albatross/.]]
[21]
D. Mosberger and L. Peterson. Making Paths Explicit in the Scout Operating System. In USENIX Symp. on Operating Systems Design and Implementation, pages 153-168, 1996.]]
[22]
G. Muller, B. Moura, E Beilard, and C. Consel. Harissa, a mixed offline compiler and interpreter for dynamic class loading. In Third USENIX Conference on Object-Oriented Technologies (COOTS), Portland, OR, June 1997.]]
[23]
S. Pakin, M. Lauria, and A. Chien. High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet. In Supercomputing '95, San Diego, CA, December 1995.]]
[24]
M. Philippsen and M. Zenger. JavaParty---Transparent Remote Objects in Java. Concurrency: Practice and Experience, pages 1225-1242, November 1997. Online at http://wwwipd.ira.uka.de/JavaParty/.]]
[25]
T.A. Proebsting, G. Townsend, P. Bridges, J.H. Hartman, T. Newsham, and S.A. Watterson. Toba: Java for applications - a way ahead of time (WAT) compiler. In Proceedings of the 3rd Conference on Object-Oriented Technologies and Systems, Portland, OR, 1997.]]
[26]
M. C. Rinard, D. J. Seales, and M. S. Lain. Jade: A highlevel, machine-independent language for parallel programruing. IEEE Computer, 26(6):28--38, June 1993.]]
[27]
G. Sampemane, L. Rivera, L. Zhang, and S. Krishnamurthy. HP-RMI : High Performance Java RMI over FM. University of Illinois at Urbana-Champaign, Online at http://wwwcsag. cs.uiu~.edu/achien/cs491 -f97/projeets/hprmi.html.]]
[28]
R. Veldema. Jee, a native Java compiler. Master's thesis, Vrije Universiteit, Amsterdam, August 1998. Online at http://www.cs.vu.nl/albatross/.]]
[29]
T. yon Eicken, D.E. Culler, S.C. Goldstein, and K.E. Schauser. Active Messages: a Mechanism for integrated Communication and Computation. In The 19th Annual Int. Symposium on Computer Architecture, pages 256-266, Gold Coast, Australia, May 1992.]]
[30]
J. Waldo. Remote procedure calls and Java Remote Method Invocation. IEEE Concurrency, pages 5-7, July--September 1998.]]
[31]
D.A. Wallach, W.C. Hsieh, K.L. Johnson, M.F. Kaashoek, and W.E. Weihl. Optimistic Active Messages: A Mechanism for Scheduling Communication with Computation. In Proc. 5th A CM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '95), pages 217-226, Santa Barbara, CA, July 1995.]]
[32]
K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Libill A. K.rishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. AJken. Titanium: a high-performance java dialect. In ACM 1998 workshop on Java for Highperformance network computing, February 1998. Online at http:Hwww.cs.ucsb.edu/conferences/java98/.]]
[33]
W. Yu and A. Cox. Java/DSM: A Platform for Heterogeneous Computing. Concurrency: Practice and Ewerience, pages 1213-1224, November 1997.]]

Cited By

View all
  • (2024)Unveiling the Achilles' Heel: A Comprehensive Exploration of Vulnerabilities in RMI and Bindshell Communication2024 11th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO)10.1109/ICRITO61523.2024.10522462(1-5)Online publication date: 14-Mar-2024
  • (2019)Building a distributed K‐Means model for Weka using remote method invocation (RMI) feature of JavaConcurrency and Computation: Practice and Experience10.1002/cpe.531331:14Online publication date: 9-May-2019
  • (2018)Mobile Transaction Processing SystemAdvanced Mobile Technologies for Secure Transaction Processing10.4018/978-1-5225-2759-6.ch004(64-112)Online publication date: 2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '99: Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
May 1999
192 pages
ISBN:1581131003
DOI:10.1145/301104
  • Chairmen:
  • Marc Snir,
  • Andrew A. Chien
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1999

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PPoPP99
Sponsor:

Acceptance Rates

PPoPP '99 Paper Acceptance Rate 17 of 79 submissions, 22%;
Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)152
  • Downloads (Last 6 weeks)47
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Unveiling the Achilles' Heel: A Comprehensive Exploration of Vulnerabilities in RMI and Bindshell Communication2024 11th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO)10.1109/ICRITO61523.2024.10522462(1-5)Online publication date: 14-Mar-2024
  • (2019)Building a distributed K‐Means model for Weka using remote method invocation (RMI) feature of JavaConcurrency and Computation: Practice and Experience10.1002/cpe.531331:14Online publication date: 9-May-2019
  • (2018)Mobile Transaction Processing SystemAdvanced Mobile Technologies for Secure Transaction Processing10.4018/978-1-5225-2759-6.ch004(64-112)Online publication date: 2018
  • (2016)Distributed Programming via Safe Closure PassingElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.203.8203(99-107)Online publication date: 10-Feb-2016
  • (2015)Akka.js: towards a portable actor runtime environmentProceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/2824815.2824821(57-64)Online publication date: 26-Oct-2015
  • (2013)Instant picklesACM SIGPLAN Notices10.1145/2544173.250954748:10(183-202)Online publication date: 29-Oct-2013
  • (2013)Instant picklesProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509547(183-202)Online publication date: 29-Oct-2013
  • (2011)Design Optimization of Vehicle Control NetworksIEEE Transactions on Vehicular Technology10.1109/TVT.2011.216168060:7(3002-3016)Online publication date: Sep-2011
  • (2008)The support of software design patterns for streaming RPC on embedded multicore processors2008 IEEE Workshop on Signal Processing Systems10.1109/SIPS.2008.4671773(263-268)Online publication date: Oct-2008
  • (2008)Efficient automated marshaling of C++ data structures for MPI applications2008 IEEE International Symposium on Parallel and Distributed Processing10.1109/IPDPS.2008.4536307(1-12)Online publication date: Apr-2008
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media