Programmatically Invoked Checkpoints

Designing a program to be checkpointed and successfully restarted involves more than simply including a checkpoint invocation statement. You must verify that the program is not using features that are disallowed for checkpointing. You must also plan for recovery of data file contents and libraries.