Title :
Understanding transactional memory performance
Author :
Porter, Donald E. ; Witchel, Emmett
Author_Institution :
Univ. of Texas at Austin, Austin, TX, USA
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;
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
DOI :
10.1109/ISPASS.2010.5452061