  In the online checkpointing problem, the task is to continuously maintain a
set of k 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 k and q_k <= ln(4) + o(1) <= 1.39
+ o(1) valid for k being a power of two. Experiments indicate the uniform bound
p_k <= 1.7 for all k. For small k, 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.
