James S. Plank, and Kai Li
24th International Symposium on Fault-Tolerant Computing, Austin, TX, June, 1994, pp 288--297.
Available via anonymous ftp to cs.utk.edu in
The algorithm requires each application processor to allocate a fixed amount of extra memory for checkpointing. This amount may be set statically by the programmer, and need not be equal to the size of the processor's writable address space. This alleviates a major restriction of previous checkpointing algorithms using N+1 parity [plank 93].
Finally, we outline how to extend our algorithm to tolerate any m processor failures with the addition of 2m extra checkpointing processors.