DocumentCode
3105607
Title
The runtime abort graph and its application to software transactional memory optimization
Author
Chakrabarti, Dhruva R. ; Banerjee, Prithviraj ; Boehm, Hans-J ; Joisha, Pramod G. ; Schreiber, Robert S.
fYear
2011
fDate
2-6 April 2011
Firstpage
42
Lastpage
53
Abstract
Programming with atomic sections is a promising alternative to locks since it raises the abstraction and removes deadlocks at the programmer level. However, implementations of atomic sections using software transactional memory (STM) support have significant bookkeeping overheads. Additionally, because of the speculative nature of transactions, aborts can be frequent greatly lowering application performance. Thus regardless of the STM implementation, tools need to be available to programmers that provide insights into the runtime characteristics of an application as well as provide means to improve performance. This paper attempts to identify the source of an abort at the granularity of a transactional memory reference. The resulting abort patterns are captured in the form of a runtime abort graph (RAG). We show how to build this graph efficiently using compiler instrumentation. We then describe a technique that works on the RAG and automatically recommends STM policy changes to improve performance. Detailed experimental results are presented showing the tradeoffs in building the RAG and its use in reducing aborts and improving performance.
Keywords
concurrency control; graphs; multi-threading; optimisation; program compilers; shared memory systems; atomic sections; compiler instrumentation; deadlocks; programmer level; runtime abort graph; software transactional memory optimization; Buildings; Instruments; Optimization; Radiation detectors; Runtime; Software; Strontium;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization (CGO), 2011 9th Annual IEEE/ACM International Symposium on
Conference_Location
Chamonix
Print_ISBN
978-1-61284-356-8
Electronic_ISBN
978-1-61284-358-2
Type
conf
DOI
10.1109/CGO.2011.5764673
Filename
5764673
Link To Document