Lightweight Distributed Selective Re-Execution and Its Implications for Value Speculation
In this paper, the authors describe a lightweight protocol to support selective re-execution on the TRIPS processor. The protocol permits multiple waves of speculation to be traversing a dataflow graph simultaneously and in any order, with a cleanup "Commit" wave propagating as well to determine completion of a group of instructions. The protocol is completely distributed, consisting of point-to-point messages and requiring no centralized control. Thus, recovery from value mis-speculations requires no additional fetching or decoding of instructions, and no issue of instructions that were independent of the faulting instruction. They describe briefly one way in which this protocol can be exploited: by allowing every instruction to use a decentralized last value predictor.