• DocumentCode
    725409
  • Title

    Cache Affinity Optimization Techniques for Scaling Software Transactional Memory Systems on Multi-CMP Architectures

  • Author

    Kinson Chan ; King Tin Lam ; Cho-Li Wang

  • Author_Institution
    Univ. of Hong Kong, Hong Kong, China
  • fYear
    2015
  • fDate
    June 29 2015-July 2 2015
  • Firstpage
    56
  • Lastpage
    65
  • Abstract
    Software transactional memory (STM) enhances both ease-of-use and concurrency, and is considered one of the next-generation paradigms for parallel programming. Application programs may see hotspots where data conflicts are intensive and seriously degrade the performance. So advanced STM systems employ dynamic concurrency control techniques to curb the conflict rate through properly throttling the rate of spawning transactions. High-end computers may have two or more multicore processors so that data sharing among cores goes through a non-uniform cache memory hierarchy. This poses challenges to concurrency control designs as improper metadata placement and sharing will introduce scalability issues to the system. Poor thread-to-core mappings that induce excessive cache invalidation are also detrimental to the overall performance. In this paper, we share our experience in designing and implementing a new dynamic concurrency controller for Tiny STM, which helps keeping the system concurrency at a near-optimal level. By decoupling unfavourable metadata sharing, our controller design avoids costly inter-processor communications. It also features an affinity-aware thread migration technique that fine-tunes thread placements by observing inter-thread transactional conflicts. We evaluate our implementation using the STAMP benchmark suite and show that the controller can bring around 21% average speedup over the baseline execution.
  • Keywords
    cache storage; concurrency control; meta data; multiprocessing systems; parallel architectures; transaction processing; STAMP benchmark suite; STM systems; affinity-aware thread migration technique; cache affinity optimization techniques; concurrency control design; data sharing; dynamic concurrency control techniques; improper metadata placement; interthread transactional conflicts; metadata sharing; multiCMP architectures; multicore processors; nonuniform cache memory hierarchy; parallel programming; software transactional memory system scaling; spawning transactions; Concurrency control; Concurrent computing; Instruction sets; Multicore processing; cache affinity; concurrency control; multicore processors; software transactional memory; thread migration;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Computing (ISPDC), 2015 14th International Symposium on
  • Conference_Location
    Limassol
  • Print_ISBN
    978-1-4673-7147-6
  • Type

    conf

  • DOI
    10.1109/ISPDC.2015.14
  • Filename
    7165131