2003 · 57 citations · 9 references
ComputingComputer ScienceComputer SystemsDistributed SystemsFault ToleranceOperating SystemsHigh-throughput ComputingRace Condition VulnerabilitiesRuntime SystemsSoftware Fault ToleranceSystem CallsCheckpointingCheckpointsExecution Runtime SystemsProcess MigrationRuntime Migration
Process checkpointing is a basic mechanism required for providing high throughput computing service on distributively owned resources. We present a new process checkpoint and migration technique, called process hijacking, that uses dynamic program re-writing techniques to add checkpointing capability to a running program. Process hijacking makes it possible to checkpoint and migrate proprietary applications that cannot be re-linked with a checkpoint library, and it makes it possible to dynamically hand off an ordinary running process to a distributed resource management system such as Condor. We discuss the problems of adding checkpointing capability to a program already in execution: loading new code into the running process; and replacing functions of the process with calls to dynamically loaded functions. We use the DynInst API process editing library, augmented with a new call for replacing functions, to solve these problems.
9
The Paradyn parallel performance measurement tool
Barton P. Miller, Mary Callaghan, Jon Cargille et al. · Computer · 1995 · 828 citations
CoCheck: checkpointing and process migration for MPI
Georg Stellner · 2002 · 339 citations