Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
Lazy release consistency for software distributed shared memory
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
The SPLASH-2 programs: characterization and methodological considerations
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Weak ordering—a new definition
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
A high performance cluster JVM presenting a pure single system image
Proceedings of the ACM 2000 conference on Java Grande
Runtime optimizations for a Java DSM implementation
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Programming Language
Efficient Global Object Space Support for Distributed JVM on Cluster
ICPP '02 Proceedings of the 2002 International Conference on Parallel Processing
Computing in Science and Engineering
TreadMarks: distributed shared memory on standard workstations and operating systems
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
Hi-index | 0.00 |
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.