The design and implementation of the self compiler, an optimizing compiler for object-oriented programming languages
IEEE Transactions on Software Engineering
The Jalapeño dynamic optimizing compiler for Java
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Persistent execution state of a Java virtual machine
Proceedings of the ACM 2000 conference on Java Grande
Adaptive optimization in the Jalapeño JVM
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Transparent Migration of Java-Based Mobile Agents
MA '98 Proceedings of the Second International Workshop on Mobile Agents
Bytecode Transformation for Portable Thread Migration in Java
ASA/MA 2000 Proceedings of the Second International Symposium on Agent Systems and Applications and Fourth International Symposium on Mobile Agents
Portable Support for Transparent Thread Migration in Java
ASA/MA 2000 Proceedings of the Second International Symposium on Agent Systems and Applications and Fourth International Symposium on Mobile Agents
Sumatra: A Language for Resource-Aware Mobile Programs
MOS '96 Selected Presentations and Invited Papers Second International Workshop on Mobile Object Systems - Towards the Programmable Internet
Design, implementation and evaluation of adaptive recompilation with on-stack replacement
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
JESSICA2: A Distributed Java Virtual Machine with Transparent Thread Migration Support
CLUSTER '02 Proceedings of the IEEE International Conference on Cluster Computing
Pickling Threads State in the Java System
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 33)
IBM Systems Journal
Java Threads
Wireless hotspots: current challenges and future directions
Mobile Networks and Applications - Special issue: Wireless mobile wireless applications and services on WLAN hotspots
The PIM: an innovative robot coordination model based on Java thread migration
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Dynamic service-oriented architectures for tactical edge networks
Proceedings of the 4th Workshop on Emerging Web Services Technology
Efficient off-board deployment and customization of virtual machine-based embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
Proceedings of the 8th International Workshop on Middleware for Grids, Clouds and e-Science
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
Today's complex applications must face the distribution of data and code among different network nodes. Java is a wide-spread language that allows developers to build complex software, even distributed, but it cannot handle the migration of computations (i.e. threads), due to intrinsic limitations of many traditional JVMs. After analyzing the approaches in literature, this paper presents our research work on the IBM Jikes Research Virtual Machine: exploiting some of its innovative VM techniques, we implemented an extension of its scheduler that allows applications to easily capture the state of a running thread and makes it possible to restore it elsewhere (i.e. on a different hardware or software architecture, but still with a version of JikesRVM installed). Our thread serialization mechanism provides support for both proactive and reactive migration of single- and multi-threaded Java applications. With respect to previous approaches, we implemented the mobility framework without recompiling a previous JVM source code, but simply extending its functionalities with a full Java package.