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
Link To Document