login

Process hijacking

Published 20 January 2003
Victor C. Zandy, Barton P. Miller, Miron Livny
Citations57

TL;DR

The DynInst API process editing library is augmented with a new call for replacing functions, to solve the problems of adding checkpointing capability to a program already in execution.

Abstract

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.

Keywords

Computer Science