2003 · 124 citations · 14 references
Cluster ComputingHeterogeneous ComputingEngineeringPresent Jessica2Computer ArchitectureSoftware EngineeringHardware VirtualizationDistributed EnvironmentParallel ComputingComputer EngineeringVirtualization SupportComputer ScienceRuntime SystemDistributed ComputingProgram AnalysisMultiple Cluster NodesCloud ComputingUnikernelsParallel ProgrammingDjvms SufferSystem SoftwareVirtual Machine
A distributed Java Virtual Machine (DJVM) spanning multiple cluster nodes can provide a true parallel execution environment for multi-threaded Java applications. Most existing DJVMs suffer from the slow Java execution in interpretive mode and thus may not be efficient enough for solving computation-intensive problems. We present JESSICA2, a new DJVM running in JIT compilation mode that can execute multi-threaded Java applications transparently on clusters. JESSICA2 provides a single system image (SSI) illusion to Java applications via an embedded global object space (GOS) layer. It implements a cluster-aware Java execution engine that supports transparent Java thread migration for achieving dynamic load balancing. We discuss the issues of supporting transparent Java thread migration in a JIT compilation environment and propose several lightweight solutions. An adaptive migrating-home protocol used in the implementation of the GOS is introduced. The system has been implemented on x86-based Linux clusters and significant performance improvements over the previous JESSICA system have been observed.
14
TreadMarks: shared memory computing on networks of workstations
Cristiana Amza, Alan L. Cox, Sandhya Dwarkadas et al. · Computer · 1996 · 832 citations · Full text
Jong-Deok Choi, Manish Gupta, Maurício Serrano et al. · 1999 · 499 citations · Full text
The Jalapeño dynamic optimizing compiler for Java
Michael Burke, Jong-Deok Choi, Stephen J. Fink et al. · 1999 · 273 citations
cJVM: a single system image of a JVM on a cluster
Yariv Aridor, Michael Factor, Avi Teperman · 2003 · 163 citations