Title :
Variable Granularity Access Tracking Scheme for Improving the Performance of Software Transactional Memory
Author :
Mannarswamy, Sandya S. ; Govindarajan, Ramaswamy
Author_Institution :
CSA, IISc, Bangalore, India
Abstract :
Software transactional memory (STM) has been proposed as a promising programming paradigm for shared memory multi-threaded programs as an alternative to conventional lock based synchronization primitives. Typical STM implementations employ a conflict detection scheme, which works with uniform access granularity, tracking shared data accesses either at word/cache line or at object level. It is well known that a single fixed access tracking granularity cannot meet the conflicting goals of reducing false conflicts without impacting concurrency adversely. A fine grained granularity while improving concurrency can have an adverse impact on performance due to lock aliasing, lock validation overheads, and additional cache pressure. On the other hand, a coarse grained granularity can impact performance due to reduced concurrency. Thus, in general, a fixed or uniform granularity access tracking (UGAT) scheme is application-unaware and rarely matches the access patterns of individual application or parts of an application, leading to sub-optimal performance for different parts of the application(s). In order to mitigate the disadvantages associated with UGAT scheme, we propose a Variable Granularity Access Tracking (VGAT) scheme in this paper. We propose a compiler based approach wherein the compiler uses inter-procedural whole program static analysis to select the access tracking granularity for different shared data structures of the application based on the application´s data access pattern. We describe our prototype VGAT scheme, using TL2 as our STM implementation. Our experimental results reveal that VGAT-STM scheme can improve the application performance of STAMP benchmarks from 1.87% to up to 21.2%.
Keywords :
cache storage; concurrency control; multi-threading; program compilers; program diagnostics; shared memory systems; transaction processing; STAMP benchmarks; cache pressure; coarse grained granularity; compiler; concurrency reduction; conflict detection scheme; data access pattern; fixed granularity access tracking scheme; inter-procedural whole program static analysis; lock aliasing; lock validation overheads; programming paradigm; shared data structure; shared data tracking; shared memory multithreaded program; software transactional memory; uniform granularity access tracking scheme; variable granularity access tracking scheme; Arrays; Benchmark testing; Concurrent computing; Program processors; Random access memory;
Conference_Titel :
Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International
Conference_Location :
Anchorage, AK
Print_ISBN :
978-1-61284-372-8
Electronic_ISBN :
1530-2075
DOI :
10.1109/IPDPS.2011.51