38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05)
DOI: 10.1109/micro.2005.28
|View full text |Cite
|
Sign up to set email alerts
|

ReSlice: Selective Re-Execution of Long-Retired Misspeculated Instructions Using Forward Slicing

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 p… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
28
0

Publication Types

Select...
6
1
1

Relationship

0
8

Authors

Journals

citations
Cited by 35 publications
(28 citation statements)
references
References 36 publications
(64 reference statements)
0
28
0
Order By: Relevance
“…ReSlice [45] reexecutes only the conflicting load and its dependent instructions, and RetCon [8] performs symbolic reexecution of simple, conflicting auxiliary updates (e.g., updates to shared counters that are not used elsewhere in the transaction). Unlike these schemes, COMMTM does not trigger conflicts to begin with, avoiding superfluous communication and serialization.…”
Section: Additional Related Workmentioning
confidence: 99%
“…ReSlice [45] reexecutes only the conflicting load and its dependent instructions, and RetCon [8] performs symbolic reexecution of simple, conflicting auxiliary updates (e.g., updates to shared counters that are not used elsewhere in the transaction). Unlike these schemes, COMMTM does not trigger conflicts to begin with, avoiding superfluous communication and serialization.…”
Section: Additional Related Workmentioning
confidence: 99%
“…A different mechanism for selective re-execution is to find the slice of instructions affected by a dependence violation [15]. The system proposed by Tuck and Tullsen [20] uses multiple contexts to recover from failed value prediction.…”
Section: Related Workmentioning
confidence: 99%
“…Although we do not rely on creating checkpoints in this work, we draw some inspiration from several recent proposals which use register file checkpointing and exploit load-independence to accelerate the execution of single-threaded applications [11,17,19]. There are some principal differences between our proposal and those prior works and it is important to highlight them.…”
Section: Register File Optimizationsmentioning
confidence: 99%
“…The key statistics that provided an inspiration for this work is that the majority of the instructions in the shadow of the long-latency loads are, in fact, load-independent [19]. These load-independent instructions release their issue queue entries fairly fast, but then pile up in the reorder buffer, waiting for the cache miss to be serviced.…”
Section: Introductionmentioning
confidence: 99%