• DocumentCode
    656200
  • Title

    Mixed Model Universal Software Thread-Level Speculation

  • Author

    Zhen Cao ; Verbrugge, Clark

  • Author_Institution
    Sch. of Comput. Sci., McGill Univ., Montreal, QC, Canada
  • fYear
    2013
  • fDate
    1-4 Oct. 2013
  • Firstpage
    651
  • Lastpage
    660
  • Abstract
    Software approaches to Thread-Level Speculation (TLS) have been recently explored, bypassing the need for specialized hardware designs. These approaches, however, tend to focus on source or VM-level implementations aimed at specific language and runtime environments. In addition, previous software approaches tend to make use of a simple thread forking model, reducing their ability to extract substantial parallelism from tree-form recursion programs such as depth-first search and divide-and-conquer. This paper proposes a Mixed forking model Universal software-TLS (MUTLS) system to overcome these limitations. MUTLS is purely based on the LLVM intermediate representation (IR), a language and architecture independent IR that supports more than 10 source languages and target architectures by many projects. MUTLS maximizes parallel coverage by applying a mixed forking model that allows all threads to speculate, forming a tree of threads. We evaluate MUTLS using several C/C++ and Fortran benchmarks on a 64-core machine. On 3 computation intensive applications we achieve speedups of 30 to 50 and 20 to 50 for the C and Fortran versions, respectively. We also observe speedups of 2 to 7 for memory intensive applications. Our experiments indicate that a mixed model is preferable for parallelization of tree-form recursion applications over the simple forking models used by previous software-TLS approaches. Our work also demonstrates that actual speedup is achievable on existing, commodity multi-core processors while maintaining the flexibility of a highly generic implementation context.
  • Keywords
    C++ language; FORTRAN; multi-threading; multiprocessing systems; C-C++ language; FORTRAN language; LLVM intermediate representation; MUTLS; TLS; commodity multicore processors; depth-first search program; divide-and-conquer program; memory intensive applications; mixed forking model universal software; simple thread forking model; software approaches; software thread-level speculation; substantial parallelism; tree-form recursion programs; Context; Hardware; Libraries; Out of order; Parallel processing; Synchronization; Forking Model; Parallelization; Thread-Level Speculation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing (ICPP), 2013 42nd International Conference on
  • Conference_Location
    Lyon
  • ISSN
    0190-3918
  • Type

    conf

  • DOI
    10.1109/ICPP.2013.79
  • Filename
    6687403