AdJava: automatic distribution of Java applications
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
Delta Execution: A preemptive Java thread migration mechanism
Cluster Computing
As Strong as Possible Agent Mobility
Revised Papers from the International Workshop on Infrastructure for Multi-Agent Systems: Infrastructure for Agents, Multi-Agent Systems, and Scalable Multi-Agent Systems
Translating Strong Mobility into Weak Mobility
MA '01 Proceedings of the 5th International Conference on Mobile Agents
KLAVA: a Java package for distributed and mobile applications
Software—Practice & Experience
Strong agent mobility for aglets based on the IBM JikesRVM
Proceedings of the 2006 ACM symposium on Applied computing
Enabling Java mobile computing on the IBM Jikes research virtual machine
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
Temperature aware task scheduling in MPSoCs
Proceedings of the conference on Design, automation and test in Europe
Making Java applications mobile or persistent
COOTS'01 Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 6
Static and dynamic temperature-aware scheduling for multiprocessor SoCs
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Outdoor distributed computing with split smart messages
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
Strong mobility for FIPA compliant multi-agent systems
PRIMA'06 Proceedings of the 9th Pacific Rim international conference on Agent Computing and Multi-Agent Systems
Mobile distributed programming in X-KLAIM
SFM-Moby'05 Proceedings of the 5th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: mobile computing
Science of Computer Programming
Hi-index | 0.00 |
Today, distributed object-based computing is closely linked with Java. The Java virtual machine is ported to most current operating systems and provides many services, which help developing, distributed object-based applications (e.g. RMI). In Java, code and data mobility is a very important aspect. Java provides a serialization mechanism, which allows the capture and restoration of objects' states and therefore the migration of objects between machines. It also allows classes to be dynamically loaded and therefore to be moved between nodes. However, Java does not provide a mechanism for capturing and restoring a thread state. The stack of a Java thread is not accessible. Such a mechanism would allow a thread to be checkpointed or migrated between different nodes.In this paper, we report on our experience, which consisted in extending the Java virtual machine in order to allow the capture and restoration of a thread state. We describe the principles of the implementation of this extension and provide a performance evaluation.