skip to main content
10.1145/1854273.1854326acmconferencesArticle/Chapter ViewAbstractPublication PagespactConference Proceedingsconference-collections
research-article

Speculative-aware execution: a simple and efficient technique for utilizing multi-cores to improve single-thread performance

Published:11 September 2010Publication History

ABSTRACT

In this paper a new architecture, Speculative-Aware Execution (SAE) is presented that employs speculative-awareness as a means of mitigating the drawbacks of speculative execution which are: useless work (uses speculative values so it produces incorrect results or is done on the wrong path) and redundant work (produces results previously obtained). In order to achieve this, SAE tries to partition the dynamic instruction stream into two disjoint parallel threads: A speculative thread that is partially speculative-aware (p-thread) as it records its speculative state and uses it to avoid useless work (using speculative values) but have no account for its control-flow violations; and a fully speculative-aware thread (f-thread) that has full record of p-thread's speculations, and so can steer p-thread away from incorrect control-flow paths and can accurately identify p-thread's correct work and avoid it, otherwise it would be redundant. By eliminating useless and redundant works, SAE outperforms existing architectures that share similar high-level micro-architecture while incurring only minor hardware additions/changes. Detailed experimental results confirm that SAE indeed reduces the number of useless and redundant computations. We also report an average performance improvement of 18% for the SPEC_INT2000 benchmarks.

References

  1. }}S. Srinivasan, H. Akkary, T. Holman, and K. Lai, A minimal dual-core speculative multithreading architecture, ICCD, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. }}A. Roth and G. S. Sohi, Speculative data-driven multithreading, in Proc. HPCA-7, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}J. Pierce and T. Mudge, Wrong-path instruction prefetching., in Proc. MICRO-94, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}J. Collins, D. Tullsen, H. Wang, and J. P. Shen, Dynamic speculative precomputation, MICRO, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}D. Kim and D. Yeung, Design and evaluation of compiler algorithms for pre-execution, in ASPLOS-X, 2002, 159--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}S. S. W. Liao, P. H. Wang, G. Hoehner, D. Lavery, and J. P. Shen, Post-pass binary adaptation for software-based speculative precomputation, in ACM SIGPLAN PLDI, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}C. Zilles and G. Sohi, Execution-based-prediction using speculative slices, in Proc. ISCA-28, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}M. Annavaram, J. Patel, and E. Davidson, Data prefetching by dependence graph precomputation, ISCA-28, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}J. Dundas and T. Mudge, Improving data cache performance by pre-executing instructions under a cache miss, ICS, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. }}J. D. Collins, H. Wang, D. M. Tullsen, C. Hughes, Y. F. lee, D. Lavery, and J. P. Shen, Speculative precomputation: Long-range prefetching of delinquent loads, in ISCA-28, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}A. Roth and G. S. Sohi, Register integration: a simple and efficient implementation of squash reuse, MICRO-33, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}K. Sundaramoorthy, Z. Purser, and E. Rotenburg, A study of slipstream processors, MICRO, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}K. Olukotun, B. A. Nayfeh, L. Hammond, K. Wilson, & K. Chang, The case for a single chip multiprocessor, ASPLOS, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}M. Franklin, Multiscalar processors (Kluwer Academic Publishers, 2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. }}D. Burger, T. M. Austin, and S. Bennett, Evaluating future microprocessors: The simplescalar tool set, Tech. Rep. CS TR-1308, University of Wisconsin Madison, July 1996.Google ScholarGoogle Scholar
  16. }}L. Kurian, P. T. Hulina, and L. D. Coraor, Memory latency effects in decoupled architectures with a single data memory module, in Proc. ISCA-19, 1992, 236--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}R. Canal, J. M. Parcerisa, and A. Gonzalez, Dynamic cluster assignment mechanisms, HPCA, 2000.Google ScholarGoogle Scholar
  18. }}C. Zilles and G. Sohi, Master/slave speculative parallelization, in Proc. MICRO-35, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}S. Palacharla, N. Jouppi, and J. E. Smith, Complexity effective superscalar processors, ISCA, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. }}O. Mutlu, J. Stark, C. Wilkerson, and Y. Patt, Runahead execution: An alternative to very large instruction window for out-of-order processors, in Proc. MICRO, December 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}O. Mutlu, H. Kim, J. Stark, and Y. Patt, On reusing the results of pre-executed instructions in a runahead execution processor, in Computer Architecture Lettters, V. 4, January 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. }}R. Mameesh and M. Franklin, Symbiotic Subordinate Threading, in Proc. ICCD, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. }}H. Zhou, Dual-core execution: building a highly scalable single-thread instruction window, in. Proc. PACT-14, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. }}T.Sherwood, E.Perelman, G.Hamerly, & B.Calder, Automatically parallelizing large scale program behavior, ASPLOS, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. }}E. Perelman, G. Hamerly, M. Van Biesbrouck, T. Sherwood, and B. Calder, Using SimPoint for Accurate and Efficient Simulation, in Proc. SIGMETRICS, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. }}A. Sodani and G. S. Sohi, Dynamic instruction reuse, in Proc. ISCA-24, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. }}H. Akkary, R. Rajwar, and S. Srinivasan, Checkpoint processing and recovery: towards scalable large instruction window processors, in Proc. MICRO, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. }}S. Srinivasan, R. Rajwar, H. Akkary, A. Gandhi, and M. Upton, Continual flow pipelines, in Proc. ASPLOS-11, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. }}I.Ganusov and Burtschur, Future execution: a hardware pre-fetching technique for chip multiprocessors, in PACT-14, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. }}R. Barnes, E. Nustrom, J. Sias, S. Patel, N. Navaroo, and W. Hwu, Beating in-order stalls with flea-flicker two--pass pipelining, IEEE Transactions on Computers V. 55 No. 1, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. }}Alok Garg and Michael C. Huang, A performance-correctness explicitly-decoupled architecture, in Proc. MICRO, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Speculative-aware execution: a simple and efficient technique for utilizing multi-cores to improve single-thread performance

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        PACT '10: Proceedings of the 19th international conference on Parallel architectures and compilation techniques
        September 2010
        596 pages
        ISBN:9781450301787
        DOI:10.1145/1854273

        Copyright © 2010 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 11 September 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate121of471submissions,26%

        Upcoming Conference

        PACT '24
        International Conference on Parallel Architectures and Compilation Techniques
        October 14 - 16, 2024
        Southern California , CA , USA
      • Article Metrics

        • Downloads (Last 12 months)3
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader