Title
Reactive Techniques for Controlling Software Speculation
Abstract
Aggressive software speculation holds significant potential, because it enables program transformations to reduce the program's critical path. Like any form of speculation, however, the key to software speculation is employing it only where it is likely to succeed. While mechanisms for controlling hardware speculation (e.g., saturating counters updated after each instance) are well understood, these techniques do not translate directly to software techniques because changing a speculation requires changing the code. As it stands, the dominant software speculation control technique, non-reactive profile-guided optimization, lacks the robustness to support aggressive speculation. The primary thesis of this paper is that software speculation can be made to be robust by adding a reactive controller that can dynamically adjust the speculation. We make two primary observations about such systems: 1) reactive control systems can select behaviors on which to speculate with performance that equals or exceeds self-training, and 2) such control systems are remarkably latency tolerant. Although reactivity is required, it can be done at a low frequency; latencies of hundreds of thousands, or even millions of cycles, can be tolerated for most actions. Together these two characteristics imply that robust aggressive software speculation is a realistic goal.
Year
DOI
Venue
2005
10.1109/CGO.2005.30
CGO
Keywords
Field
DocType
low frequency,hardware,robust control,open loop systems,frequency,parallel programming,robustness,computer science,control systems,pipelines,control system,critical path
Speculation,Control theory,Computer science,Latency (engineering),Parallel computing,Real-time computing,Robustness (computer science),Software,Critical path method,Control system,Reactive control,Distributed computing
Conference
ISSN
ISBN
Citations 
2164-2397
0-7695-2298-X
2
PageRank 
References 
Authors
0.42
10
2
Name
Order
Citations
PageRank
Craig B. Zilles193294.74
Naveen Neelakantam240.82