Turbo-ROB: A Low Cost Checkpoint/Restore Accelerator

Modern processors use speculative execution to improve performance. However, speculative execution requires a checkpoint/restore mechanism to repair the machine's state whenever speculation fails. Existing checkpoint/restore mechanisms do not scale well for processors with relatively large windows (i.e., 128 or more). This work presents Turbo-ROB, a checkpoint/restore recovery accelerator that can complement or replace existing checkpoint/restore mechanisms. We show that the Turbo-ROB improves performance and reduces resource requirements compared to a conventional Re-order Buffer mechanism. For example, on the average, a 64-entry TROB matches the performance of a 512-entry ROB, while a 128- and a 512-entry TROB outperform the 512-entry ROB by 6.8% and 9.1% respectively. We also demonstrate that the TROB improves performance with register alias table checkpoints effectively reducing the need from more checkpoints and the latency and energy increase these would imply.

[1]  Yale N. Patt,et al.  Checkpoint repair for out-of-order execution machines , 1987, ISCA '87.

[2]  Angela Arapoyanni,et al.  On the latency, energy and area of checkpointed, superscalar register alias tables , 2007, Proceedings of the 2007 international symposium on Low power electronics and design (ISLPED '07).

[3]  Dirk Grunwald,et al.  Confidence estimation for speculation control , 1998, ISCA.

[4]  Haitham Akkary,et al.  Checkpoint processing and recovery: towards scalable large instruction window processors , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[5]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[6]  S SohiGurindar Instruction Issue Logic for High-Performance, Interruptible, Multiple Functional Unit, Pipelined Computers , 1990 .

[7]  Kenneth C. Yeager The Mips R10000 superscalar microprocessor , 1996, IEEE Micro.

[8]  Eric Rotenberg,et al.  Assigning confidence to conditional branch predictions , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[9]  Daniel A. Jiménez Composite Confidence Estimators for Enhanced Speculation Control , 2009, 2009 21st International Symposium on Computer Architecture and High Performance Computing.

[10]  Josep Llosa,et al.  Kilo-instruction Processors , 2003, ISHPC.

[11]  Andreas Moshovos Checkpointing alternatives for high performance, power-aware processors , 2003, ISLPED '03.

[12]  Dirk Grunwald,et al.  Pipeline gating: speculation control for energy reduction , 1998, ISCA.

[13]  Haitham Akkary,et al.  An analysis of a resource efficient checkpoint architecture , 2004, TACO.

[14]  José González,et al.  Dual path instruction processing , 2002, ICS '02.

[15]  Peng Zhou,et al.  Fast branch misprediction recovery in out-of-order superscalar processors , 2005, ICS '05.

[16]  Andrew R. Pleszkun,et al.  Implementing Precise Interrupts in Pipelined Processors , 1988, IEEE Trans. Computers.