Skip to main content

Staleness and Local Progress in Transactional Memory

  • Conference paper
  • First Online:
  • 410 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 12129))

Abstract

A key goal in the design of Transactional Memory (TM) systems is ensuring liveness. Local progress is a liveness condition which ensures that a process successfully completes every transaction it initiates, if it continually re-invokes it each time it aborts. In order to facilitate this, several state-of-the-art TM systems keep multiple versions of data items. However, this method can lead to high space-related overheads in the TM implementation. Therefore, it is desirable to strike a balance between the progress that a TM can provide and its practicality, while ensuring correctness. A consistency property that limits the number of previous versions a TM may rely on, is k-staleness. It is a condition derivative of snapshot isolation, in which a transaction is not allowed to access more than k previous versions of a data item. This facilitates implementations that can take advantage of multi-versioning, while at the same time, contributing to the restriction of the space overhead introduced by the TM.

In this paper, we prove that no TM can ensure both local progress and k-staleness, if it is unaware of the transaction’s accesses and can only keep a bounded number of versions for each data item.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    The definitions of read set, write set, and data set are formulated under the implicit assumption that transactions only execute their own code and do not perform reads or writes by executing code that pertains to other transactions or by other forms of light-weight helping.

References

  1. Attiya, H., Hillel, E.: A single-version STM that is multi-versioned permissive. Theory Comput. Syst. 51(4), 425–446 (2012)

    Article  MathSciNet  Google Scholar 

  2. Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. In: SIGMOD (1995)

    Google Scholar 

  3. Bushkov, V., Dziuma, D., Fatourou, P., Guerraoui, R.: The PCL theorem: transactions cannot be parallel, consistent and live. In: SPAA (2014)

    Google Scholar 

  4. Bushkov, V., Dziuma, D., Fatourou, P., Guerraoui, R.: The PCL theorem: transactions cannot be parallel, consistent, and live. J. ACM 66(1), 2:1–2:66 (2019). https://doi.org/10.1145/3266141

  5. Bushkov, V., Guerraoui, R., Kapalka, M.: On the liveness of transactional memory. In: PODC (2012)

    Google Scholar 

  6. Dalessandro, L., Spear, M.F., Scott, M.L.: Norec: streamlining STM by abolishing ownership records. In: PPoPP (2010)

    Google Scholar 

  7. Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: DISC (2006)

    Google Scholar 

  8. Dziuma, D., Fatourou, P., Kanellou, E.: Consistency for transactional memory computing. In: Guerraoui, R., Romano, P. (eds.) Transactional Memory. Foundations, Algorithms, Tools, and Applications. LNCS, vol. 8913, pp. 3–31. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-14720-8_1

    Chapter  MATH  Google Scholar 

  9. Fekete, A., Liarokapis, D., O’Neil, E., O’Neil, P., Shasha, D.: Making snapshot isolation serializable. ACM Trans. Database Syst. 30(2), 492–528 (2005). https://doi.org/10.1145/1071610.1071615

  10. Fernandes, S.M., Cachopo, J.a.: Lock-free and scalable multi-version software transactional memory. In: PPoPP (2011)

    Google Scholar 

  11. Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP (2008)

    Google Scholar 

  12. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC (2003)

    Google Scholar 

  13. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)

    Article  Google Scholar 

  14. Kumar, P., Peri, S., Vidyasankar, K.: A timestamp based multi-version STM algorithm. In: Chatterjee, M., Cao, J., Kothapalli, K., Rajsbaum, S. (eds.) ICDCN 2014. LNCS, vol. 8314, pp. 212–226. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-45249-9_14

    Chapter  Google Scholar 

  15. Litz, H., Cheriton, D.R., Firoozshahian, A., Azizi, O., Stevenson, J.P.: SI-TM: reducing transactional memory abort rates through snapshot isolation. In: ASPLOS (2014)

    Google Scholar 

  16. Lu, L., Scott, M.L.: Generic multiversion STM. In: Afek, Y. (ed.) DISC 2013. LNCS, vol. 8205, pp. 134–148. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41527-2_10

    Chapter  Google Scholar 

  17. Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631–653 (1979)

    Article  MathSciNet  Google Scholar 

  18. Perelman, D., Byshevsky, A., Litmanovich, O., Keidar, I.: SMV: selective multi-versioning STM. In: Peleg, D. (ed.) DISC 2011. LNCS, vol. 6950, pp. 125–140. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24100-0_9

    Chapter  Google Scholar 

  19. Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: PODC (2010)

    Google Scholar 

  20. Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: DISC (2006)

    Google Scholar 

  21. Riegel, T., Fetzer, C., Felber, P.: Snapshot isolation for software transactional memory. In: TRANSACT (2006)

    Google Scholar 

Download references

Acknowledgment

This work has been supported by the European Commission under the 7th Framework Program through the TransForm (FP7-MC-ITN-238639) project. It has further been co-financed by the European Union and Greek national funds through the Operational Program Competitiveness, Entrepreneurship and Innovation, under the call RESEARCH – CREATE – INNOVATE (project code:T1EDK-02857)

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eleni Kanellou .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Attiya, H., Fatourou, P., Hans, S., Kanellou, E. (2021). Staleness and Local Progress in Transactional Memory. In: Georgiou, C., Majumdar, R. (eds) Networked Systems. NETYS 2020. Lecture Notes in Computer Science(), vol 12129. Springer, Cham. https://doi.org/10.1007/978-3-030-67087-0_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-67087-0_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-67086-3

  • Online ISBN: 978-3-030-67087-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics