Skip to main content

Reducing Memory Sharing Overheads in Distributed JVMs

  • Conference paper
High Performance Computing and Communications (HPCC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 3726))

Abstract

Distributed JVM systems by supporting Java’s shared-memory model enable concurrent Java applications to run transparently on clusters of computers. Aiming to reduce the overheads associated to memory coherence enforcement mechanisms required in such distributed JVMs, we propose two new techniques, selective dynamic diffing and lazy home allocation. To evaluate their potential benefits, both techniques were implemented in CoJVM, a distributed JVM system that we developed in a previous work. In the sequel, several experiments based on five representative concurrent Java applications were carried out using the original and modified CoJVM versions. The analysis of the experimental results showed that dynamic diffing and lazy home allocation, either in isolation or in combination, can reduce significantly memory sharing overheads due to message traffic, extra memory space, and high latency of remote memory accesses. Specifically, the application of these techniques resulted in considerable gains in performance, ranging from 9% up to 20% in four out of five applications, with speedups varying from 6.5 up to 8.1 for an 8-node cluster.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lobosco, M., et al.: A New Distributed JVM for Cluster Computing. In: 9th International Euro-Par Conference, August 2003, pp. 1207–1215 (2003)

    Google Scholar 

  2. Arnold, K., Gosling, J.: The Java Programming Language. Addison Wesley, Reading (1996)

    MATH  Google Scholar 

  3. Lobosco, M., Amorim, C., Loques, O.: Reducing Memory Sharing Overheads in Distributed JVMs, technical report ES-682/05, PESC/COPPE/UFRJ (May 2005)

    Google Scholar 

  4. Aridor, Y., et al.: A High Performance Cluster JVM Presenting a Pure Single System Image, JavaGrande, pp. 168-177 (2000)

    Google Scholar 

  5. Fang, W., et al.: Efficient Global Object Space Support for Distributed JVM on Cluster. Int. Conf. on Parallel Processing (August 2002)

    Google Scholar 

  6. Hatcher, P., et al.: Cluster computing with Java. IEEE Computing in Science and Engineering 7(2), 34–39 (2005)

    Google Scholar 

  7. Veldema, R., et al.: Runtime optimizations for a Java DSM implementation. Conc. and Computation: Practice and Experience, Special Issue: ACM 2001 Java Grande-ISCOPE (JGI 2001) Conference 15(3-5), 299–316 (2003)

    MATH  Google Scholar 

  8. Li, K., Hudak, P.: Memory Coherence in Shared Virtual Memory Systems. ACM Transactions on Computer Systems 7(4), 321–359 (1989)

    Article  Google Scholar 

  9. Keleher, P., Cox, A., Zwaenepoel, W.: Lazy Release Consistency for Software Distributed Shared Memory. In: Int. Symp. on Computer Architecture, May 1992, pp. 13–21 (1992)

    Google Scholar 

  10. Adve, S., Hill, M.: Weak ordering: A new definition. In: Proceedings of the 17th Annual International Symposium on Computer Architecture, May 1990, pp. 2–14 (1990)

    Google Scholar 

  11. Zhou, Y., et al.: Performance Evaluation of Two Homebased Lazy Release Consistency Protocols for Shared Virtual Memory Systems. In: OSDI (October 1996)

    Google Scholar 

  12. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1999)

    Google Scholar 

  13. VIA. VIA Specification, Version 1.0. Accessed on Jan, 29, http://www.viarch.org

  14. Keleher, P., et al.: Treadmarks: Distributed Shared Memory on Standard Workstations and Operating Systems. In: Proceedings of the Winter 1994 USENIX Conference, January 1994, pp. 115–131 (1994)

    Google Scholar 

  15. Woo, S., et al.: The SPLASH-2 Programs: Characterization and Methodological Considerations. In: Int. Symp. on Computer Architecture, June 1995, pp. 24–36 (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lobosco, M., Loques, O., de Amorim, C.L. (2005). Reducing Memory Sharing Overheads in Distributed JVMs. In: Yang, L.T., Rana, O.F., Di Martino, B., Dongarra, J. (eds) High Performance Computing and Communications. HPCC 2005. Lecture Notes in Computer Science, vol 3726. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11557654_73

Download citation

  • DOI: https://doi.org/10.1007/11557654_73

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29031-5

  • Online ISBN: 978-3-540-32079-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics