• DocumentCode
    3209270
  • Title

    Store vulnerability window (SVW): re-execution filtering for enhanced load optimization

  • Author

    Roth, Amir

  • Author_Institution
    Dept. of Comput. & Inf. Sci., Pennsylvania Univ., Philadelphia, PA, USA
  • fYear
    2005
  • fDate
    4-8 June 2005
  • Firstpage
    458
  • Lastpage
    468
  • Abstract
    The load-store unit is a performance critical component of a dynamically-scheduled processor. It is also a complex and non-scalable component. Several recently proposed techniques use some form of speculation to simplify the load-store unit and check this speculation by re-executing some of the loads prior to commit. We call such techniques load optimizations. One recent load optimization improves load queue (LQ) scalability by using re-execution rather than associative search to check speculative intra- and inter- thread memory ordering. A second technique improves store queue (SQ) scalability by speculatively filtering some load accesses and some store entries from it and re-executing loads to check that speculation. A third technique speculatively removes redundant loads from the execution engine; re-execution detects false eliminations. Unfortunately, the benefits of a load optimization are often mitigated by re-execution itself Re-execution contends for cache bandwidth with store commit, and serializes load re-execution with subsequent store com-mit. If a given load optimization requires a sufficient number of load re-executions, the aggregate re-execution cost may overwhelm the benefits of the technique entirely and even cause drastic slowdowns. Store vulnerability window (SVW) is a new mechanism that significantly reduces the re-execution requirements of a given load optimization. SVW is based on monotonic store sequence numbering and an adaptation of Bloom filtering. The cost of a typical SVW implementation is a 1KB buffer and a 16-bit field per LQ entry. Across the three optimizations we study, SVW reduces re-executions by an average of 85%. This reduction relieves cache port contention and removes many of the dynamic serialization events that contribute the bulk of re-execution´s cost, allows these load optimizations to perform up to their full potential. For the speculative SQ, this means the chance to perform at all, as without SVW it posts significant slowdowns.
  • Keywords
    cache storage; dynamic scheduling; multi-threading; optimisation; processor scheduling; queueing theory; storage management; SVW implementation; bloom filtering; cache bandwidth; dynamically-scheduled processor; enhanced load optimization; inter-thread memory ordering; intra-thread memory ordering; load optimizations; load queue scalability; load-store unit; monotonic store sequence numbering; re-execution filtering; redundant loads; store queue scalability; store vulnerability window; Buffer storage; Computer architecture; Costs; Engines; Information filtering; Information filters; Information science; Pipelines; Retirement; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2005. ISCA '05. Proceedings. 32nd International Symposium on
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-2270-X
  • Type

    conf

  • DOI
    10.1109/ISCA.2005.48
  • Filename
    1431578