|
Transparent Orthogonal Checkpointing Through User-Level Pagers
Espen Skoglund, Christian Ceelen, and Jochen Liedtke
Abstract
Orthogonal persistence opens up the possibility for a number of
applications. We present an approach for easily enabling
transparent orthogonal persistence, basically on top of a modern
µ-kernel. Not only are all data objects made persistent.
Threads and tasks are also treated as normal data objects, making
the threads and tasks persistent between system restarts. As such,
the system is fault surviving. Persistence is achieved by the means
of a transparent checkpoint server running in user-level. The
checkpoint server takes regular snapshots of all user-level memory
in the system, and also of the thread control blocks inside the
kernel. The execution of the checkpointing itself is completely
transparent to the µ-kernel, and only a few recovery mechanisms
need to be implemented inside the kernel in order to support
checkpointing. During system recovery (after a crash or a
controlled shutdown), the consistency of threads is assured by the
fact that all their user-level state (user memory) and kernel-level
state (thread control blocks) will reside in stable storage. All
other kernel state in the system can be reconstructed either upon
initial recovery, or by standard page fault mechanisms during
runtime.
In Proceedings of the 9th International Workshop on Persistent Object Systems (POS9), Lillehammer, Norway, September 2000
Full paper: [pdf] [ps]
BibTeX: @InProceedings{skoglund00Checkpointing,
author = {Espen Skoglund and Christian Ceelen and Jochen Liedtke},
title = {Transparent Orthogonal Checkpointing Through
User-Level Pagers},
booktitle = {Proceedings of the 9th International Workshop on
Persistent Object Systems},
pages = {201--215},
year = 2000,
address = {Lillehammer, Norway},
month = sep # "~6--8",
url = {http://l4ka.org/publications/}
}
|