skip to main content
research-article

Time-warp: lightweight abort minimization in transactional memory

Authors Info & Claims
Published:06 February 2014Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Adya. Weak consistency: a generalized theory and optimistic implementations for distributed transactions. PhD thesis, Massachusetts Institute of Technology, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley Longman Publishing, Boston, MA, USA, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Cahill, U. Röhm, and A. Fekete. Serializable isolation for snapshot databases. In Proceedings of SIGMOD, pages 729--738, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Diegues and P. Romano. Enhancing permissiveness in transactional memory via time-warping. Technical Report 16, december 2013.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Gramoli, D. Harmanci, and P. Felber. On the Input Acceptance of Transactional Memory. Parallel Processing Letters, 20(1), 2010.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Imbs and M. Raynal. Virtual World Consistency: A condition for STM systems. Theoretical Computer Science, 444 (0):113--127, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. R. Jefferson. Virtual time. ACM Transactions on Programming Languages Systems, 7(3):404--425, July 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. L. Lu and M. L. Scott. Generic Multiversion STM. In Proceedings of the 27th Symposium on Distributed Computing, DISC, pages 134--148, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle Scholar
  25. C. H. Papadimitriou. The serializability of concurrent database updates. J. ACM, 26(4):631--653, Oct. 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Time-warp: lightweight abort minimization in transactional memory

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!