Incremental Compiler Transformations For Multiple Instruction Retry

Abstract

Previous work on compiler-basedmultiple instruction retry has utilized a series of compiler transformations, loop protection, node splitting, and loop expansion, to eliminate anti-dependencies of length N in the pseudo register, the machine register, and the post-pass resolver phases of compilation 1. The results have provided a means of rapidly recovering from transient processor failures by rolling back N instructions. This paper presents techniques for improving compilation and run-time performance in compiler-based multiple instruction retry. Incremental updating enhances compilation time when new instructions are added to the program. Post-pass code rescheduling and spill register reassignment algorithms improve the run-time performance and decrease the code growth across the application programs studied. Branch hazards are shown to be resolvable by simple modifications to the incremental updating schemes during the pseudo register phase and to the spill register reassignment algorithm during the post-pass phase. KEY WORDS Rollback recovery Fault-tolerant computing Instruction retr

    Similar works

    Full text

    thumbnail-image

    Available Versions