Hardware Architectures for Fault Tolerance

Hardware and Software Architectures for Fault Tolerance

Volume 774 of the series Lecture Notes in Computer Science pp 45-65


Application of compiler-assisted rollback recovery to speculative execution repair

  • Neal J. AlewineAffiliated withInternational Business Machines Corporation
  • , W. Kent FuchsAffiliated withCoordinated Science Laboratory, University of Illinois
  • , Wen-mei HwuAffiliated withCoordinated Science Laboratory, University of Illinois

* Final gross prices may vary according to local VAT.

Get Access


Speculative execution is a method to increase instruction level parallelism which can be exploited by both super-scalar and VLIW architectures. The key to a successful general speculation strategy is a repair mechanism to handle mispredicted branches and accurate reporting of exceptions for speculated instructions. Multiple instruction rollback is a technique developed for recovery from transient processor failures. This paper investigates the applicability of a recently developed compiler-assisted multiple instruction rollback scheme to aid in speculative execution repair. Extensions to the compiler-assisted scheme to support branch and exception repair are presented along with performance measurements across ten application programs. Our results indicate that techniques used in compiler-assisted rollback recovery are effective for handling branch and exception repair in support of speculative execution.