DocumentCode
2171829
Title
Understanding transactional memory performance
Author
Porter, Donald E. ; Witchel, Emmett
Author_Institution
Univ. of Texas at Austin, Austin, TX, USA
fYear
2010
fDate
28-30 March 2010
Firstpage
97
Lastpage
108
Abstract
Transactional memory promises to generalize transactional programming to mainstream languages and data structures. The purported benefit of transactions is that they are easier to program correctly than fine-grained locking and perform just as well. This performance claim is not always borne out because an application may violate a common-case assumption of the TM designer or because of external system effects. This paper carefully studies a range of factors that can adversely influence transactional memory performance. In order to help programmers assess the suitability of their code for transactional memory, this paper introduces a formal model of transactional memory as well as a tool, called Syncchar. Syncchar can predict the speedup of a conversion from locks to transactions within 25 % for the STAMP benchmarks. We also use the Syncchar tool to diagnose and eliminate a starvation pathology in the TxLinux kernel, improving the performance of the Modified Andrew Benchmark by 55% over Linux. The paper also presents the first detailed study of how the performance of user-level transactional programs (from the STAMP benchmarks) are influenced by factors outside of the transactional memory system. The study includes data about the interaction of transactional programs with the architecture, memory allocator, and compiler. Because many factors influence the performance of transactional programs, getting good performance from transactions is more difficult than commonly appreciated.
Keywords
Linux; data structures; operating system kernels; transaction processing; Syncchar; TxLinux kernel; compiler; data structures; memory allocator; modified Andrew benchmark; transactional memory system; transactional programming; user-level transactional programs; Data structures; Kernel; Linux; Memory architecture; Pathology; Performance analysis; Predictive models; Program processors; Programming profession; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Performance Analysis of Systems & Software (ISPASS), 2010 IEEE International Symposium on
Conference_Location
White Plains, NY
Print_ISBN
978-1-4244-6023-6
Electronic_ISBN
978-1-4244-6024-3
Type
conf
DOI
10.1109/ISPASS.2010.5452061
Filename
5452061
Link To Document