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 :
بازگشت