ABSTRACT
In this paper, we evaluate the emerging Transactional Memory (TM) area by developing a set of Java transactional memory workloads and studying their performance under a Java Software Transactional Memory (STM) system and comparing them to their lock based counterparts. We provide a detailed performance and memory consumption analysis of the overheads of software transactional memory and transactional workloads within a production quality open source Java Runtime system. Additionally, we detail the impact of the various performance optimizations in both workloads and the underlying runtime system to improving both single thread performance and scalability.
- Ravi Rajwar, James Larus Transactional Memory -- Morgan Claypool, 2006.Google Scholar
- http://harmony.apache.org/Google Scholar
- Bratin Saha, Ali-Reza Adl-Tabatabai, Richard L. Hudson, Chi Cao Minh, and Benjamin Hertzberg. McRT-STM: A High Performance Software Transactional Memory System for a Multi-Core Runtime. PPoPP'06, March 2006. Google ScholarDigital Library
- A.-R. Adl-Tabatabai, B. Lewis, V. Menon, B. R. Murphy, B. Saha, and T. Shpeisman. Compiler and runtime support for efficient software transactional memory. In ACM Conference on Programming Language Design and Implementation, 2006. Google ScholarDigital Library
- T. Harris and K. Fraser. Language support for lightweight transactions. In OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pages 388--402. ACM Press, 2003. Google ScholarDigital Library
- B. D. Carlstrom, J. Chung, A. McDonald, H. Chafi, C. Kozyrakis, and K. Olukotun. The Atomos transactional programming language. In ACM Conference on Programming Language Design and Implementation, 2006. Google ScholarDigital Library
- Maurice Herlihy, Victor Luchangco, Mark Moir. A Flexible Framework for Implementing Software Transactional Memory. OOPSLA 2006, pages 253--262. Google ScholarDigital Library
- JaeWoong Chung, Chi Cao Minh, Brian D. Carlstrom, and Christos Kozyrakis. Parallelizing SPECjbb2000 with Transactional Memory. "Workshop on Transactional Memory Workloads", Ottawa, Canada, June 10, 2006Google Scholar
Index Terms
- Practical experiences with Java software transactional memory
Recommendations
McRT-STM: a high performance software transactional memory system for a multi-core runtime
PPoPP '06: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programmingApplications need to become more concurrent to take advantage of the increased computational power provided by chip level multiprocessing. Programmers have traditionally managed this concurrency using locks (mutex based synchronization). Unfortunately, ...
An efficient software transactional memory using commit-time invalidation
CGO '10: Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimizationTo improve the performance of transactional memory (TM), researchers have found many eager and lazy optimizations for conflict detection, the process of determining if transactions can commit. Despite these optimizations, nearly all TMs perform one ...
Safe privatization in transactional memory
PPoPP '18: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingTransactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, ...
Comments