• DocumentCode
    3369915
  • Title

    Exploring speculative parallelism in SPEC2006

  • Author

    Packirisamy, Venkatesan ; Zhai, Antonia ; Hsu, Wei-Chung ; Yew, Pen-Chung ; Ngai, Tin-Fook

  • Author_Institution
    Univ. of Minnesota, Minneapolis, MN
  • fYear
    2009
  • fDate
    26-28 April 2009
  • Firstpage
    77
  • Lastpage
    88
  • Abstract
    The computer industry has adopted multi-threaded and multi-core architectures as the clock rate increase stalled in early 2000´s. It was hoped that the continuous improvement of single-program performance could be achieved through these architectures. However, traditional parallelizing compilers often fail to effectively parallelize general-purpose applications which typically have complex control flow and excessive pointer usage. Recently hardware techniques such as Transactional Memory (TM) and Thread-Level Speculation (TLS) have been proposed to simplify the task of parallelization by using speculative threads. Potential of speculative parallelism in general-purpose applications like SPEC CPU 2000 have been well studied and shown to be moderately successful. Preliminary work examining the potential parallelism in SPEC2006 deployed parallel threads with a restrictive TLS execution model and limited compiler support, and thus only showed limited performance potential. In this paper, we first analyze the cross-iteration dependence behavior of SPEC 2006 benchmarks and show that more parallelism potential is available in SPEC 2006 benchmarks, comparing to SPEC2000. We further use a state-of-the-art profile-driven TLS compiler to identify loops that can be speculatively parallelized. Overall, we found that with optimal loop selection we can potentially achieve an average speedup of 60% on four cores over what could be achieved by a traditional parallelizing compiler such as Intel´s ICC compiler.We also found that an additional 11% improvement can be potentially obtained on selected benchmarks using 8 cores when we extend TLS on multiple loop levels as opposed to restricting to a single loop level.
  • Keywords
    multiprocessing systems; parallel processing; parallelising compilers; program control structures; TLS execution model; Thread-Level Speculation; Transactional Memory; complex control flow; computer industry; multicore architectures; multithreaded architectures; optimal loop selection; parallel threads; parallelizing compilers; profile-driven TLS compiler; single-program performance; speculative parallelism; speculative threads; Application software; Clocks; Computer architecture; Computer industry; Continuous improvement; Hardware; Parallel processing; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems and Software, 2009. ISPASS 2009. IEEE International Symposium on
  • Conference_Location
    Boston, MA
  • Print_ISBN
    978-1-4244-4184-6
  • Type

    conf

  • DOI
    10.1109/ISPASS.2009.4919640
  • Filename
    4919640