Reducing Memory Sharing Overheads in Distributed JVMs (original) (raw)
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
- 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 - Arnold, K., Gosling, J.: The Java Programming Language. Addison Wesley, Reading (1996)
MATH Google Scholar - 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 - Aridor, Y., et al.: A High Performance Cluster JVM Presenting a Pure Single System Image, JavaGrande, pp. 168-177 (2000)
Google Scholar - Fang, W., et al.: Efficient Global Object Space Support for Distributed JVM on Cluster. Int. Conf. on Parallel Processing (August 2002)
Google Scholar - Hatcher, P., et al.: Cluster computing with Java. IEEE Computing in Science and Engineering 7(2), 34–39 (2005)
Google Scholar - 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 - Li, K., Hudak, P.: Memory Coherence in Shared Virtual Memory Systems. ACM Transactions on Computer Systems 7(4), 321–359 (1989)
Article Google Scholar - 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 - 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 - Zhou, Y., et al.: Performance Evaluation of Two Homebased Lazy Release Consistency Protocols for Shared Virtual Memory Systems. In: OSDI (October 1996)
Google Scholar - Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1999)
Google Scholar - VIA. VIA Specification, Version 1.0. Accessed on Jan, 29, http://www.viarch.org
- 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 - 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
Author information
Authors and Affiliations
- Laboratório de Computação Paralela, PESC, COPPE, UFRJ, Bloco I-2000, Centro de Tecnologia, Cidade Universitária, Rio de Janeiro, Brazil
Marcelo Lobosco & Claudio L. de Amorim - Instituto de Computação, Universidade Federal Fluminense, Rua Passo da Pátria, 156, Bloco E, 3o Andar, Boa Viagem, Niterói, Brazil
Orlando Loques
Authors
- Marcelo Lobosco
- Orlando Loques
- Claudio L. de Amorim
Editor information
Editors and Affiliations
- Department of Computer Science, St. Francis Xavier University, Antigonish, Canada
Laurence T. Yang - School of Computer Science/Welsh eScience Centre, Cardiff University, UK
Omer F. Rana - Dipartimento di Ingegneria dell’ Informazione - Second, University of Naples - Italy, Real Casa dell’Annunziata - via Roma, 29 81031, Aversa (CE), Italy
Beniamino Di Martino - Computer Science Department, University of Tennessee, 37996-3450, Knoxville, TN, USA
Jack Dongarra
Rights 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
- .RIS
- .ENW
- .BIB
- 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)Springer Nature Proceedings Computer Science