skip to main content
article
Free Access

Atomic snapshots of shared memory

Authors Info & Claims
Published:01 September 1993Publication History
Skip Abstract Section

Abstract

This paper introduces a general formulation of atomic snapshot memory, a shared memory partitioned into words written (updated) by individual processes, or instantaneously read (scanned) in its entirety. This paper presents three wait-free implementations of atomic snapshot memory. The first implementation in this paper uses unbounded (integer) fields in these registers, and is particularly easy to understand. The second implementation uses bounded registers. Its correctness proof follows the ideas of the unbounded implementation. Both constructions implement a single-writer snapshot memory, in which each word may be updated by only one process, from single-writer, n-reader registers. The third algorithm implements a multi-writer snapshot memory from atomic n-writer, n-reader registers, again echoing key ideas from the earlier constructions. All operations require Θ(n2) reads and writes to the component shared registers in the worst case. —Authors' Abstract

References

  1. 1 ~ABRAHAMSON, K. On achieving consensus using a shared memory. In Procce&tzgs of the 7th ~Antzual ACM Symposium on Prmctples of Dz~trtb~ted Computblg (Toronto, Ont., Canada, Aug. ~15-17). ACM, New York, 1988, pp. 291-302. Google ScholarGoogle Scholar
  2. 2 ~ANDERSON, J.H. Composite registers. Tech. Rep. TR-89-25. Dept. Comput. Sci., Univ. Texas ~at Austin, Austin, Tex., Sept. 1989. Google ScholarGoogle Scholar
  3. 3 ~ANDERSON, J.H. Multiple-writer composite registers. Tech. Rep. TR-89-26. Dept. Comput. ~Sci., Univ. Texas at Austin, Austin, Tex., Sept. 1989. Google ScholarGoogle Scholar
  4. 4 ~ANDERSON, J. H. Composite registers. In Proceedings of the 9th Annual ACM Symposium ~on Principles of Distributed Computing (Quebec City, Que., Canada, Aug. 22-24). ACM, ~New York, 1990, pp. 15 29. Google ScholarGoogle Scholar
  5. 5 ~ANDERSON, J. H., AND GOUDA, M.G. The virtue of patience: Concurrent programming with ~and without waiting. Tech. Rep. TR.90.23. Dept. Comput. Sci., Univ. Texas at Austin, Austin, ~Tex., July 1990. Google ScholarGoogle Scholar
  6. 6 ~ASPNES, J. Time- and space-efficient randomized consensus. In Proceedings of the 9th Annual ~ACM Symposium on Principles of Distributed Computing (Quebec City, Que., Canada, Aug. ~22-24). ACM, New York, 1990, pp. 325-331. Google ScholarGoogle Scholar
  7. 7 ~ASPNES, J., AND HERLIHY, U. P. Fast randomized consensus using shared memory. ~J. Algorithms (Sept. 1990), pp. 441-461. Google ScholarGoogle Scholar
  8. 8 ~ASPNES, J., AND HERLtHY, M.P. Wait-free data structures in the asychronous PRAM model. ~In Proceedings of the 2nd Annual Symposimn on Parallel Algorithms and Architectures (July). ~ACM, New York, 1990, pp. 340-349. Google ScholarGoogle Scholar
  9. 9 ~ATnYA, H., BAR-NoY, A., AND DOLEV, D, Sharing memory rebustly in message-passing ~systems. In Proceedings of the 9th Annual ACM Symposium on Principles of Distributed ~Computing (Quebec City, Que., Canada, Aug. 22-24). ACM, New York, 1990, pp. 363-375. Google ScholarGoogle Scholar
  10. 10 ~AqTIYA, H., DOLEV, D., AND SHAVIT, N. Bounded polynomial randomized consensus. In ~Proceedings o)' the 8th Annual ACM Symposmm on Principles of Distributed Computing (Edmon- ~ton, Alb., Canada, Aug. 14-16). ACM New York, 1989, pp. 281 293. Google ScholarGoogle Scholar
  11. 11 ~ATTIYA, H., LYNCH, N. A., AND SHAVIT, N. Are wait-free algorithms fast? In Proceedings of ~the 31st IEEE Symposzum on Foundations of Computer Science (Oct.). IEEE New York, 1990, ~pp. 55-64.Google ScholarGoogle Scholar
  12. 12 ~BRACHA, G., AND TOUEG, S. Distributed deadlock detection. Dist,: Computing 2 (1987), ~127-138.Google ScholarGoogle Scholar
  13. 13 ~CHAND~, K. M., AND LAMPORT, L. Distributed snapsots: Determining global states of ~distributed systems. ACM Trans. Cornpttt, Syst. 3, I (Jan. 1985) 63 75. Google ScholarGoogle Scholar
  14. 14 ~DOLEV, D., GAFNI, E., AND SHAVIT, N. Toward a non-atomic era: /-exclusion as a test case. ~In Proceedings of the 20th Annual ACM Symposium on tile TheoO' of Computing (Chicago, Ill., ~May 2-4). ACM, New York 1988, pp. 78-92. Google ScholarGoogle Scholar
  15. 15 ~DOLEV, D., AND SHAV1T, N. Bounded concurrent time-stamp systems are constructible! In ~Proceedblgs o} ttle 21st Anmtal ACM $?mposh~m on Theory of Computing (Seattle, Wash., May ~15-17). ACM, New York, 1989, pp. 454-465, Google ScholarGoogle Scholar
  16. 16 ~GAFNI, E. Perspective on distributed network protocols: A case for building blocks. In ~Proceedings of MILCOM-86 (Monterey, Calif., Oct.). IEEE, New York, 1986, pp. 1.1.1-1.1.5.Google ScholarGoogle Scholar
  17. 17 ~HERLIHY, M.P. Wait-free synchronization, ACM Trans. Prog. Lang. Syst. 13, 1 (Jan. 1991), ~124-149. Google ScholarGoogle Scholar
  18. 18 ~HERLIHY, M. P., AND WING, J. M. Linearizability: A correctness condition for concurrent ~objects. ACM Trans. Prog. Lang. Syst. 12, 3 (July 1990), 463 492. Google ScholarGoogle Scholar
  19. 19 ~KATSErF, H.P. A new solution to the critical section problem. In Proceedings of the lOth ~Annual A CM Symposium oil the Theory of Computing (San Diego, Calif., May 1-3). ACM, New ~York, 1978, pp. 86-88. Google ScholarGoogle Scholar
  20. 20 ~LAMPORT, L. The mutual exclusion problem. Part II: Statement and solutions. J. ACM 33, 2 ~(Feb. 1986), 327-348. Google ScholarGoogle Scholar
  21. 21 ~LA~lPORr', L. On interprocess communication. Part I: Basic formalism. Dist. Comput. 1, 1 ~(1986), 77-85.Google ScholarGoogle Scholar
  22. 22 ~LAMPORT, L. On interprocess communication. Part II: Algorithms, Dist. Comput. 1, 1 (1986), ~86-101.Google ScholarGoogle Scholar
  23. 23 ~Ll, M., TROMP, J., AND VITANYI, P. M.B. How to share concurrent wast-free variables. In ~ProceedblgsoJ I(MLP '89. (Stresa, Italy, July 11-15). Lecture Notes in Computer Science, vol. ~372. Springer Verlag, New York, 1990, pp. 488-505. (Expanded version: Report CS-R8916, ~CWL Amsterdam, The Netherlands, Apr, 1989).Google ScholarGoogle Scholar
  24. 24 ~LYNCH, N. A., AND Tu"FrLE, n. Hierarchical correctness proofs for distributed algorithms. In ~Proceedb~gs of 6th Annual ACM $~wnpositm~ on Principles of Distribttted Computing (Aug.) ~ACM, New York, 1987, pp. 137-151. (Expanded version available as Tech. Rep. ~MIT/LCS/TR-387, Laboratory for Computer Science, Massachusetts Institute of Technol- ~ogy, Cambridge, Mass. {Apr. 1987)). Google ScholarGoogle Scholar
  25. 25 ~MISRA, J. Axioms for memory access in asynchronous hardware systems. ACM Trans. Prog. ~Lang. Svst. 8, 1 (Jan. 1986), 142 153. Google ScholarGoogle Scholar
  26. 26 ~OWICKi, S. Axiomatic Proof Techmques for Parallel Programs. Ph.D. dissertation. Cornell ~Univ., Aug. 1975. Google ScholarGoogle Scholar
  27. 27 ~OWlCK~, S., AND aRIES, D. An axiomatic proof technique for parallel programs. Act Inf 6, 1 ~(Jan. 1976), 319-340.Google ScholarGoogle Scholar
  28. 28 ~PETERSON, a.L. Concurrent reading whfie writing. ACM Trans. Prog. Lang. Syst. 5, 1 (Jan. ~1983), 46-55. Google ScholarGoogle Scholar
  29. 29 ~PETERSON, G. m., AND BURNS, J.E. Concurrent reading while writing II: The mulmwnter ~case. In Proceedings of the 28th Annual IEEE 5~mpostum on Foundations of Computer Science ~(Oct.). IEEE, New York, 1987, pp. 383-392Google ScholarGoogle Scholar
  30. 30 ~SCH^FFER, R. On the correctness of atomic multi-writer registers. Tech. Rep. ~M1T/LCS/TM-364. Laboratory for Computer Science, Massachusetts Institute of Technol- ~ogy, Cambridge, Mass., June 1988.Google ScholarGoogle Scholar
  31. 31 ~VITANYI, P. M. U., AND AWERBUCH, B. Atomic shared register access by asynchronous ~hardware. In Proceedzngs of 27th Annual Sympostum on Foundatzons oJ Computer Sczence ~(Oct.). IEEE, New York, 1986, pp. 233 243.Google ScholarGoogle Scholar

Index Terms

  1. Atomic snapshots of shared memory

      Recommendations

      Reviews

      Edward A. Feustel

      Achieving a consistent view of the state of concurrent computations is helpful in verifying the correct operation of those computations. The authors have made a contribution to theory by designing an algorithm that takes an atomic snapshot of computations. The work is supplemented by a large bibliography.

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image Journal of the ACM
        Journal of the ACM  Volume 40, Issue 4
        Sept. 1993
        200 pages
        ISSN:0004-5411
        EISSN:1557-735X
        DOI:10.1145/153724
        Issue’s Table of Contents

        Copyright © 1993 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 September 1993
        Published in jacm Volume 40, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader