In the online checkpointing problem, the task is to continuously maintain a set of fc checkpoints that allow to rewind an ongoing computation faster than by a full restart. The only operation allowed is to replace an old checkpoint by the current state. Our aim are checkpoint placement strategies that minimize rewinding cost, i.e., such that at all times T when requested to rewind to some time t ≤ T the number of computation steps that need to be redone to get to t from a checkpoint before t is as small as possible. In particular, we want that the closest checkpoint earlier than t is not further away from t than q_k times the ideal distance T/(k + 1), where q_k is a small constant. Improving over earlier work showing 1 + 1/k ≤ q_k ≤ 2, we show that q_k can be chosen asymptotically less than 2. We present algorithms with asymptotic discrepancy q_k ≤ 1.59 + o(1) valid for all fc and q_k ≤In(4) + o(1) ≤ 1.39 + o(1) valid for fc being a power of two. Experiments indicate the uniform bound p_k ≤ 1.7 for all k. For small fc, we show how to use a linear programming approach to compute good checkpointing algorithms. This gives discrepancies of less than 1.55 for all k < 60. We prove the first lower bound that is asymptotically more than one, namely q_k ≥ 1.30 -o(1). We also show that optimal algorithms (yielding the infimum discrepancy) exist for all k.
展开▼