1. A computer implemented method for computing a checkpoint interval, the computer implemented method comprising: determining, in an application executing using a processor and a memory, a cost associated with taking a checkpoint, the cost including a cost of energy consumed in re-computing a computation lost due to a failure after taking the checkpoint; computing an interval between checkpoints to minimize the cost; sending an instruction to schedule the checkpoints at the computed interval; and taking the checkpoint according to the schedule, causing data representing status of a computer at a time of taking the checkpoint to be stored in a data storage device.