Advertisement

Elastic Transactions

  • Pascal Felber
  • Vincent Gramoli
  • Rachid Guerraoui
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5805)

Abstract

This paper presents elastic transactions, a variant of the transactional model. Upon conflict detection, an elastic transaction might drop what it did so far within a separate transaction that immediately commits, and initiate a new transaction which might itself be elastic. Elastic transactions are a complementary alternative to traditional transactions, particularly appealing when implementing search structures. Elastic transactions can be safely composed with normal ones, but significantly improve performance if used instead.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 237–246 (2008)Google Scholar
  2. 2.
    Harmanci, D., Felber, P., Gramoli, V., Fetzer, C.: TMunit: Testing software transactional memories. In: The 4th ACM SIGPLAN Workshop on Transactional Computing (2009)Google Scholar
  3. 3.
    Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N., Shavit, N.: A lazy concurrent list-based set algorithm. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 3–16. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Herlihy, M., Lev, Y., Luchangco, V., Shavit, N.: A simple optimistic skiplist algorithm. In: Prencipe, G., Zaks, S. (eds.) SIROCCO 2007. LNCS, vol. 4474, pp. 124–138. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Harris, T.: A pragmatic implementation of non-blocking linked-lists. In: Welch, J.L. (ed.) DISC 2001. LNCS, vol. 2180, pp. 300–314. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Michael, M.M.: High performance dynamic lock-free hash tables and list-based sets. In: Proceedings of the 14th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 73–82. ACM, New York (2002)Google Scholar
  7. 7.
    Fraser, K.: Practical lock freedom. PhD thesis, University of Cambridge (2003)Google Scholar
  8. 8.
    Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. Technical Report LPD-REPORT-2009-002, EPFL (2009)Google Scholar
  9. 9.
    Weihl, W.E.: Local atomicity properties: Modular concurrency control for abstract data types. ACM Trans. Program. Lang. Syst. 11(2), 249–283 (1989)CrossRefGoogle Scholar
  10. 10.
    Guerraoui, R., Kapałka, M.: On the correctness of transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 175–184 (2008)Google Scholar
  11. 11.
    Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 284–298. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Skare, T., Kozyrakis, C.: Early release: Friend or foe? In: Workshop on Transactional Memory Workloads (2006)Google Scholar
  14. 14.
    Shalev, O., Shavit, N.: Split-ordered lists: Lock-free extensible hash tables. J. ACM 53(3), 379–405 (2006)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Moss, J.E.B.: Open nested transactions: Semantics and support. In: Workshop on Memory Performance Issues (2006)Google Scholar
  16. 16.
    Ni, Y., Menon, V., Abd-Tabatabai, A.R., Hosking, A.L., Hudson, R.L., Moss, J.E.B., Saha, B., Shpeisman, T.: Open nesting in software transactional memory. In: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 68–78 (2007)Google Scholar
  17. 17.
    Herlihy, M., Koskinen, E.: Transactional boosting: A methodology for highly-concurrent transactional objects. In: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 207–216 (2008)Google Scholar
  18. 18.
    Harris, T., Stipić, S.: Abstract nested transactions. In: The 2nd ACM SIGPLAN Workshop on Transactional Computing (2007)Google Scholar
  19. 19.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd Annual Symposium on Principles of Distributed Computing, pp. 92–101. ACM, New York (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Pascal Felber
    • 1
  • Vincent Gramoli
    • 1
    • 2
  • Rachid Guerraoui
    • 2
  1. 1.University of NeuchâtelSwitzerland
  2. 2.EPFLSwitzerland

Personalised recommendations