User-level Checkpointing of POSIX Threads

William R. Dieter, James E. Lumpp · 2009

Multiple threads running in a single, shared address space is a simple model for writing parallel programs for symmetric multiprocessor (SMP) machines and for overlapping I/O and computation in programs run on either SMP or single processor machines. Often a long running program 's user would like the program to save its state periodically in a checkpoint from which it can recover in case of a failure. Previous user-level checkpointing libraries to checkpoint Unix processes do not support multithreaded programs. This paper describes a user-level checkpointing library to checkpoint multithreaded programs that use the POSIX threads library provided by Solaris 2. The checkpointing library increases the amount of time required to make some thread library calls. The checkpointing library added between less than 1 % and 10 % to the execution times of tested benchmark programs. Saving the program's state to a checkpoint further increased the execution time, but the percentage of total execut...

Read the paper · More papers on PaperTik