Jupiter/SVM: A JVM-based Single System Image for Clusters of Workstations

C.D. Cavanna, T.S. Abdelrahman (Canada), A. Bilas (Greece), and P. Jamieson (Canada)


: Clusters of Workstation, Java Virtual Machine (JVM), Single System Image (SSI), Virtual Shared Memory (SVM), Scalable Performance.


We address the problem of providing a single system image (SSI) on clusters of workstations, based on the Java Virtual Machine (JVM). Our approach is unique in that the needed functionality is separated in two layers: a shared virtual memory (SVM) system, CableS, that is optimized for sys tem area networks and provides a standard Pthreads API, and a multithreaded JVM, Jupiter, that was originally de veloped for symmetric multiprocessors (SMPs). We iden tify the JVM extensions that are required to deal with Ca bleS's more relaxed memory consistency model, to opti mize memory allocation by using private memory where possible, and to deal with various dynamic resource limi tations imposed by CableS. We present a preliminary eval uation of the new JVM using the Java Grande benchmark suite on a 16-processor cluster of PCs interconnected with a Myrinet network, which (to the best of our knowledge) is the largest configuration reported to the literature. We find that: (i) the overhead introduced by SVM-specific extensions is less than 7% on average and (ii) Jupiter/SVM scales well to achieve an average speedup of 14 on 16 processors--a sig nificantly better speedup than for previous reported work. Our main contribution is the conclusion that JVM-based SSIs for clusters do not have to be based on specially de signed JVMs but may use JVMs that have been developed for popular SMP platforms.

Important Links:

Go Back