DocumentCode :
2535159
Title :
ReSlice: selective re-execution of long-retired misspeculated instructions using forward slicing
Author :
Sarangi, Smruti R. ; Liu, Wei ; Torrellas, Josep ; Zhou, Yuanyuan
Author_Institution :
Illinois Univ., Urbana, IL, USA
fYear :
2005
fDate :
12-16 Nov. 2005
Abstract :
As more data value speculation mechanisms are being proposed to speed-up processors, there is growing pressure on the critical processor structures that must buffer the state of the speculative instructions. A scalable solution is to checkpoint the processor and retire speculative instructions. However, in this environment, misprediction recovery becomes very wasteful, as it involves discarding and re-executing all the instructions executed since the checkpoint. To speed-up execution in this environment, this paper presents a novel architecture (ReSlice) that selectively re-executes only the speculatively-retired instructions that directly depended on the mispredicted value, namely its Forward Slice. ReSlice buffers the (typically very few) instructions in the forward slice of the predicted value as such instructions initially execute. Then, potentially thousands of instructions later, ReSlice can quickly re-execute the slice if a misprediction is declared, and merge its state with the program state. In addition, this paper develops a sufficient condition for correct slice re-execution and merge. As one possible use of ReSlice, we apply it to recover from cross-task dependence violations in a chip multiprocessor with thread-level speculation (TLS). ReSlice speeds up SpecInt applications over aggressive TLS by up to 33%, with a geometric mean of 12%. Moreover, E × D2 decreases by 20%. All this is obtained by saving on average 61% of the task squashes through slice re-execution. On average, a slice re-executes only 6.6 instructions, compared to the 210 that would be re-executed on a squash.
Keywords :
checkpointing; instruction sets; microprocessor chips; program slicing; Forward Slice; ReSlice; SpecInt applications; chip multiprocessor; cross-task dependence violations; data value speculation mechanisms; forward slicing; misprediction recovery; misspeculated instructions; speculative instructions; speculatively-retired instructions; thread-level speculation; Checkpointing; Delay; Proposals; Registers; Sufficient conditions; US Department of Energy; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microarchitecture, 2005. MICRO-38. Proceedings. 38th Annual IEEE/ACM International Symposium on
Print_ISBN :
0-7695-2440-0
Type :
conf
DOI :
10.1109/MICRO.2005.28
Filename :
1540965
Link To Document :
بازگشت