Reducing memory sharing overheads in distributed JVMs

  • Authors:
  • Marcelo Lobosco;Orlando Loques;Claudio L. de Amorim

  • Affiliations:
  • Laboratório de Computação Paralela, PESC, COPPE, UFRJ, Rio de Janeiro, Brazil;Instituto de Computação, Universidade Federal Fluminense, Boa Viagem, Niterói, Brazil;Laboratório de Computação Paralela, PESC, COPPE, UFRJ, Rio de Janeiro, Brazil

  • Venue:
  • HPCC'05 Proceedings of the First international conference on High Performance Computing and Communications
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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.