Abstract

Multiple instruction rollback is a technique developed for recovery from transient processor failures. 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. This chapter describes compiler-assisted multiple instruction rollback schemes and their applicability to speculative execution repair. Performance measurements across ten application programs are presented. The results indicate that techniques used in compiler-assisted rollback recovery are effective for handling branch and exception repair in support of speculative execution.