skip to main content
article
Free Access

An efficient and fault-tolerant solution for distributed mutual exclusion

Published:01 February 1991Publication History
Skip Abstract Section

Abstract

In this paper, we present an efficient and fault-tolerant algorithm for generating quorums to solve the distributed mutual exclusion problem. The algorithm uses a logical tree organization of the network to generate tree quorums, which are logarithmic in the size of the network in the best case. Our approach is resilient to both site and communication failures, even when such failures lead to network partitioning. Furthermore, the algorithm exhibits a property of graceful degradation, i.e., it requires more messages only as the number of failures increase in the network. We describe how tree quorums can be used for various distributed applications for providing mutually exclusive access to a distributed resource, managing replicated objects, and atomically commiting a distributed transaction.

References

  1. 1 AGRAWAL, D., AND EL ABBADI, A. Exploiting logical structures of replicated databases. Inf. Process. Lett. 33, 5 (Jan. 1990), 255-260 Google ScholarGoogle Scholar
  2. 2 AGRAWAL, D., AND EL ABBADI, A. The tree quorum protocol: An efficient approach for managing replicated data. In Proceedings of Sixteenth International Conference on Very Large Data Bases (Aug. 1990), 243-254. Google ScholarGoogle Scholar
  3. 3 ALSBERG, P. A., AND DAY, J.D. A principle for resilient sharing of distributed resources. In Proceedings of the Second International Conference on Software Engineering (Oct. 1976), 562-570. Google ScholarGoogle Scholar
  4. 4 BERNABI~u-AUBAN, J. M., AND AHAMAD, M. Applying a path-compression technique to obtain an efficient distributed mutual exclusion algorithm. In Proceedings of the Third International Workshop on Distributed Algorithms (Sept. 1989), 33-44. Google ScholarGoogle Scholar
  5. 5 DAVIDSON, S. B., GARCIA-MOLINA, H., AND SKEEN, D. Consistency in partitioned networks. ACM Comput. Surv. 17, 3 (Sept. 1985), 341-370. Google ScholarGoogle Scholar
  6. 6 GARCIA-MOLINA, H., AND BARBARA, D. How to assign votes in a distributed system. J. ACM 32, 4 (Oct. 1985), 841-860. Google ScholarGoogle Scholar
  7. 7 GIFFORD, D.K. Weighted voting for replicated data. In Proceedings of the Seventh A CM Symposium on Operatzng Systems Prznciples (Dec. 1979), 150-159. Google ScholarGoogle Scholar
  8. 8 GRAY, J. N Notes on database systems. In Operating Systems: An Advanced Course, vol. 60 of Lecture Notes in Computer Science. R. Bayer, R. M. Graham, and G. Seegmuller, Eds. Springer-Verlag, New York, 1978, 393-481 Google ScholarGoogle Scholar
  9. 9 HELARY, J. M., PLOUZEAU, N., AND RAYNAL, M. A distributed algorithm for mutual exclusion in an arbitrary network. Computer J. 31, 4 (1988), 289-295. Google ScholarGoogle Scholar
  10. 10 LAMPORT, L. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 (July 1978), 558-565. Google ScholarGoogle Scholar
  11. 11 LYNCH, N A., AND MERRITT, M . Introduction to the theory of' nested transactions. Tech Rep MIT-LCS-TR-367, MIT, Cambridge, Mass., 1986. Google ScholarGoogle Scholar
  12. 12 MAEKAWA, M . A v n algorithm for mutual exclusion in decentralized systems. A CM Trans. Comput. Syst. 3, 2 (May 1985), 145-159. Google ScholarGoogle Scholar
  13. 13 MAHANEY, S R., AND SCHNEIDER, F. B. Inexact agreement: Accuracy, precision, and graceful degradation. In Proceedings of the Fourth ACM Symposium on Principles of Distmbuted Computing (Aug. 1985), 237-249. Google ScholarGoogle Scholar
  14. 14 MJSRA. J. Detecting termination of distributed computations using markers. In Proceedings of the Second ACM Symposium on Princzples of Distributed Computing (Aug. 1983), 290-294. Google ScholarGoogle Scholar
  15. 15 Moss, J E B. Nested Transactzons: An Approach to Rehable Dzstrzbuted Computtng MIT Press, Cambridge, Mass., 1985. Google ScholarGoogle Scholar
  16. 16 NAIMI, M., AND TREHAL, M. How to detect a failure and regenerate the token m the log n distributed algorithm for mutual exclusion. In Proceedings of the Second Internatmnal Workshop on Dtstributed Algorithms, Lecture Notes in Computer Scteuce 312, Springer- Verlag, New York, 1987, 155-166 Google ScholarGoogle Scholar
  17. 17 RAYMOND, K A tree-based algorithm for distributed mutual exclusion. ACM Trans Comput. Syst. 7, 1 (Feb. 1989), 61-77. Google ScholarGoogle Scholar
  18. 18 RICARW, G., AND AC, RAWALA, A K An optimal algorithm for mutual exclumon m computer networks Commun. ACM 24, 1 (Jan. 1981), 9-17. Google ScholarGoogle Scholar
  19. 19 SANDEaS, B. A The information structure of dlstributed mutual exclusion algorithms ACM Trans. Comput. Syst. 5 (Aug. 1987), 284-299 Google ScholarGoogle Scholar
  20. 20 SCHNEIDER, F B Synchronization in distributed programs. A CM Trans. Program Languages Syst. 4, 2 (April 1982), 125-148 Google ScholarGoogle Scholar
  21. 21 SK~EN, D. Non-blocking commit protocols. In Proceedings of the A CM SIGMOD Conference on Management of Data (June 1982), 133-147 Google ScholarGoogle Scholar
  22. 22 SKEIN, D A quorum based commit protocol. In Procee&ngs of the 6th Berkeley' Workshop on D~strtbuted Data Management and Computer Networks (Feb. 1982), 69-80Google ScholarGoogle Scholar
  23. 23 SuzuKi, I, A~D KaSAMI, T. A distributed mutual exclusion algorithm A CM Trans Cornput. Syst. 3, 4 (Nov 1985), 344-349 Google ScholarGoogle Scholar
  24. 24 TANt,:NBAU~I, A S. Computer Networks 2d ed. Prentice Hall, Englewood Cliffs, N J, 1988. Google ScholarGoogle Scholar
  25. 25 THOMAS, R H. A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Databa,~e Syst. 4, 2 (June 1979), 180-209. Google ScholarGoogle Scholar
  26. 26 VAN DE S~Et'SCHEUT, J. L Fair mutual exclusmn on a graph of processes Dzstrtbut Comput 2 (1987), 113-115.Google ScholarGoogle Scholar

Index Terms

  1. An efficient and fault-tolerant solution for distributed mutual exclusion

        Recommendations

        Reviews

        David James Taylor

        The authors have developed a novel technique for achieving mutual exclusion in distributed systems. They provide sufficient background to make the paper accessible to readers not familiar with previous work in the area. The novelty of their technique is in using a logical binary-tree structure and basing quorums on a root-to-leaf path in the tree. In this way, they can achieve mutual exclusion by contacting as few as log n nodes in an n -node system. Their quorum-construction technique can also tolerate failed nodes, building more complicated quorum sets using the binary-tree structure. Their technique achieves significantly lower costs than a majority-consensus algorithm. The costs are, of course, higher than in a centralized scheme. The tolerance of failures is difficult to quantify, and the authors provide graphs indicating that, for most situations of interest, the observed tolerance will be close to that of a majority-consensus algorithm. Their technique thus provides a valuable new tradeoff between costs and tolerance of failures. In comparing their algorithm with others, the authors make the unfortunate claim that their algorithm does not require nodes to be selected for special purposes based on their superior reliability. In fact, as they admit later in the paper, it is desirable for nodes near the root to be more reliable than nodes near the leaves. The paper does not contain any analysis of the effects of nonuniform node reliability on the algorithm. One application presented for the new technique is the handling of replicated data. In such cases, providing small quorums for read operations at the expense of large quorums for write operations is often desirable. The technique, as presented, requires th at all quorums be constructed identically, which prohibits such a tradeoff.

        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 ACM Transactions on Computer Systems
          ACM Transactions on Computer Systems  Volume 9, Issue 1
          Feb. 1991
          97 pages
          ISSN:0734-2071
          EISSN:1557-7333
          DOI:10.1145/103727
          Issue’s Table of Contents

          Copyright © 1991 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 February 1991
          Published in tocs Volume 9, Issue 1

          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