Skip to main content

CPROB: Checkpoint processing with opportunistic minimal recovery

Publication ,  Conference
Hilton, A; Eswaran, N; Roth, A
Published in: Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT
November 23, 2009

CPR (Checkpoint Processing and Recovery) is a physical register management scheme that supports a larger instruction window and higher average IPC than conventional ROB-style register management. It does so by restricting mis-speculation recovery to checkpoints created at rename, and leveraging this restriction to aggressively reclaim registers that don't appear in checkpoints. The cost of CPR is checkpoint overhead, which is incurred when a mis-speculation occurs on an instruction for which a checkpoint was not created a priori. Here, CPR must recover to the immediately older checkpoint, squashing instructions older than the mis-speculation itself. In contrast, a ROB processor performs minimal recovery and only squashes instructions younger than the mis-speculation. CPROB is a hybrid register management scheme that preserves CPR's aggressive reclamation while opportunistically minimizing checkpoint overhead. CPROB extends CPR to track and hold the registers needed to perform minimal recovery to un-executed branches within each checkpoint. Recovery registers are held on a best-effort basis only. A checkpoint's recovery registers can be freed spontaneously when all branches in the checkpoint execute. They can also be aggressively victimized if dispatch needs registers to proceed. CPROB naturally adapts the register reclamation policy to dynamic branch behavior. When branch mis-predictions are infrequent and registers are needed to support a large window, CPROB victimizes registers and behaves like CPR. When mis-predictions are frequent and the window is small, CPROB holds on to registers and behaves like ROB. As a result, it out-performs both CPR and ROB for a given program. This performance improvement, combined with reduced checkpoint overhead, makes CPROB more energy-efficient than either ROB or CPR.

Duke Scholars

Published In

Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT

DOI

ISSN

1089-795X

Publication Date

November 23, 2009

Start / End Page

159 / 168
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Hilton, A., Eswaran, N., & Roth, A. (2009). CPROB: Checkpoint processing with opportunistic minimal recovery. In Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT (pp. 159–168). https://doi.org/10.1109/PACT.2009.42
Hilton, A., N. Eswaran, and A. Roth. “CPROB: Checkpoint processing with opportunistic minimal recovery.” In Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, 159–68, 2009. https://doi.org/10.1109/PACT.2009.42.
Hilton A, Eswaran N, Roth A. CPROB: Checkpoint processing with opportunistic minimal recovery. In: Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT. 2009. p. 159–68.
Hilton, A., et al. “CPROB: Checkpoint processing with opportunistic minimal recovery.” Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, 2009, pp. 159–68. Scopus, doi:10.1109/PACT.2009.42.
Hilton A, Eswaran N, Roth A. CPROB: Checkpoint processing with opportunistic minimal recovery. Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT. 2009. p. 159–168.

Published In

Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT

DOI

ISSN

1089-795X

Publication Date

November 23, 2009

Start / End Page

159 / 168