Efficient replicated method invocation in Java
Proceedings of the ACM 2000 conference on Java Grande
A high performance cluster JVM presenting a pure single system image
Proceedings of the ACM 2000 conference on Java Grande
Source-level global optimizations for fine-grain distributed shared memory systems
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
Efficient Java RMI for parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Comparative Study of Parallel and Distributed Java Projects for Heterogeneous Systems
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Implementing Java Consistency Using a Generic, Multithreaded DSM Runtime System
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Remote Object Detection in Cluster-Based Java
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Expressing Parallelism in Java Applications Distributed on Clusters
IWCC '01 Proceedings of the NATO Advanced Research Workshop on Advanced Environments, Tools, and Applications for Cluster Computing-Revised Papers
OpenJIT: An Open-Ended, Reflective JIT Compiler Framework for Java
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
A Bytecode Translator for Distributed Execution of ``Legacy'' Java Software
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Compiling Multithreaded Java Bytecode for Distributed Execution (Distinguished Paper)
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Automatic detection of immutable fields in Java
CASCON '00 Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research
NRMI: Natural and Efficient Middleware
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
An advanced environment supporting structured parallel programming in Java
Future Generation Computer Systems - Tools for program development and analysis
On the design of global object space for efficient multi-threading Java computing on clusters
Parallel Computing - Special issue: Parallel and distributed scientific and engineering computing
Remote pointcut: a language construct for distributed AOP
Proceedings of the 3rd international conference on Aspect-oriented software development
Building a Java virtual machine for server applications: the Jvm on 0S/390
IBM Systems Journal
Portable and efficient distributed threads for Java
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
JiST: an efficient approach to simulation using virtual machines: Research Articles
Software—Practice & Experience
Design and implementation of a single system image operating system for ad hoc networks
Proceedings of the 3rd international conference on Mobile systems, applications, and services
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A platform-independent distributed runtime for standard multithreaded Java
International Journal of Parallel Programming
A secure javaTM virtual machine
SSYM'00 Proceedings of the 9th conference on USENIX Security Symposium - Volume 9
A method specialisation and virtualised execution environment for Java
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
XMem: type-safe, transparent, shared memory for cross-runtime communication and coordination
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
J-Orchestra: Enhancing Java programs with distribution capabilities
ACM Transactions on Software Engineering and Methodology (TOSEM)
Wishbone: profile-based partitioning for sensornet applications
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Thread migration techniques on Java virtual machine
PDCS '07 Proceedings of the 19th IASTED International Conference on Parallel and Distributed Computing and Systems
Mercury: a reflective middleware for automatic parallelization of Bags-of-Tasks
Proceedings of the 8th International Workshop on Adaptive and Reflective MIddleware
JDOS: a Jini based distributed operating system
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartIII
Cross-language, type-safe, and transparent object sharing for co-located managed runtimes
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A2-VM: a cooperative Java VM with support for resource-awareness and cluster-wide thread scheduling
OTM'11 Proceedings of the 2011th Confederated international conference on On the move to meaningful internet systems - Volume Part I
Transparent java threads migration protocol over peer2peer
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
A versatile kernel for distributed AOP
DAIS'06 Proceedings of the 6th IFIP WG 6.1 international conference on Distributed Applications and Interoperable Systems
Transparent and dynamic code offloading for java applications
ODBASE'06/OTM'06 Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part II
ParC#: parallel computing with c# in .net
PaCT'05 Proceedings of the 8th international conference on Parallel Computing Technologies
COMET: code offload by migrating execution transparently
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Hi-index | 0.00 |
cJVM is a Java Virtual Machine (JVM) that provides a single system image of a traditional JVM while executing on a cluster. cJVM virtualizes the cluster, supporting any pure Java application without requiring any code modifications. By distributing the application's work among the cluster's nodes, cJVM aims to obtain improved scalability for Java Server Applications. cJVM uses a novel object model which distinguishes between an application's view of an object and its implementation (e.g., different objects of the same class may have different implementations). This allows us to exploit knowledge on the usage of individual objects to improve performance.cJVM is work-in-progress. Our prototype runs on a cluster of IBM IntelliStations running Win/NT and are connected via a Myrinet switch. It provides a single system image to applications, distributing the application's threads and objects over the cluster. We have used cJVM to run without change a {\em real} Java application containing over 10Kloc and have achieved linear speedup for another application with a large number of independent threads. This paper discusses cJVM's architecture and implementation, showing how to provide a single system image of a traditional JVM on a cluster.