Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Virtual world consistency: A condition for STM systems (with a versatile protocol with invisible read operations)

Published: 01 July 2012 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, an 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, an 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. 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 an 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. and Hutto, Ph.W., Causal memory: definitions, implementation, and programming. Distributed Computing. v9 i1. 37-49.
[2]
Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M. and Shavit, N., Atomic snapshots of shared memory. Journal of the ACM. v40 i4. 873-890.
[3]
Attiya, H., Needed: foundations for transactional memory. ACM Sigact News, DC Column. v39 i1. 59-61.
[4]
Attiya, H., Guerraoui, R. and Ruppert, E., Partial snapshot objects. In: Proc. 20th ACM Symposium on Parallel Algorithms and Architectures, SPAA¿08, ACP Press, ACM Press. pp. 336-343.
[5]
Babao¿lu, Ö. and Marzullo, K., Distributed systems. In: Frontier Series, ACM Press. pp. 55-93.
[6]
Bernstein, Ph.A., Shipman, D.W. and Wong, W.S., Formal aspects of serializability in database concurrency control. IEEE Transactions on Software Engineering. vSE-5 i3. 203-216.
[7]
Chandy, K.M. and Lamport, L., Distributed snapshots: determining global states of distributed systems. ACM Transactions on Operating Systems. v3 i1. 63-75.
[8]
Cooper, R. and Marzullo, K., Consistent detection of global predicates. In: Proc. ACM/ONR Workshop on Parallel and Distributed Debugging, ACM Press. pp. 167-174.
[9]
Dice, D., Shalev, O. and Shavit, N., Transactional locking II. In: LNCS, vol. 4167. Springer-Verlag. pp. 194-208.
[10]
Felber, P., Fetzer, Ch., Guerraoui, R. and Harris, T., Transactions are coming back, but are they the same?. ACM Sigact News, DC Column. v39 i1. 48-58.
[11]
Guerraoui, R. and Kapa¿ka, M., On the correctness of transactional memory. In: Proc. 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP¿08, ACM Press. pp. 175-184.
[12]
Harris, T., Cristal, A., Unsal, O.S., Ayguade, E., Gagliardi, F., Smith, B. and Valero, M., Transactional memory: an overview. IEEE Micro. v27 i3. 8-29.
[13]
Herlihy, M.P. and Luchangco, V., Distributed computing and the multicore revolution. ACM SIGACT News, DC Column. v39 i1. 62-72.
[14]
M.P. Herlihy, J.E.B. Moss, Transactional memory: architectural support for lock-free data structures, in: Proc. 20th ACM Int-l Symposium on Computer Architecture, ISCA-93, 1993, pp. 289-300.
[15]
Herlihy, M.P. and Wing, J.M., Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems. v12 i3. 463-492.
[16]
Imbs, D. and Raynal, M., A lock-based STM protocol that satisfies opacity and progressiveness. In: LNCS, vol. 5401. Springer-Verlag. pp. 226-245.
[17]
Imbs, D. and Raynal, M., Provable STM properties: leveraging clock and locks to favor commit and early abort. In: LNCS, vol. 5408. Springer-Verlag. pp. 67-78.
[18]
Imbs, D., Mendívil, J.R. and Raynal, M., Virutal world consistency: a new condition for STM systems. In: BA. Proc. 20th ACM Symposium on Distributed Computing, PODC¿09, ACM Press. pp. 280-281.
[19]
Imbs, D. and Raynal, M., A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition. In: LNCS, vol. 5869. Springer-Verlag. pp. 266-280.
[20]
D. Imbs, M. Raynal, Software transactional memories: an approach for multicore programming. Journal of Supercomputing, Published Online First February 2010, http://dx.doi.org/10.1007/s11227-010-0388-0.
[21]
Lamport, L., Time, clocks and the ordering of events in a distributed system. Communications of the ACM. v21 i7. 558-565.
[22]
Lamport, L., On interprocess communication. Part 1: Models, Part 2: Algorithms. Distributed Computing. v1 i2. 77-101.
[23]
Papadimitriou, Ch.H., The serializability of concurrent updates. Journal of the ACM. v26 i4. 631-653.
[24]
Raynal, M., Thia-kime, G. and Ahamad, M., From serializable to causal transactions. In: BA. Proc. 20th ACM Symposium on Distributed Computing, PODC¿96, ACM Press. pp. 310
[25]
Riegel, T., Fetzer, C. and Felber, P., Time-based transactional memory with scalable time bases. In: Proc. 19th annual ACM Symposium on Parallel Algorithms and Architectures, SPAA¿07, ACM Press. pp. 221-228.
[26]
Shavit, N. and Touitou, D., Software transactional memory. Distributed Computing. v10 i2. 99-116.
[27]
Shao, C., Pierce, E. and Welch, J., Multi-writer consistency conditions for shared memory objects. In: LNCS, vol. 2848. Springer-Verlag. pp. 106-120.
[28]
Schwarz, R. and Mattern, F., Detecting causal relationship in distributed computations: in search of the holy grail. Distributed Computing. v7. 149-174.
[29]
Torres-Rojas, F. and Ahamad, M., Plausible clocks: constant size logical clocks for distributed systems. Distributed Computing. v12. 179-195.

Cited By

View all
  • (2024)Last-Use Opacity: A Strong Safety Property for Transactional Memory with Prerelease Support (Abstract)Proceedings of the 2024 ACM Workshop on Highlights of Parallel Computing10.1145/3670684.3673411(33-35)Online publication date: 17-Jun-2024
  • (2022)Exploring Opacity Software Transactional Memory in Haskell through Graph TransformationProceedings of the XXVI Brazilian Symposium on Programming Languages10.1145/3561320.3561325(15-23)Online publication date: 6-Oct-2022
  • (2022)Last-use opacity: a strong safety property for transactional memory with prerelease supportDistributed Computing10.1007/s00446-022-00420-235:3(265-301)Online publication date: 1-Jun-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Theoretical Computer Science
Theoretical Computer Science  Volume 444, Issue
July, 2012
133 pages

Publisher

Elsevier Science Publishers Ltd.

United Kingdom

Publication History

Published: 01 July 2012

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 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Last-Use Opacity: A Strong Safety Property for Transactional Memory with Prerelease Support (Abstract)Proceedings of the 2024 ACM Workshop on Highlights of Parallel Computing10.1145/3670684.3673411(33-35)Online publication date: 17-Jun-2024
  • (2022)Exploring Opacity Software Transactional Memory in Haskell through Graph TransformationProceedings of the XXVI Brazilian Symposium on Programming Languages10.1145/3561320.3561325(15-23)Online publication date: 6-Oct-2022
  • (2022)Last-use opacity: a strong safety property for transactional memory with prerelease supportDistributed Computing10.1007/s00446-022-00420-235:3(265-301)Online publication date: 1-Jun-2022
  • (2021)A Graph Transformation System formalism for correctness of Transactional Memory algorithmsProceedings of the 25th Brazilian Symposium on Programming Languages10.1145/3475061.3475080(49-57)Online publication date: 27-Sep-2021
  • (2019)A Graph Transformation System formalism for Software Transactional Memory OpacityProceedings of the XXIII Brazilian Symposium on Programming Languages10.1145/3355378.3355387(3-10)Online publication date: 23-Sep-2019
  • (2018)NemoProceedings of the 47th International Conference on Parallel Processing10.1145/3225058.3225123(1-10)Online publication date: 13-Aug-2018
  • (2018)Mechanized proofs of opacity: a comparison of two techniquesFormal Aspects of Computing10.1007/s00165-017-0433-330:5(597-625)Online publication date: 1-Sep-2018
  • (2017)Transactions in relaxed memory architecturesProceedings of the ACM on Programming Languages10.1145/31581062:POPL(1-29)Online publication date: 27-Dec-2017
  • (2017)Characterizing Transactional Memory Consistency Conditions Using Observational RefinementJournal of the ACM10.1145/313136065:1(1-44)Online publication date: 18-Dec-2017
  • (2017)Seeing is BelievingProceedings of the ACM Symposium on Principles of Distributed Computing10.1145/3087801.3087802(73-82)Online publication date: 25-Jul-2017
  • Show More Cited By

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media