ABSTRACT
The current generation of software transactional memories has the advantage of being simple and efficient. Nevertheless, there are several parameters that affect the performance of a transactional memory, for example the locality of the application and the cache line size of the processor. In this paper, we investigate dynamic tuning mechanisms on a new time-based software transactional memory implementation. We study in extensive measurements the performance of our implementation and exhibit the benefits of dynamic tuning. We compare our results with TL2, which is currently one of the fastest word-based software transactional memories.
- Hans Boehm. http://www.hpl.hp.com/research/linux/atomic ops/.Google Scholar
- Chi Cao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christos Kozyrakis, and Kunle Olukotun. An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees. In Proceedings of the 34th Annual International Symposium on Computer Architecture (ISCA), pages 69--80. June 2007. Google ScholarDigital Library
- David Dice, Ori Shalev, and Nir Shavit. Transactional Locking II. In Proceedings of the 20th International Symposium on Distributed Computing (DISC), pages 194--208, September 2006. Google ScholarDigital Library
- Robert Ennals. Software Transactional Memory Should Not Be Obstruction-Free.Google Scholar
- Pascal Felber, Christof Fetzer, Ulrich Müller, Torvald Riegel, Martin Süßkraut, and Heiko Sturzrehm. Transactifying Applications using an Open Compiler Framework. In 2nd ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), August 2007.Google Scholar
- Jim Gray, Raymond A. Lorie, Gianfranco R. Putzolu, and Irving L. Traiger. Granularity of locks in a large shared data base. In Proceedings of the 1st International Conference on Very Large Data Bases (VLDB), pages 428--451, September 1975. Google ScholarDigital Library
- Tim Harris and Keir Fraser. Language support for lightweight transactions. In Proceedings of the 18th annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA), pages 388--402, October 2003. Google ScholarDigital Library
- Tim Harris, Mark Plesko, Avraham Shinnar, and David Tarditi. Optimizing Memory Transactions. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 14--25, June 2006. Google ScholarDigital Library
- Maurice Herlihy, Victor Luchangco, Mark Moir, and William N. Scherer. Software Transactional Memory for Dynamic-sized Data Structures. In Proceedings of the 22nd ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC), pages 92--101, July 2003. Google ScholarDigital Library
- Torvald Riegel, Pascal Felber, and Christof Fetzer. A Lazy Snapshot Algorithm with Eager Validation. In Proceedings of the 20th International Symposium on Distributed Computing (DISC), 284--298, September 2006.pages Google ScholarDigital Library
- Torvald Riegel, Christof Fetzer, and Pascal Felber. Snapshot Isolation for Software Transactional Memory. In 1st ACM SIGPLAN Workshop on Transactional Computing (TRANSACT), June 2006.Google Scholar
- Torvald Riegel, Christof Fetzer, and Pascal Felber. Time-based Transactional Memory with Scalable Time Bases. In Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pages 221--228, June 2007. Google ScholarDigital Library
- 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. In Proceedings of the 11th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming (PPoPP), pages 187--197, March 2006. Google ScholarDigital Library
- Abraham Silberschatz and Zvi Kedem. Consistency in hierarchical database systems. Journal of the ACM, 27(1):72--80, 1980. Google ScholarDigital Library
- Michael F. Spear, Virendra J. Marathe, William N. Scherer III, and Michael L. Scott. Conflict Detection and Validation Strategies for Software Transactional Memory. In Proceedings of the 20th International Symposium on Distributed Computing (DISC), pages 179--193, September 2006. Google ScholarDigital Library
- Cheng Wang, Wei-Yu Chen, Youfeng Wu, Bratin Saha, and Ali-Reza Adl-Tabatabai. Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language. In Proceedings of the 5th IEEE/ACM International Symposium on Code Generation and Optimization (CGO), March 2007. Google ScholarDigital Library
Index Terms
- Dynamic performance tuning of word-based software transactional memory
Recommendations
Time-Based Software Transactional Memory
Software transactional memory (STM) is a concurrency control mechanism that is widely considered to be easier to use by programmers than other mechanisms such as locking. The first generations of STMs have either relied on visible read designs, which ...
Improving performance of software transactional memory through contention locality
In this paper, we introduce contention locality in Transactional Memory (TM) which describes the likelihood that a previously aborted transaction conflicts again in the future. We find that conflicts are highly predictable in TMs and we propose two ...
Open nesting in software transactional memory
PPoPP '07: Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programmingTransactional memory (TM) promises to simplify concurrent programming while providing scalability competitive to fine-grained locking. Language-based constructs allow programmers to denote atomic regions declaratively and to rely on the underlying ...
Comments