Checkpointing enables us to reduce the time to recover from a fault by
saving intermediate states of the program in a reliable storage. The
length of the intervals between checkpoints affects the execution time
of programs. On one hand, long intervals lead to long reprocessing ti
me, while, on the other hand, too frequent checkpointing leads to high
checkpointing overhead, In this paper, we present an on-line algorith
m for placement of checkpoints. The algorithm uses knowledge of the cu
rrent cost of a checkpoint when it decides whether or not to place a c
heckpoint. The total overhead of the execution time when the proposed
algorithm is used is smaller than the overhead when fixed intervals ar
e used. Although the proposed algorithm uses only on-line knowledge ab
out the cost of checkpointing, its behavior is close to the of-line op
timal algorithm that uses a complete knowledge of checkpointing cost.