Persistent execution state of a Java virtual machine
Takashi Suezawa · 2000
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 mech-anisms allows to minimise work loss in presence of failure. This paper discusses concepts for checkpointing and recov-ery of running Java virtual machines (JVM). Checkpoint-ing a JVM is to capture the execution state of the JVM and to make this state 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 pro-totypically implemented. The prototype provides generic mechanisms for extracting an execution state from a run-ning JVM and for initialising a JVM with a persitent execu-tion state. These mechanisms can be used for a wide range of applications. Our prototype also uses these mechanisms for JVM migration (relocation of a running JVM from one computer to another computer).