Abstract
The notion of permissiveness in Transactional Memory (TM) translates to only aborting a transaction when it cannot be accepted in any history that guarantees correctness criterion. This property is neglected by most TMs, which, in order to maximize implementation's efficiency, resort to aborting transactions under overly conservative conditions. In this paper we seek to identify a sweet spot between permissiveness and efficiency by introducing the Time-Warp Multi-version algorithm (TWM). TWM is based on the key idea of allowing an update transaction that has performed stale reads (i.e., missed the writes of concurrently committed transactions) to be serialized by committing it in the past, which we call a time-warp commit. At its core, TWM uses a novel, lightweight validation mechanism with little computational overheads. TWM also guarantees that read-only transactions can never be aborted. Further, TWM guarantees Virtual World Consistency, a safety property that is deemed as particularly relevant in the context of TM. We demonstrate the practicality of this approach through an extensive experimental study, where we compare TWM with four other TMs, and show an average performance improvement of 65% in high concurrency scenarios.
- M. Abadi, T. Harris, and M. Mehrara. Transactional memory with strong atomicity using off-the-shelf memory protection hardware. In Proceedings of the 14th Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 185--196, 2009. Google Scholar
Digital Library
- A. Adya. Weak consistency: a generalized theory and optimistic implementations for distributed transactions. PhD thesis, Massachusetts Institute of Technology, 1999. Google Scholar
Digital Library
- H. Attiya and E. Hillel. Single-version STMs can be multi- version permissive. In Proceedings of the 12th International Conference on Distributed Computing and Networking, ICDCN, pages 83--94, 2011. Google Scholar
Digital Library
- U. Aydonat and T. Abdelrahman. Relaxed Concurrency Control in Software Transactional Memory. IEEE Transactions on Parallel and Distributed Systems, 23(7):1312--1325, 2012. Google Scholar
Digital Library
- H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O'Neil, and P. O'Neil. A critique of ANSI SQL isolation levels. In Proceedings of SIGMOD, pages 1--10, 1995. Google Scholar
Digital Library
- P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley Longman Publishing, Boston, MA, USA, 1987. Google Scholar
Digital Library
- M. Cahill, U. Röhm, and A. Fekete. Serializable isolation for snapshot databases. In Proceedings of SIGMOD, pages 729--738, 2008. Google Scholar
Digital Library
- T. Crain, D. Imbs, and M. Raynal. Read invisibility, virtual world consistency and probabilistic permissiveness are compatible. In Proceedings of the 11th International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP, pages 244--257, 2011. Google Scholar
Digital Library
- L. Dalessandro, M. F. Spear, and M. L. Scott. NOrec: stream- lining STM by abolishing ownership records. In Proceedings of the 15th Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 67--78, 2010. Google Scholar
Digital Library
- D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In Proceedings of the 20th Symposium on Distributed Computing, DISC, pages 194--208, 2006. Google Scholar
Digital Library
- N. Diegues and J. Cachopo. Practical Parallel Nesting for Software Transactional Memory. In Proceedings of the 27th Symposium on Distributed Computing, DISC, pages 149--163, 2013.Google Scholar
Digital Library
- N. Diegues and P. Romano. Enhancing permissiveness in transactional memory via time-warping. Technical Report 16, december 2013.Google Scholar
- P. Felber, C. Fetzer, and T. Riegel. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the 13th Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 237--246, 2008. Google Scholar
Digital Library
- S. M. Fernandes and J. Cachopo. Lock-free and scalable multi-version software transactional memory. In Proceedings of the 16th Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 179--188, 2011. Google Scholar
Digital Library
- V. Gramoli, D. Harmanci, and P. Felber. On the Input Acceptance of Transactional Memory. Parallel Processing Letters, 20(1), 2010.Google Scholar
- R. Guerraoui and M. Kapalka. On the correctness of transactional memory. In Proceedings of the 13th Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 175--184, 2008. Google Scholar
Digital Library
- R. Guerraoui, T. A. Henzinger, and V. Singh. Permissiveness in Transactional Memories. In Proceedings of the 22nd Symposium on Distributed Computing, DISC, pages 305--319, 2008. Google Scholar
Digital Library
- M. Herlihy and J. E. B. Moss. Transactional Memory: architectural support for lock-free data structures. In Proceedings of the 20th International Symposium on Computer Architecture, ISCA, pages 289--300, 1993. Google Scholar
Digital Library
- D. Imbs and M. Raynal. Virtual World Consistency: A condition for STM systems. Theoretical Computer Science, 444 (0):113--127, 2012. Google Scholar
Digital Library
- D. R. Jefferson. Virtual time. ACM Transactions on Programming Languages Systems, 7(3):404--425, July 1985. Google Scholar
Digital Library
- I. Keidar and D. Perelman. On avoiding spare aborts in transactional memory. In Proceedings of the 21st Symposium on Parallelism in Algorithms and Architectures, SPAA, pages 59--68, 2009. Google Scholar
Digital Library
- L. Lu and M. L. Scott. Generic Multiversion STM. In Proceedings of the 27th Symposium on Distributed Computing, DISC, pages 134--148, 2013.Google Scholar
Digital Library
- V. J. Marathe, M. F. Spear, and M. L. Scott. Scalable Techniques for Transparent Privatization in Software Transactional Memory. In Proceedings of the 37th International Conference on Parallel Processing, ICPP, pages 67--74, 2008. Google Scholar
Digital Library
- C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford transactional applications for multi- processing. In Symposium on Workload Characterization, IISWC, pages 35--46, 2008.Google Scholar
- C. H. Papadimitriou. The serializability of concurrent database updates. J. ACM, 26(4):631--653, Oct. 1979. Google Scholar
Digital Library
- D. Perelman, R. Fan, and I. Keidar. On maintaining multiple versions in stm. In Proceedings of the 29th Symposium on Principles of Distributed Computing, PODC, pages 16--25, 2010. Google Scholar
Digital Library
- D. Perelman, A. Byshevsky, O. Litmanovich, and I. Keidar. SMV: Selective Multi-Versioning STM. In Proceedings of the 25th Symposium on Distributed Computing, DISC, pages 125--140, 2011. Google Scholar
Digital Library
- H. E. Ramadan, I. Roy, M. Herlihy, and E. Witchel. Committing conflicting transactions in an stm. In Proceedings of the 14th Symposium on Principles and Practice of Parallel Programming, PPoPP, pages 163--172, 2009. Google Scholar
Digital Library
Index Terms
Time-warp: lightweight abort minimization in transactional memory
Recommendations
Time-warp: lightweight abort minimization in transactional memory
PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programmingThe notion of permissiveness in Transactional Memory (TM) translates to only aborting a transaction when it cannot be accepted in any history that guarantees correctness criterion. This property is neglected by most TMs, which, in order to maximize ...
Time-Warp: Efficient Abort Reduction in Transactional Memory
The multicore revolution that took place one decade ago has turned parallel programming into a major concern for the mainstream software development industry. In this context, Transactional Memory (TM) has emerged as a simpler and attractive alternative ...
Read invisibility, virtual world consistency and probabilistic permissiveness are compatible
ICA3PP'11: Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part IThe aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, an STM system provides the programmer with the concept of a ...







Comments