Skip to main content

Proving Atomicity: An Assertional Approach

  • Conference paper
Distributed Computing (DISC 2005)

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

Included in the following conference series:

Abstract

Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and objects. Although atomic object implementations are abundant, proving that algorithms achieve atomicity has turned out to be a challenging problem. In this paper, we initiate the study of systematic ways of verifying distributed implementations of atomic objects, beginning with read/write objects (registers). Our general approach is to replace the existing operational reasoning about events and partial orders with assertional reasoning about invariants and simulation relations. To this end, we define an abstract state machine that captures the atomicity property and prove correctness of the object implementations by establishing a simulation mapping between the implementation and the specification automata. We demonstrate the generality of our specification by showing that it is implemented by three different read/write register constructions: the message-passing register emulation of Attiya, Bar-Noy and Dolev, its optimized version based on real time, and the shared memory register construction of Vitanyi and Awerbuch. In addition, we show that a simplified version of our specification is implemented by a general atomic object construction based on the Lamport’s replicated state machine algorithm.

This work is supported by MURI-AFOSR SA2796PO 1-0000243658, USAF-AFRL #FA9550-04-1-0121, NSF Grant CCR-0121277, NSF-Texas Engineering Experiment Station Grant 64961-CS, and DARPA F33615-01-C-1896.

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. Abraham, I., Chockler, G., Keidar, I., Malkhi, D.: Byzantine disk paxos: Optimal resilience with byzantine shared memory. In: Proceedings of the 23rd ACM Symposium on Principles of Distributed Computing (PODC 2004), St John’s Newfoundland, Canada, July 2004, pp. 226–235 (2004)

    Google Scholar 

  2. Archer, M.: TAME: PVS Strategies for special purpose theorem proving. Annals of Mathematics and Artificial Intelligence 29(1/4) (February 2001)

    Google Scholar 

  3. Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. Journal of the ACM 42(1), 124–142 (1995)

    Article  MATH  Google Scholar 

  4. Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics. McGraw-Hill Publishing Company, UK (1998)

    Google Scholar 

  5. Bogdanov, A.: Formal verification of simulations between i/o automata. Master’s thesis, Massachusetts Institute of Technology (July 2001)

    Google Scholar 

  6. Chockler, G., Lynch, N., Mitra, S., Tauber, J.: Proving atomicity: An assertional approach. Technical Report MIT/LCS/TR-XXX, MIT Laboratory for Computer Science (2005)

    Google Scholar 

  7. Doherty, S., Groves, L., Luchangco, V., Moir, M.: Formal verification of a practical lock-free queue algorithm. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 97–114. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. Dolev, S., Gilbert, S., Lynch, N.A., Shvartsman, A.A., Welch, J.L.: GeoQuorums: Implementing atomic memory in ad hoc networks

    Google Scholar 

  9. Fekete, A., Gupta, D., Luchangco, V., Lynch, N., Shvartsman, A.: Eventually-serializable data services. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, PA, May 1996, pp. 300–309 (1996)

    Google Scholar 

  10. 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  MATH  Google Scholar 

  11. Kaynar, D., Lynch, N., Segala, R., Vaandrager, F.: The theory of timed I/O automata. Technical Report MIT/LCS/TR-917a, MIT Laboratory for Computer Science (2004), Available at http://theory.lcs.mit.edu/tds/reflist.html

  12. Kaynar, D.K., Lynch, N., Segala, R., Vaandrager, F.: Timed I/O automata: A mathematical framework for modeling and analyzing real-time system. In: RTSS 2003: The 24th IEEE International Real-Time Systems Symposium, Cancun, Mexico, December 2003,

    Google Scholar 

  13. Ladin, R., Liskov, B., Shrira, L., Ghemawat, S.: Providing high availability using lazy replication. ACM Transactions on Computer Science 10(4), 360–391 (1992)

    Article  Google Scholar 

  14. Lamport, L.: The part-time parliament. ACM Transactions on Computer Systems 16(2), 133–169 (1998); Earlier version in Research Report 49, Digital Equipment Corporation Systems Research Center, Palo Alto, CA (September 1989)

    Article  Google Scholar 

  15. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  16. Lamport, L.: On interprocess communication: Part I and II. Dist. Comput. 1, 77–101 (1986)

    Article  MATH  Google Scholar 

  17. Lamport, L.: On interprocess communication, Part II: Algorithms. Distributed Computing 1(2), 86–101 (1986)

    Article  MATH  Google Scholar 

  18. Lamport, L.: Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32(4), 18–25 (2001)

    Google Scholar 

  19. Lampson, B.: The ABCD’s of paxos. In: Proceedings of the Twentieth Annual ACM symposium on Principles of Distributed Computing, Newport, RI (August 2001)

    Google Scholar 

  20. Lynch, N.A., Tuttle, M.R.: An introduction to Input/Output Automata. CWI Quarterly 2(3), 219–246 (1989)

    MATH  MathSciNet  Google Scholar 

  21. Lynch, N.: Distributed Algorithms. Morgan Kaufmann Publishers, Inc., San Mateo (1996)

    MATH  Google Scholar 

  22. Lynch, N., Shvartsman, A.: Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In: Twenty-Seventh Annual International Symposium on Fault-Tolerant Computing (FTCS 1997), Seattle, Washington, USA, June 1997, pp. 272–281. IEEE, Los Alamitos (1997)

    Google Scholar 

  23. Lynch, N., Shvartsman, A.: RAMBO: A reconfigurable atomic memory service for dynamic networks. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 173–190. Springer, Heidelberg (2002) Also, Technical Report MIT-LCS-TR-856

    Chapter  Google Scholar 

  24. Malkhi, D., Reiter, M.: Byzantine quorum systems. Journal of Distributed Computing 11(4), 203–213 (1998)

    Article  Google Scholar 

  25. Martin, J.P., Alvisi, L., Dahlin, M.: Minimal Byzantine storage. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 311–325. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  26. Owre, S., Rajan, S., Rushby, J.M., Shankar, N., Srivas, M.K.: PVS: Combining specification, proof checking, and model checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 411–414. Springer, Heidelberg (1996)

    Google Scholar 

  27. Peterson, G.L., Burns, J.E.: Concurrent reading while writing II: The multi-writer case. In: 28th Annual Symposium on Foundations of Computer Science, October 1987, pp. 383–392. IEEE, Los Angeles (1987)

    Chapter  Google Scholar 

  28. Udaya Shankar, A.: An introduction to assertional reasoning for concurrent systems. ACM Comput. Surv. 25(3), 225–262 (1993)

    Article  Google Scholar 

  29. Shao, C., Pierce, E., Welch, J.L.: Multi-writer consistency conditions for shared memory objects. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 106–120. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  30. Tauber, J.A.: Verifiable Compilation of I/O Automata without Global Synchronization. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA (September 2004)

    Google Scholar 

  31. Tauber, J.A., Lynch, N.A., Tsai, M.J.: Compiling IOA without global synchronization. In: Proceedings of the the 3rd IEEE International Symposium on Network Computing and Applications (IEEE NCA 2004), September 2004, pp. 121–130 (2004)

    Google Scholar 

  32. Tromp, J.: How to construct an atomic variable. In: Bermond, J.-C., Raynal, M. (eds.) WDAG 1989. LNCS, vol. 392, pp. 292–302. Springer, Heidelberg (1989)

    Google Scholar 

  33. Vidyasankar, K.: Concurrent reading while writing revisited. Distributed Computing 4, 81–85 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  34. Vitanyi, P.: Simple wait-free multireader registers. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 118–132. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  35. Vitányi, P.M.B.: Distributed elections in an Archimedean ring of processors. In: Proceedings of the Sixteenth Annual ACM Symposium on Theory of Computing, April/May 1984, pp. 542–547. Washington, D.C (1984)

    Google Scholar 

  36. Vitanyi, P.M.B., Awerbuch, B.: Atomic shared register access by asynchronous hardware. In: 27th IEEE Annual Symposium on Foundations of Computer Science, pp. 233–243 (1986)

    Google Scholar 

  37. Wang, L., Stoller, S.D.: Static analysis for programs with non-blocking synchronization. In: Proc. ACM SIGPLAN 2005 Symposium on Principles and Practice of Parallel Programming (PPoPP). 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

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chockler, G., Lynch, N., Mitra, S., Tauber, J. (2005). Proving Atomicity: An Assertional Approach. In: Fraigniaud, P. (eds) Distributed Computing. DISC 2005. Lecture Notes in Computer Science, vol 3724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561927_13

Download citation

  • DOI: https://doi.org/10.1007/11561927_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29163-3

  • Online ISBN: 978-3-540-32075-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics