1. A parallel computer system comprising: a) a plurality of compute nodes; b) a plurality of input/output (I/O) nodes connected to the compute nodes; c) a network that connects the compute nodes and the I/O nodes that supports a broadcast communication with the compute nodes; d) a checkpoint server that collects a parallel checkpoint of the state of the compute nodes using a rolling checksum algorithm and broadcasts a list of data block checksums for a plurality of data blocks on the server from a previous checkpoint to the plurality of compute nodes and the compute nodes search their own memory image for checksum matches using the rolling checksum algorithm; and wherein each compute node produces a template of new data blocks with checksums that didn't exist in the previous checkpoint and references to the original data blocks that did exist in the previous checkpoint where the template of new data blocks and the references on the compute node identifies which of the memory blocks stored in the checkpoint server make up the memory of the compute node.