Skip to main content

A Lock-Based STM Protocol That Satisfies Opacity and Progressiveness

  • Conference paper
Principles of Distributed Systems (OPODIS 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5401))

Included in the following conference series:

Abstract

The aim of a software transactional memory (STM) system is to facilitate the delicate problem of low-level concurrency management, i.e. the design of programs made up of processes/threads that concurrently access shared objects. To that end, a STM system allows a programmer to write transactions accessing shared objects, without having to take care of the fact that these objects are concurrently accessed: the programmer is discharged from the delicate problem of concurrency management. Given a transaction, the STM system commits or aborts it. Ideally, it has to be efficient (this is measured by the number of transactions committed per time unit), while ensuring that as few transactions as possible are aborted. From a safety point of view (the one addressed in this paper), a STM system has to ensure that, whatever its fate (commit or abort), each transaction always operates on a consistent state.

STM systems have recently received a lot of attention. Among the proposed solutions, lock-based systems and clock-based systems have been particularly investigated. Their design is mainly efficiency-oriented, the properties they satisfy are not always clearly stated, and few of them are formally proved. This paper presents a lock-based STM system designed from simple basic principles. Its main features are the following: it (1) uses visible reads, (2) does not require the shared memory to manage several versions of each object, (3) uses neither timestamps, nor version numbers, (4) satisfies the opacity safety property, (5) aborts a transaction only when it conflicts with some other live transaction (progressiveness property), (6) never aborts a write only transaction, (7) employs only bounded control variables, (8) has no centralized contention point, and (9) is formally proved correct.

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

Access this chapter

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic Snapshots of Shared Memory. Journal of the ACM 40(4), 873–890 (1993)

    Article  MATH  Google Scholar 

  2. Almeida, P.S.D., Baquero, C., Preguiça, N., Hutchinson, D.: Scalable Bloom Filters. Information Processing Letters 101(6), 255–261 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  3. Attiya, H.: Needed: Foundations for Transactional Memory. ACM Sigact News, Distributed Computing Column 39(1), 59–61 (2008)

    Article  Google Scholar 

  4. Attiya, H., Guerraoui, R., Ruppert, E.: Partial Snapshot Objects. In: Proc. 20th ACM Symposium on Parallel Algorithms and Architectures (SPAA 2008). ACP Press (2008)

    Google Scholar 

  5. Attiya, H., Rachman, O.: Atomic Snapshots in O(nlogn) Operations. SIAM Journal on Computing 27(2), 319–340 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  6. Avni, H., Shavit, N.: Maintaining Consistent Transactional States without a Global Clock. In: Shvartsman, A.A., Felber, P. (eds.) SIROCCO 2008. LNCS, vol. 5058, pp. 121–140. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Bloom, B.H.: Space/Time Tradeoffs in Hash-coding with Allowable Errors. Communications of the ACM 13(7), 422–426 (1970)

    Article  MATH  Google Scholar 

  8. Cachopo, J., Rito-Silva, A.: Versioned Boxes as the Basis for Transactional Memory. Science of Computer Programming 63(2), 172–175 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  9. Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  10. Felber, P., Fetzer, C., Guerraoui, R., Harris, T.: Transactions are coming Back, but Are They The Same? ACM Sigact News, Distributed Computing Column 39(1), 48–58 (2008)

    Google Scholar 

  11. Guerraoui, R., Herlihy, M.P., Pochon, S.: Towards a Theory of Transactional Contention Managers. In: Proc. 24th ACM Symposium on Principles of Distributed Computing (PODC 2005), pp. 258–264. ACM Press, New York (2005)

    Google Scholar 

  12. Guerraoui, R., Kapałka, M.: On the Correctness of Transactional Memory. In: Proc. 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2008), pp. 175–184. ACM Press (2008)

    Google Scholar 

  13. Herlihy, M.P., Wing, J.M.: Linearizability: a Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  14. Imbs, D., Raynal, M.: A Lock-based Protocol for Software Transactional Memory. Tech Report, #1893, IRISA, Université de Rennes 1, France (May 2008)

    Google Scholar 

  15. Jayanti, P., Petrovic, S.: Efficient and Practical Constructions of LL/SC Variables. In: Proc. 22nd ACM Symp. on Principles of Dist. Computing, pp. 285–294. ACM Press, New York (2003)

    Google Scholar 

  16. Spear, M.F., Marathe, V.J., Scherer III, W.N., Scott, M.L.: Conflict Detection and Validation Strategies for Software Transactional Memory. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 179–193. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  17. Mitzenmatcher, M.: Compressed Bloom Filters. IEEE Transaction on Networks 10(5), 604–612 (2002)

    Article  Google Scholar 

  18. Moir, M.: Practical Implementation of Non-Blocking Synchronization Primitives. In: Proc. 16th ACM Symposium on Principles of Distributed Computing, pp. 219–228. ACM Press, New York (1997)

    Google Scholar 

  19. Papadimitriou, C.H.: The Serializability of Concurrent Updates. Journal of the ACM 26(4), 631–653 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. Riegel, T., Fetzer, C., Felber, P.: Time-based Transactional Memory with Scalable Time Bases. In: Proc. 19th annual ACM Symposium on Parallel Algorithms and Architectures (SPAA 2007), pp. 221–228. ACM Press, New York (2007)

    Google Scholar 

  22. Scott, L.M.: Sequential Specification of Transactional Memory Semantics. In: Proc. First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Trans. Computing (TRANSACT 2006). ACM Press, New York (2006)

    Google Scholar 

  23. Shavit, N., Touitou, D.: Software Transactional Memory. Distributed Computing 10(2), 99–116 (1997)

    Article  Google Scholar 

  24. Scherer III, W.N., Scott, M.L.: Advanced Contention Management in Dynamic Software Transactional Memory. In: Proc. 24th ACM Symp. on Principles of Dist. Computing (PODC 2005), pp. 240–248. ACM Press, New York (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Imbs, D., Raynal, M. (2008). A Lock-Based STM Protocol That Satisfies Opacity and Progressiveness. In: Baker, T.P., Bui, A., Tixeuil, S. (eds) Principles of Distributed Systems. OPODIS 2008. Lecture Notes in Computer Science, vol 5401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92221-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-92221-6_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-92220-9

  • Online ISBN: 978-3-540-92221-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics