• DocumentCode
    2705177
  • Title

    Reactive techniques for controlling software speculation

  • Author

    Zilles, Craig ; Neelakantam, Naveen

  • Author_Institution
    Siebel Center for Comput. Sci., Illinois Univ., Urbana, IL, USA
  • fYear
    2005
  • fDate
    20-23 March 2005
  • Firstpage
    305
  • Lastpage
    316
  • 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.
  • Keywords
    parallel programming; program compilers; nonreactive profile-guided optimization; program transformation; reactive technique; software speculation control; Computer science; Control systems; Counting circuits; Delay; Frequency; Hardware; Open loop systems; Pipelines; Robust control; Robustness;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2005. CGO 2005. International Symposium on
  • Print_ISBN
    0-7695-2298-X
  • Type

    conf

  • DOI
    10.1109/CGO.2005.30
  • Filename
    1402097