ACM Home Page
Please provide us with feedback. Feedback
Kicking the tires of software transactional memory: why the going gets tough
Full text PdfPdf (193 KB)
Source
ACM Symposium on Parallel Algorithms and Architectures archive
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures table of contents
Munich, Germany
SESSION: Special track -- STM design and locks table of contents
Pages 265-274  
Year of Publication: 2008
ISBN:978-1-59593-973-9
Authors
Richard M. Yoo  Georgia Institute of Technology, Atlanta, GA, USA
Yang Ni  Intel Corporation, Santa Clara, CA, USA
Adam Welc  Intel Corporation, Santa Clara, CA, USA
Bratin Saha  Intel Corporation, Santa Clara, CA, USA
Ali-Reza Adl-Tabatabai  Intel Corporation, Santa Clara, CA, USA
Hsien-Hsin S. Lee  Georgia Institute of Technology, Atlanta, GA, USA
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 22,   Downloads (12 Months): 78,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1378533.1378582
What is a DOI?

ABSTRACT

Transactional Memory (TM) promises to simplify concurrent programming, which has been notoriously difficult but crucial in realizing the performance benefit of multi-core processors. Software Transaction Memory (STM), in particular, represents a body of important TM technologies since it provides a mechanism to run transactional programs when hardware TM support is not available, or when hardware TM resources are exhausted. Nonetheless, most previous researches on STMs were constrained to executing trivial, small-scale workloads. The assumption was that the same techniques applied to small-scale workloads could readily be applied to real-life, large-scale workloads. However, by executing several nontrivial workloads such as particle dynamics simulation and game physics engine on a state of the art STM, we noticed that this assumption does not hold. Specifically, we identified four major performance bottlenecks that were unique to the case of executing large-scale workloads on an STM: false conflicts, over-instrumentation, privatization-safety cost, and poor amortization. We believe that these bottlenecks would be common for any STM targeting real-world applications. In this paper, we describe those identified bottlenecks in detail, and we propose novel solutions to alleviate the issues. We also thoroughly validate these approaches with experimental results on real machines.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Baek, C. C. Minh, M. Trautmann, C. Kozyrakis, and K. Olukotun. The OpenTM transactional application programming interface. In Proceedings of the 16th Intl. Conference on Parallel Architecture and Compilation Techniques, September 2007.
 
2
Dice, O. Shalev, and N. Shavit. Transactional locking II. In Proceedings of the 20th International Symposium on Distributed Computing, 2006.
 
3
Harris, S. Marlow, S. P. Jones, and M. Herlihy. Composable memory transactions. In Proceedings of the 10th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2005.
 
4
Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture, pages 289--300, 1993.
 
5
P. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer, III. Software transactional memory for dynamic-sized data structures. In Proceedings of the 22nd Annual ACM Symposium on Principles of Distributed Computing, July 2003.
 
6
L. Hudson, B. Saha, A.-R. Adl-Tabatabai, and B. C. Hertzberg. McRT-Malloc: A scalable transactional memory allocator. In Proceedings of the 5th International Symposium on Memory Management, 2006.
 
7
R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006.
 
8
-L. Li, R. Sasanka, S. V. Adve, Y.-K. Chen, and E. Debes. The ALPBench benchmark suite for complex multimedia applications. In Proceedings of the 2005 IEEE International Symposium on Workload Characterization, October 2005.
 
9
J. Marathe, M. F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W. N. Scherer, III, and M. L. Scott. Lowering the overhead of nonblocking software transactional memory. In TRANSACT: First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006.
 
10
C. Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. In Proceedings of the 34th Intl. Symposium on Computer Architecture, June 2007.
 
11
Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. C. Minh, and B. Hertzberg. McRT-STM: A high performance software transactional memory system for a multi-core runtime. In Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2006.
 
12
Shavit and D. Touitou. Software transactional memory. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, pages 204--213, 1995.
 
13
Shpeisman, V. Menon, A.-R. Adl-Tabatabai, S. Balensiefer, D. Grossman, R. Hudson, K. F. Moore, and B. Saha. Enforcing isolation and ordering in STM. In Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation, pages 78--88, 2007.
 
14
F. Spear, V. J. Marathe, L. Dalessandro, and M. L. Scott. Privatization techniques for software transactional memory. In Proceedings of the 26th ACM Symposium on Principles of Distributed Computing, 2007.
 
15
Wang, W.-Y. Chen, Y. Wu, B. Saha, and A.-R. Adl-Tabatabai. Code generation and optimization for transactional memory constructs in an unmanaged language. In Proceedings of the 2007 International Symposium on Code Generation and Optimization, pages 34--48, March 2007.
 
16
C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 programs: Characterization and methodological considerations. In ISCA-22, pages 24--36, 1995.
 
17
Zilles and R. Rajwar. Implications of false conflict rate trends for robust software transactional memory. In Proceedings of the 2007 IEEE International Symposium on Workload Characterization, September 2007.

Collaborative Colleagues:
Richard M. Yoo: colleagues
Yang Ni: colleagues
Adam Welc: colleagues
Bratin Saha: colleagues
Ali-Reza Adl-Tabatabai: colleagues
Hsien-Hsin S. Lee: colleagues