Checkpoint allocation and release

Amit Golander, Shlomo Weiss*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Out-of-order speculative processors need a bookkeeping method to recover from incorrect speculation. In recent years, several microarchitectures that employ checkpoints have been proposed, either extending the reorder buffer or entirely replacing it. This work presents an in-dept-study of checkpointing in checkpoint-based microarchitectures, from the desired content of a checkpoint, via implementation trade-offs, and to checkpoint allocation and release policies. A major contribution of the article is a novel adaptive checkpoint allocation policy that outperforms known policies. The adaptive policy controls checkpoint allocation according to dynamic events, such as second-level cache misses and rollback history. It achieves 6.8% and 2.2% speedup for the integer and floating point benchmarks, respectively, and does not require a branch confidence estimator. The results show that the proposed adaptive policy achieves most of the potential of an oracle policy whose performance improvement is 9.8% and 3.9% for the integer and floating point benchmarks, respectively. We exploit known techniques for saving leakage power by adapting and applying them to checkpoint-based microarchitectures. The proposed applications combine to reduce the leakage power of the register file to about one half of its original value.

Original languageEnglish
Article number10
JournalTransactions on Architecture and Code Optimization
Issue number3
StatePublished - 1 Sep 2009


  • Checkpoint
  • Early register release
  • Leakage
  • Misprediction
  • Out-of-order execution
  • Rollback


Dive into the research topics of 'Checkpoint allocation and release'. Together they form a unique fingerprint.

Cite this