Current work on persistency in Java does not consider. the execution environment of the threads and this is one of the reasons why persistence has not been addressed by the Java high-performance community. Equipping high-performance computing systems with checkpointing and recovery mechanisms allows to minimise work loss in presence of failure. This paper discusses concepts for checkpointing and recovery of running Java virtual machines (JVM). Checkpointing a JVM is to capture the execution state of the JVM and to make this s tate persistent. In order to recover the checkpointed execution state, it is necessary to reproduce the execution state and to resume the JVM. In other words checkpointing and recovery allows the reconstruction of a JVM at any arbitrary execution state. The checkpointing and recovery concepts have been prototypically implemented. The prototype provides generic mechanisms for extracting an execution state from a running JVM and for initialising a JVM with a persi tent execution state. These mechanisms can be used for a wide range of applications. Our prototype also uses these mechanisms for JVM migra t ion (relocation of a running JVM from one computer to another computer). General Terms Persistence, Java, JVM, execution state, checkpointing, recovery
[1]
Leslie Lamport,et al.
The mutual exclusion problem: partII—statement and solutions
,
1986,
JACM.
[2]
Abraham Silberschatz,et al.
Operating system concepts (3rd ed.)
,
1991
.
[3]
James A. Gosling,et al.
Window Toolkit and Applets
,
1996
.
[4]
Alfred V. Aho,et al.
Compilers: Principles, Techniques, and Tools
,
1986,
Addison-Wesley series in computer science / World student series edition.
[5]
Andrew W. Appel,et al.
Modern Compiler Implementation in Java
,
1997
.
[6]
B. Lewis,et al.
Eecient Barriers for Persistent Object Caching in a High-performance Java T M Virtual Machine
,
1999
.
[7]
Leslie Lamport,et al.
The mutual exclusion problem: part I—a theory of interprocess communication
,
1986,
JACM.
[8]
Abraham Silberschatz,et al.
Operating System Concepts
,
1983
.
[9]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[10]
Malcolm P. Atkinson,et al.
Orthogonal persistence for the java platform: draft specification
,
1999
.
[11]
James A. Gosling,et al.
The Java application programming interface
,
1996
.