1. A method comprising: processing a first application on a compute node, which is included in a cluster, to produce first computed data and then storing the first computed data in a first section of volatile memory included locally in the compute node; halting the processing of the first application based on an initiated checkpoint; storing first state data corresponding to the halted first application and the first computed data in non-volatile memory included locally in the compute node; resuming processing of the halted first application and then continuing the processing the first application to produce second computed data while simultaneously pulling the first state information and the first computed data from the non-volatile memory to an input/output (IO) node; and storing the second computed data in a second section of the volatile memory simultaneously with storing the first computed data in the non-volatile memory.