MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  JESSICA2: A distributed Java virtual machine with transparent thread migration support (2002) [26 citations — 2 self]

Download:
Download as a PDF
by Wenzhang Zhu, Cho-li Wang, Francis C. M. Lau
In IEEE Fourth International Conference on Cluster Computing
http://www.cs.hku.hk/~clwang/papers/cluster2002-FNL-jessica2.pdf
Add To MetaCart

Abstract:

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. 1.

Citations

847 Memory coherence in shared virtual memory systems – Li, Hudak - 1989
645 Distributed Operating Systems – Tanenbaum - 1995
483 MPI: The Complete Reference – Snir, Otto, et al. - 1996
372 TreadMarks: Shared Memory Computing on Networks of Workstations – Amza, Cox, et al. - 1996
370 Understanding code mobility – Fuggetta, Picco, et al. - 1998
323 Tempest and Typhoon: User-Level Shared Memory – Reinhardt, Larus, et al. - 1994
246 The Sprite Network Operating System – Ousterhout, Cherenson, et al. - 1988
245 A case for NOW (Networks of Workstations – Anderson, Culler, et al. - 1995
228 C.E.: Scheduling Multithreaded Computations by Work Stealing – Blumofe, Leiserson - 1994
215 Escape analysis for Java – Choi, Gupta, et al. - 1999
197 Experiences with the Amoeba distributed operating system – Tanenbaum, Renesse, et al. - 1990
196 Client/Server Programming with Java and CORBA – Orfali, Harkey - 1998
166 Midway: Shared Memory Parallel Programming with Entry Consistency for Dstributed Memory Multiprocessors – Bershad, Zekauskas - 1991
151 PVM 3 users guide and reference manual – Geist, Beguelin, et al. - 1994
144 The jalapeno dynamic optimizing compiler for java – Burke, Choi, et al. - 1999
136 The Java Language Specification Second Edition – Gosling, Joy, et al. - 2000
131 On the complexity of finite sequences – Lempel, Ziv - 1976
127 Java/DSM: A platform for heterogeneous computing. This issue – Yu, Cox - 1997
117 JavaParty — transparent remote objects – Philippsen, Zenger - 1997
113 Register allocation via graph coloring – Briggs - 1992
97 The design and evaluation of a shared object system for distributed memory machines – Scales, Lam - 1994
94 The MOSIX Multicomputer Operating System for High Performance Cluster Computing – Barak, La’adan - 1998
74 The Java TM Virtual Machine Specification – Lindholm, Yellin - 1996
70 Network-aware mobile programs – Ranganathan, Acharya, et al. - 1997
63 Optimizing array bounds checks using flow analysis – Gupta - 1993
63 Hwu Hwu. Java bytecode to native code translation: The Caffeine prototype and preliminary results – Hsieh, Gyllenhaal, et al. - 1996
59 CACAO—A 64-bit JavaVM just-in-time compiler. Concurrency: Pract – KRALL, R - 1997
55 effective code generation in a just-intime Java compiler – Fast - 1998
54 cJVM: a Single System Image of a JVM on a Cluster – Aridor, Factor, et al. - 1999
54 Processes in KaffeOS: Isolation, resource management, and sharing in Java – Back, Hsieh, et al. - 2000
54 Java RMI Performance and Object Model Interoperability: Experiments with Java/HPC++, Concurrency and Experience – Breg, Diwan, et al. - 1998
45 Linux Kernel Internals – Beck - 1996
45 Home-Based Shared Virtual Memory – Iftode - 1998
44 The Java HotSpot server compiler – Paleczny, Vick, et al. - 2001
43 Thread migration and its applications in distributed shared memory systems – Itzkovitz, Schuster, et al. - 1996
43 LaTTe: A Java VM Just-In-Time compiler with fast and efficient register allocation – Yang, Moon, et al. - 1999
42 Byte Code Engineering – DAHM - 1999
41 The JBoss extensible server – Reverbel, Fleury - 2003
40 Bytecode Transformation for Portable Thread Migration in Java – Sakamoto, Sekiguchi, et al. - 2000
38 Fast and Effective Optimization of Statically Typed Object-Oriented Languages – Bacon - 1997
37 Portable Support for Transparent Thread Migration in Java – Truyen, Robben, et al. - 2000
35 mpiJava: “An ObjectOriented Java interface to MPI – Baker, Carpentar, et al. - 1999
34 Process Migration – Milojicic - 2000
31 Debugging optimized code with dynamic deoptimization. SIGPLANNotices – olzle, Chambers, et al. - 1992
27 Arachne: A Portable Threads System Supporting Migrant Threads on Heterogeneous Network Farms – Dimitrov, Rego - 1998
27 Runtime optimizations for a Java DSM implementation – VELDEMA, HOFMAN, et al.
25 Performance evaluation of the Orca shared-object system – Bal, Bhoedjang, et al. - 1998
24 Avi Teperman, “CJVM: a Single System Image of a JVM on a Cluster – Aridor, Factor
24 and Piet Hut. A hierarchical O(N log N) force-calculation algorithm – Barnes - 1986
21 Kaffe - A Free Virtual Machine to run Java Code. http://www.kaffe.org – Wilkinson - 1998