[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1007/978-3-642-11476-2_21guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition

Published: 25 May 2009 Publication History

Abstract

The 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, a STM system provides the programmer with the concept of a transaction. The job of the programmer is to design each process the application is made up of as a sequence of transactions. A transaction is a piece of code that accesses concurrent objects, but contains no explicit synchronization statement. It is the job of the underlying STM system to provide the illusion that each transaction appears as being executed atomically. Of course, for efficiency, a STM system has to allow transactions to execute concurrently. Consequently, due to the underlying STM concurrency management, a transaction commits or aborts.
This paper first presents a new STM consistency condition, called virtual world consistency. This condition states that no transaction reads object values from an inconsistent global state. It is similar to opacity for the committed transactions but weaker for the aborted transactions. More precisely, it states that (1) the committed transactions can be totally ordered, and (2) the values read by each aborted transaction are consistent with respect to its causal past only. Hence, virtual world consistency is weaker than opacity while keeping its spirit. Then, assuming the objects shared by the processes are atomic read/write objects, the paper presents a STM protocol that ensures virtual world consistency (while guaranteeing the invisibility of the read operations). From an operational point of view, this protocol is based on a vector-clock mechanism. Finally, the paper considers the case where the shared objects are regular read/write objects. It also shows how the protocol can easily be weakened while still providing an STM system that satisfies causal consistency, a condition strictly weaker than virtual world consistency.

References

[1]
Ahamad, M., Neiger, G., Burns, J.E., Kohli, P.: Hutto Ph.W., Causal Memory: Definitions, Implementation, and Programming. Distributed Computing 9(1), 37-49 (1995)
[2]
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)
[3]
Attiya, H.: Needed: Foundations for Transactional Memory. ACM Sigact News, DC Column 39(1), 59-61 (2008)
[4]
Attiya, H., Guerraoui, R., Ruppert, E.: Partial Snapshot Objects. In: Proc. 20th ACM Symposium on Parallel Algorithms and Architectures (SPAA 2008), pp. 336-343. ACP Press, ACM Press (2008)
[5]
Babao?glu, Ö., Marzullo, K.: Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. In: Distributed Systems. Frontier Series, vol. 4, pp. 55-93. ACM Press, New York (1993)
[6]
Chandy, K.M., Lamport, L.: Distributed Snapshots: Determining Global States of Distributed Systems. ACM Transactions on Operating Systems 3(1), 63-75 (1985)
[7]
Cooper, R., Marzullo, K.: Consistent Detection of Global Predicates. In: Proc. ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 167-174. ACM Press, New York (1991)
[8]
Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194-208. Springer, Heidelberg (2006)
[9]
Felber, P., Fetzer, C., Guerraoui, R., Harris, T.: Transactions are coming Back, but Are They The Same? ACM Sigact News, DC Column 39(1), 48-58 (2008)
[10]
Guerraoui, R., Kapalka, 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, New York (2008)
[11]
Harris, T., Cristal, A., Unsal, O.S., Ayguade, E., Gagliardi, F., Smith, B., Valero, M.: Transactional Memory: an Overview. IEEE Micro 27(3), 8-29 (2007)
[12]
Herlihy, M.P., Luchangco, V.: Distributed Computing and the Multicore Revolution. ACM SIGACT News, DC Column 39(1), 62-72 (2008)
[13]
Herlihy, M.P., Moss, J.E.B.: Transactional Memory: Architectural Support for Lock-free Data Structures. In: Proc. 20th ACM Int'l Symp. on Computer Architecture (ISCA 1993), pp. 289-300 (1993)
[14]
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)
[15]
Imbs, D., Raynal, M.: A Lock-based STM Protocol that Satisfies Opacity and Progressiveness. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 226-245. Springer, Heidelberg (2008)
[16]
Imbs, D., Raynal, M.: Provable STMProperties: Leveraging Clock and Locks to Favor Commit and Early Abort. In: Garg, V., Wattenhofer, R., Kothapalli, K. (eds.) ICDCN 2009. LNCS, vol. 5408, pp. 67-78. Springer, Heidelberg (2008)
[17]
Imbs, D., Raynal, M.: Help When Needed, but No More: Efficient Read/Write Partial Snapshots. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 142-156. Springer, Heidelberg (2009)
[18]
Imbs, D., Raynal, M.: On the Consistency Conditions of Transactional Memories. Tech Report #1917, 23 pages, IRISA, Université de Rennes, France (submitted to publication, 2009)
[19]
Imbs, D., Raynal, M.: A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition. Tech Report #1923, 20 pages, IRISA, Université de Rennes, France (2009)
[20]
Lamport, L.: On interprocess communication. Part 1: Models, Part 2: Algorithms. Distributed Computing 1(2), 77-101 (1986)
[21]
Papadimitriou, Ch.H.: The Serializability of Concurrent Updates. Journal of the ACM26(4), 631-653 (1979)
[22]
Raynal, M., Thia-kime, G., Ahamad, M.: From serializable to causal transactions. In: BA. Proc. 20th ACM Symposium on Distributed Computing (PODC 1996), p. 310. ACM Press, New York (1996); Full version: From serializable to causal transactions for collaborative applications. In: Proc. 23th EUROMICRO Conference, pp. 314-321. IEEE Computer Press, Los Alamitos (1997)
[23]
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)
[24]
Shavit, N., Touitou, D.: Software Transactional Memory. Distributed Computing 10(2), 99- 116 (1997)
[25]
Shao, C., Pierce, E., Welch, J.: Multi-writer consistency conditions for shared memory objects. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 106-120. Springer, Heidelberg (2003)
[26]
Schwarz, R., Mattern, F.: Detecting Causal Relationship in Distributed Computations: in Search of the Holy Grail. Distributed Computing 7, 149-174 (1993)
[27]
Torres-Rojas, F., Ahamad, M.: Plausible Clocks: Constant Size Logical Clocks for Distributed Systems. Distributed Computing 12, 179-195 (1999)

Cited By

View all
  • (2018)The PCL TheoremJournal of the ACM10.1145/326614166:1(1-66)Online publication date: 12-Dec-2018
  • (2014)Non-interference and Local Correctness in Transactional MemoryProceedings of the 15th International Conference on Distributed Computing and Networking - Volume 831410.1007/978-3-642-45249-9_13(197-211)Online publication date: 4-Jan-2014
  • (2011)Read invisibility, virtual world consistency and probabilistic permissiveness are compatibleProceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I10.5555/2075416.2075439(244-257)Online publication date: 24-Oct-2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
SIROCCO'09: Proceedings of the 16th international conference on Structural Information and Communication Complexity
May 2009
337 pages
ISBN:364211475X
  • Editors:
  • Shay Kutten,
  • Janez Žerovnik

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 25 May 2009

Author Tags

  1. atomic object
  2. causal past
  3. commit/abort
  4. concurrency control
  5. consistency condition
  6. consistent global state
  7. lock
  8. read-from relation
  9. regular read/write object
  10. serializability
  11. shared memory
  12. software transactional memory
  13. transaction
  14. vector clock

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2018)The PCL TheoremJournal of the ACM10.1145/326614166:1(1-66)Online publication date: 12-Dec-2018
  • (2014)Non-interference and Local Correctness in Transactional MemoryProceedings of the 15th International Conference on Distributed Computing and Networking - Volume 831410.1007/978-3-642-45249-9_13(197-211)Online publication date: 4-Jan-2014
  • (2011)Read invisibility, virtual world consistency and probabilistic permissiveness are compatibleProceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I10.5555/2075416.2075439(244-257)Online publication date: 24-Oct-2011
  • (2011)Brief announcementProceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures10.1145/1989493.1989546(315-316)Online publication date: 4-Jun-2011
  • (2009)Brief announcementProceedings of the 28th ACM symposium on Principles of distributed computing10.1145/1582716.1582764(280-281)Online publication date: 10-Aug-2009
  • (2009)Software Transactional MemoriesProceedings of the 10th International Conference on Parallel Computing Technologies10.1007/978-3-642-03275-2_4(26-40)Online publication date: 3-Sep-2009

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media