``Libckpt: Transparent Checkpointing under Unix''

James S. Plank, Micah Beck, Gerry Kingsley, and Kai Li

Conference Proceedings, Usenix Winter 1995 Technical Conference, New Orleans, LA, January, 1995, pp. 213--223.

Disponible en la copia local USENIX-95W.ps.Z.

Abstract

Checkpointing is a simple technique for rollback recovery: the state of an executing program is periodically saved to a disk file from which it can be recovered after a failure. While recent research has developed a collection of powerful techniques for minimizing the overhead of writing checkpoint files, checkpointing remains unavailable to most application developers. In this paper we describe libckpt, a portable checkpointing tool for Unix that implements all applicable performance optimizations which are reported in the literature. While libckpt can be used in a mode which is almost totally transparent to the programmer, it also supports the incorporation of user directives into the creation of checkpoints. This user-directed checkpointing is an innovation which is unique to our work.

Artículo (postscript) (pdf)

Manual de libckpt (postscript) (pdf)

Fuentes de la librería (libckpt.tgz)

 

Práctica 3 de Fiabilidad y Tolerancia a Fallos

“Recuperación de procesos hacia atrás”

Resumen: Implementar un programa lanzador en ‘c’ que tome como parámetros los nombres de otros programas que se tienen que ejecutar. Mediante el uso de fork(), de execlp() y de wait(), el programa detectará cuando termina de forma anormal alguno de sus hijos para volverlos a ejecutar.

En una segunda parte, los programas que se ejecutan utilizarán la librería libckpt para establecer puntos de recuperación, de forma que cuando sean relanzados no empiecen de nuevo, sino desde el último checkpoint establecido.

En una tercera parte, se utilizará el fichero de configuración de libckpt (.ckptrc) para modificar la forma en que la librería realiza los puntos de recuperación.

(Se recomienda repasar las prácticas de Sistemas Operativos de 2 curso)

·       Descarga del software a utilizar: ftf_pr3.tgz