• DocumentCode
    2787890
  • Title

    STM2: A Parallel STM for High Performance Simultaneous Multithreading Systems

  • Author

    Kestor, Gokcen ; Gioiosa, Roberto ; Harris, Tim ; Unsal, Osman S. ; Cristal, Adrian ; Hur, Ibrahim ; Valero, Mateo

  • Author_Institution
    Barcelona Supercomput. Center, Barcelona, Spain
  • fYear
    2011
  • fDate
    10-14 Oct. 2011
  • Firstpage
    221
  • Lastpage
    231
  • Abstract
    Extracting high performance from modern chip multithreading (CMT) processors is a complex task, especially for large CMT systems. Programmers must efficiently parallelize performance-critical software while avoiding deadlocks and race conditions. Transactional memory (TM) is a promising programming model that allows programmers to focus on parallelism rather than maintaining correctness and avoiding deadlock. Software-only implementations (STMs) are especially compelling because they run on commodity hardware, therefore providing high portability. Unfortunately, STM systems usually suffer from high overheads, which may limit their usage especially at scale. In this paper we present STM2, a novel parallel STM designed for high performance, aggressive multithreading systems. STM2 significantly lowers runtime overhead by offloading read-set validation, bookkeeping and conflict detection to auxiliary threads running on sibling hardware threads. Auxiliary threads perform STM operations in parallel with their paired application threads and absorb STM overhead, significantly improving performance. We exploit the fact that, on modern multi-core processors, sets of cores can share L1 or L2 caches. This lets us achieve closer coupling between the application thread and the auxiliary thread (when compared with a traditional multi-processor systems). Our results, performed on an IBM POWER7 machine, a state-of-the-art, aggressive multi-threaded system, show that our approach outperforms several well-known STM implementations. In particular, STM2 shows speedups between 1.8x and 5.2x over the tested STM systems, on average, with peaks up to 12.8x.
  • Keywords
    cache storage; microprocessor chips; multi-threading; multiprocessing systems; IBM POWER7 machine; STM2; chip multithreading processors; high performance simultaneous multithreading systems; multicore processors; parallel STM; performance-critical software parallelization; software-only implementations; transactional memory; Hardware; Instruction sets; Instruments; Message systems; Multithreading; Synchronization; Transactional memory; parallel programming; performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on
  • Conference_Location
    Galveston, TX
  • ISSN
    1089-795X
  • Print_ISBN
    978-1-4577-1794-9
  • Type

    conf

  • DOI
    10.1109/PACT.2011.54
  • Filename
    6113831