1. A method performed by one or more computer systems that include memory for processing a batch of input data in a fault tolerant manner, the method including: performing computations on the batch of input data, wherein at least one but fewer than all of the computations includes a checkpoint process for multiple units of work associated with the batch; wherein the checkpoint process includes: for a unit of work from the batch, if a result from performing an action for the unit of work was previously saved in a checkpoint buffer stored in memory, using the saved result to complete performing the computations on the unit of work without performing the action again; or if the result from performing the action for the unit of work is not saved in the checkpoint buffer, performing the action to complete performing the computations on the unit of work and saving the result from performing the action in the checkpoint buffer.