| Kicking the tires of software transactional memory: why the going gets tough |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 22, Downloads (12 Months): 78, Citation Count: 0
|
|
|
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.
|
|