Persistent execution state of a Java virtual machine
Proceedings of the ACM 2000 conference on Java Grande
Virtual-machine-based heterogeneous checkpointing
Software—Practice & Experience
COORDINATION '99 Proceedings of the Third International Conference on Coordination Languages and Models
Transparent Migration of Java-Based Mobile Agents
MA '98 Proceedings of the Second International Workshop on Mobile Agents
Strong Mobility and Fine-Grained Resource Control in NOMADS
ASA/MA 2000 Proceedings of the Second International Symposium on Agent Systems and Applications and Fourth International Symposium 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
Transparent Migration of Mobile Agents Using the Java Platform Debugger Architecture
MA '01 Proceedings of the 5th International Conference 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
M-JavaMPI: A Java-MPI Binding with Process Migration Support
CCGRID '02 Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid
IBM Systems Journal
Advanced Programming in the UNIX(R) Environment (2nd Edition)
Advanced Programming in the UNIX(R) Environment (2nd Edition)
Experiences implementing efficient Java thread serialization, mobility and persistence
Software—Practice & Experience - Research Articles
A resource management interface for the Java™ platform
Software—Practice & Experience - Research Articles
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
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
Processes in KaffeOS: isolation, resource management, and sharing in java
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Live wide-area migration of virtual machines including local persistent state
Proceedings of the 3rd international conference on Virtual execution environments
Using hardware performance monitors to understand the behavior of java applications
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
A hierarchical approach for the redesign of chemical processes
Knowledge and Information Systems
Utility library for structural bioinformatics
Bioinformatics
Modern Operating Systems
Bioinformatics
Platform-independent profiling in a virtual execution environment
Software—Practice & Experience
OBIWAN: design and implementation of a middleware platform
IEEE Transactions on Parallel and Distributed Systems
Proceedings of the 28th Annual ACM Symposium on Applied Computing
On minimizing the resource consumption of cloud applications using process migrations
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Object-oriented programming languages presently are the dominant paradigm of application development (e.g., Java, .NET). Lately, increasingly more Java applications have long (or very long) execution times and manipulate large amounts of data/information, gaining relevance in fields related with e-Science (with Grid and Cloud computing). Significant examples include Chemistry, Computational Biology and Bio-informatics, with many available Java-based APIs (e.g., Neobio). Often, when the execution of such an application is terminated abruptly because of a failure (regardless of the cause being a hardware of software fault, lack of available resources, etc.), all of its work already performed is simply lost, and when the application is later re-initiated, it has to restart all its work from scratch, wasting resources and time, while also being prone to another failure and may delay its completion with no deadline guarantees. Our proposed solution to address these issues is through incorporating mechanisms for checkpointing and migration in a JVM. These make applications more robust and flexible by being able to move to other nodes, without any intervention from the programmer. This article provides a solution to Java applications with long execution times, by extending a JVM (Jikes research virtual machine) with such mechanisms. Copyright © 2011 John Wiley & Sons, Ltd.