1. A massively parallel computer system comprising: a) a plurality of compute nodes; b) a plurality of 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; wherein the checkpoint server broadcasts a list of data block checksums from a previous checkpoint to all compute nodes in a cluster and the compute nodes search their own memory image for checksum matches using an rsync protocol rolling checksum algorithm; wherein each node sends its new data block checksum template to an adjacent node in the cluster of nodes; and compares checksums to find common data blocks between all adjacent nodes as well as its own data blocks; and informs adjacent nodes to replace a reference to a common data block with a reference to a data block on another node; wherein each node sends its new data block checksum template to an adjacent node in the cluster of nodes; and compares checksums to find common data blocks between all adjacent nodes as well as its own data blocks; and informs adjacent nodes to replace a reference to a common data block with a reference to a data block on another node; wherein each node collects reference templates from the compute nodes and stores them in the checkpoint server; and collects new unique data blocks and stores them to the checkpoint server; and wherein I/O nodes store the data blocks to unique storage servers over network lines connected to the I/O nodes.