Checkpoint allocation and release

Amit Golander, Shlomo Weiss*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

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
Volume6
Issue number3
DOIs
StatePublished - 1 Sep 2009

Keywords

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

Fingerprint

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

Cite this