User-level Checkpointing Through Exportable Kernel State

Patrick Tullmann Jay Lepreau Bryan Ford Mike Hibler Department of Computer Science University of Utah Salt Lake City, UT 84112 {tullmann, lepreau, baford, mike}@cs.utah.edu http://www.cs.utah.edu/flux
Abstract:

Checkpointing, process migration, and similar services need to have access not only to the memory of the constituent processes, but also to the complete state of all kernel provided objects (e.g., threads and ports) involved. Traditionally, a major stumbling block in these operations is acquiring and re-creating the state in the operating system.

We have implemented a transparent user-mode checkpointer as an application on our Fluke microkernel. This microkernel consistently and cleanly supports the importing and exporting of fundamental kernel state safely to and from user applications. Implementing a transparent checkpointing facility with this sort of kernel support simplifies the implementation, and expands its flexibility and power.

Copyright 1996 IEEE. Published in the Proceedings of the 5th IEEE International Workshop on Object-Orientation in Operating Systems, October 27-28, 1996, Seattle, WA. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works, must be obtained from the IEEE. Contact: Manager, Copyrights and Permissions / IEEE Service Center / 445 Hoes Lane / P.O. Box 1331 / Piscataway, NJ 08855-1331, USA. Telephone: + Intl. 908-562-3966.

Full paperpresented at and appears in Proceedings of the 5th IEEE International Workshop on Object-Orientation in Operating Systems, IEEE, October 1996.