Variable Granularity Access Tracking Scheme for Improving the Performance of Software Transactional Memory


Autoria(s): Mannarswamy, SS; Govindarajan, Ramaswamy
Data(s)

08/09/2008

Resumo

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%.

Formato

application/pdf

Identificador

http://eprints.iisc.ernet.in/42943/1/Variable_Granularity.pdf

Mannarswamy, SS and Govindarajan, Ramaswamy (2008) Variable Granularity Access Tracking Scheme for Improving the Performance of Software Transactional Memory. In: 2011 IEEE International Parallel & Distributed Processing Symposium (IPDPS), 16-20 May 2011, Anchorage, AK.

Publicador

IEEE

Relação

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6012815

http://eprints.iisc.ernet.in/42943/

Palavras-Chave #Computer Science & Automation (Formerly, School of Automation)
Tipo

Conference Paper

PeerReviewed