Skip to main content

Benign failure models for shared memory

Preliminary version

  • Conference paper
  • First Online:
Distributed Algorithms (WDAG 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 725))

Included in the following conference series:

Abstract

This paper introduces two benign failure models for shared memory in distributed systems, crash-omission and crash-eventual. These models are of intermediate power between the crash model and omission models of [JCT92]. (They exhibit more faulty behaviors than crash and fewer than omission.) Unlike the crash model, crash-omission is shown to have universal, gracefully-degrading constructions. That is, for any integer k, any shared object may be constructed from shared registers and consensus objects, so that: (1) if no more than k of the components suffer crash-omission failures, the constructed object exhibits no failures, and (2) if more than k of the components suffer crash-omission failures, the constructed object exhibits crash-omission failures.

Simple constructions also demonstrate that registers and consensus objects in the (apparently) less benign crash-eventual model can be used to construct corresponding objects in the crash-omission model.

These results are cited as evidence that the crash-omission failure model may be an appropriate choice to consider in the formulation of a more extensive theory of fault-tolerant shared objects.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Y. Afek, D. Greenberg, M. Merritt, and G. Taubenfeld. Computing with faulty shared memory. In Proc. 11th ACM Symp. on Principles of Distributed Computing, pages 47–58, 1992.

    Google Scholar 

  2. G. Bell. Ultracomputers: A teraflop before its time. Communications of the ACM, 35(8):27–47, August 1992.

    Google Scholar 

  3. B. Bloom. Constructing two-writer atomic registers. In Proc. of the Sixth ACM Symp. on Principles of Distributed Computing, pages 249–259, 1987.

    Google Scholar 

  4. J. E. Burns and G. L. Peterson. Constructing multi-reader atomic values from non-atomic values. In Proc. of the Sixth ACM Symp. on Principles of Distributed Computing, pages 222–231, 1987.

    Google Scholar 

  5. N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444–458, April 1989.

    Google Scholar 

  6. B. Chor, A. Israeli, and M. Li. On processor coordination using asynchronous hardware. In Proc. 6th ACM Symp. on Principles of Distributed Computing, pages 86–97, 1987.

    Google Scholar 

  7. D. Dolev, C. Dwork, and L. Stockmeyer. On the minimal synchronism needed for distributed consensus. Journal of the ACM, 34(1):77–97, 1987.

    Google Scholar 

  8. M. Fischer, N. Lynch, and M. Paterson. Impossibility of distributed consensus with one faulty process. Journal of the ACM, 32:374–382, April 1985.

    Google Scholar 

  9. M. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 11(1):124–149, January 1991.

    Google Scholar 

  10. P. Jayanti, T. Chandra, and S. Toueg. Fault-tolerant wait-free shared objects. In 33rd Annual Symp. on the Foundations of Computer Science. IEEE Computer Society Press, October 1992.

    Google Scholar 

  11. K. Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Trans. on Programming Languages and Systems, 7(4):321–359, 1989.

    Google Scholar 

  12. M. C. Loui and H. H. Abu-Amara. Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research, JAI Press, 4:163–183, 1987.

    Google Scholar 

  13. L. Lamport. On interprocess communication, parts I and II. Distributed Computing, 1:77–101, 1986.

    Google Scholar 

  14. N. A. Lynch and M. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proc. of 6th ACM Symp. on Principles of Distributed Computation, pages 137–151, August 1987. Expanded version available as Technical Report MIT/LCS/TR-387, April 1987.

    Google Scholar 

  15. M. Li, J. Tromp, and P. M. B. Vitányi. How to construct concurrent waitfree variables. Technical Report CS-8916, CWI, Amsterdam, April 1989. See also: pp. 488–505 in: Proc. International Colloquium on Automata, Languages, and Programming, Lecture Notes in Computer Science, Vol. 372, Springer Verlag, 1989.

    Google Scholar 

  16. N. A. Lynch. I/O automata: A model for discrete event systems. In 22nd Annual Conf. on Information Science and Systems. Princeton University, March 1988. Also MIT technical report number MIT/LCS/TM-351.

    Google Scholar 

  17. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6(1):319–340, 1976.

    Google Scholar 

  18. S. Owicki. Axiomatic Proof Techniques for Parallel Programs. PhD thesis, Cornell University, August 1975.

    Google Scholar 

  19. G. L. Peterson and J. E. Burns. Concurrent reading while writing II: The multi-writer case. In Proc. of the 28th IEEE Annual Symp. on Foundations of Computer Science, pages 383–392, October 1987.

    Google Scholar 

  20. G. L. Peterson. Concurrent reading while writing. ACM Trans. on Programming Languages and Systems, 5(1):46–55, 1983.

    Google Scholar 

  21. A. K. Singh, J. H. Anderson, and M. G. Gouda. The elusive atomic register revisited. In Proc. of the Sixth ACM Symp. on Principles of Distributed Computing, pages 206–221, 1987.

    Google Scholar 

  22. A. S. Tanenbaum, M. F. Kaashoek, and H. E. Balvrije. Parallel programming using shared objects. IEEE Computer, pages 10–19, August 1992.

    Google Scholar 

  23. J. Tromp. How to construct an atomic variable. In J.C. Bermond and M. Raynal, editors, Proc. of the 3rd International Workshop on Distributed Algorithms, pages 292–302. Springer-Verlag LNCS 392, September 1989.

    Google Scholar 

  24. G. Taubenfeld and S. Moran. Possibility and impossibility results in a shared memory environment. In 3rd International Workshop on Distributed Algorithms, 1989. Lecture Notes in Computer Science, vol. 392 (eds.: J.C. Bermond and M. Raynal), Springer-Verlag 1989, pages 254–267.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

André Schiper

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Afek, Y., Merritt, M., Taubenfeld, G. (1993). Benign failure models for shared memory. In: Schiper, A. (eds) Distributed Algorithms. WDAG 1993. Lecture Notes in Computer Science, vol 725. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57271-6_28

Download citation

  • DOI: https://doi.org/10.1007/3-540-57271-6_28

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57271-8

  • Online ISBN: 978-3-540-48029-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics