Title
Transparently obtaining scalability for Java applications on a cluster
Abstract
cJVM is a Java virtual machine (JVM) which provides a single system image of a traditional JVM while executing in a distributed fashion on the nodes of a cluster. cJVM virtualizes the cluster, transparently distributing the objects and threads of any pure Java application. The aim of cJVM is to obtain improved scalability for Java server applications by distributing the application's work among the cluster's computing resources. cJVM's architecture, its unique object model, thread, and memory models, were described by Y. Aridor et al. (1999, in “International Conference on Parallel Processing, September 21–24) and at http://www.haifa.il.ibm.com/projects/systech/cjvm.html. In this article, we focus on the optimization techniques employed in cJVM to achieve high scalability. In particular, we focus on the techniques used to enhance locality, thereby reducing the amount of communication generated by cJVM. Our optimization techniques are based on three principles. First, we employ a large number of mostly simple optimizations which address caching, locality of execution, and object migration. Second, we take advantage of the Java semantics and of common usage patterns in implementing the optimizations. Third, we use speculative optimizations, taking advantage of the fact that the cJVM run-time environment can correct false speculations. We have demonstrated the usefulness of these techniques on a large (10 Kloc), real , Java application where we demonstrate an 80% efficiency on a four-node cluster. This paper discusses the various techniques used and reports our results.
Year
DOI
Venue
2000
10.1006/jpdc.2000.1649
J. Parallel Distrib. Comput.
Keywords
Field
DocType
high performance computing,java application,scalability,distributed computing,cluster,java virtual machine,java,memory model,parallel processing,object model
Single system image,Computer science,Java annotation,Java concurrency,Parallel computing,Real time Java,strictfp,Java,Computer cluster,Operating system,Scalability,Distributed computing
Journal
Volume
Issue
ISSN
60
10
Journal of Parallel and Distributed Computing
Citations 
PageRank 
References 
11
0.86
23
Authors
5
Name
Order
Citations
PageRank
Yariv Aridor154766.78
Michael Factor260856.06
A. Teperman316318.58
Tamar Eilam444529.81
Assaf Schuster52304145.56