Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

Distributed FIFO allocation of identical resources using small shared space

Published: 01 January 1989 Publication History
  • Get Citation Alerts
  • Abstract

    We present a simple and efficient algorithm for the FIFO allocation of k identical resources among asynchronous processes that communicate via shared memory. The algorithm simulates a shared queue but uses exponentially fewer shared memory values, resulting in practical savings of time and space as well as program complexity. The algorithm is robust against process failure through unannounced stopping, making it attractive also for use in an environment of processes of widely differing speeds. In addition to its practical advantages, we show that for fixed k, the shared space complexity of the algorithm as a function of the number N of processes is optimal to within a constant factor.

    References

    [1]
    BURNS, J. E. Complexity of communication among asynchronous parallel processes. Ph.D. dissertation, School of Information and Computer Science, Georgia Institute of Technology, 1981.
    [2]
    BURNS, J. E., JACKSON, P., LYNCH, N. A., FISCHER, M. J., AND PETERSON, G. L. Data requirements for implementation of N-process mutual exclusion using a single shared variable. J. ACM 29, i (1982), 183-205.
    [3]
    CREMERS, A. B., AND HIBBARD, T. N. An algebraic approach to concurrent programming control and related complexity problems. Tech. Rep., University of Southern California, Nov. 1975. (Presented at Symposium on Algorithms and Complexity, Pittsburgh, Pa., April 1976.)
    [4]
    CREMERS, A. S., AND HIBBARD, T.N. Mutual exclusion of N processors using an 0(N)-valued message variable. In Proceedings of5th ICALP (Udine, Italy). Lecture Notes in Computer Science, vol. 62. Springer Verlag, New York, pp. 165-176.
    [5]
    CREMERS, A. S., AND HIBBARD, T.N. Arbitration and queueing under limited shared storage requirements. Tech. Rep. 83, Dept. of Informatics, University of Dortmund, Mar. 1979.
    [6]
    DEBRUIJN, N.C. Additional comments on a problem in concurrent control. Cornmun. ACM 10, 3 (Mar. 1967), 137-138.
    [7]
    DIJKSTRA, r.W. Solution of a problem in concurrent programming control. Commun. ACM 8, 9 (1965), 569.
    [8]
    EISENBERG, M. A., AND McGUIRE, M.R. Further comments on Dijkstra's concurrent programming control problem. Commun. ACM 15, 11 (Nov. 1972), 999.
    [9]
    FISCHER, M. J., LYNCH, N. A., BURNS, J. r., AND BORODIN, A. Resource allocation with immunity to limited process failure. In Proceedings of 20th Annual IEEE Symposium on Foundations of Computer Science (San Juan, P.R., Oct. 1979), IEEE, New York, pp. 234-254.
    [10]
    KNUTH, D.E. Additional comments on a problem in concurrent programming control. Commun. ACM 9, 5 (1966), 321-322.
    [11]
    LAMPORT, L. A new solution of Dijkstra's concurrent program problem. Commun. ACM 17, 8 (1974), 453-455.
    [12]
    LAMPORT, r. The synchronization of independent processes. Acta Inf. 7 (1976), 15-34.
    [13]
    LAMPORT, L. A bug in the bakery algorithm. Tech. Rep. CA-7704-0611, Massachusetts Computer Associates, Inc., Apr. 1977.
    [14]
    LAMPORT, k. The mutual exclusion problem: Part I--A theory of interprocess communication. J. ACM 33, 2 (1986), 313-326.
    [15]
    LAMPORT, L. The mutual exclusion problem: Part II--Statement and solutions. J. ACM 33, 2 (1986), 327-348.
    [16]
    LYNCH, N. A., AND FISCHER, M.J. On describing the behavior and implementation of distributed systems. TheoL. Comput. Sci. 13 (1981), 17-43.
    [17]
    LYNCH, N. A., AND FISCHER, M.J. A technique for decomposing algorithms which use a single shared variable. J. Cornput. Syst. Sck 27, 3 (1983), 350-377.
    [18]
    MORRIS, J.M. A starvation-free solution to the mutual exclusion problem. Inf. Process. Lett. 8, 2 (Feb. 1979), 76-80.
    [19]
    PETERSON, G.L. New bounds on mutual exclusion problems. Tech. Rep. TR 68, University of Rochester, Rochester, N.Y., Feb. 1980.
    [20]
    PETERSON, G.r. Myths about the mutual exclusion problem. Inf. Process. Lett. 12, 3 (June 1981),. 115-116.
    [21]
    PETERSON, G. r., AND FISCHER, M.J. Economical solutions for the critical section problem in a distributed system. In Proceedings of Ninth ACM Symposium on Theory of Computing (May 1977), ACM, New York, pp. 91-97.
    [22]
    RIVEST, R. L., AND PRATT, V. R. The mutual exclusion problem for unreliable processes: Preliminary report. In Proceedings of 17th Annual IEEE Symposium on Foundations of Computer Science (1976), IEEE, New York, 1976, 1-8.

    Cited By

    View all
    • (2023)Efficient Bounded Timestamping from Standard Synchronization PrimitivesProceedings of the 2023 ACM Symposium on Principles of Distributed Computing10.1145/3583668.3594601(113-123)Online publication date: 19-Jun-2023
    • (2023)A note on weighted distributed match-makingMathematical Systems Theory10.1007/BF0283583225:2(123-140)Online publication date: 22-Mar-2023
    • (2022)Contention-related crash failuresTheoretical Computer Science10.1016/j.tcs.2022.01.029909:C(76-86)Online publication date: 28-Mar-2022
    • Show More Cited By

    Recommendations

    Reviews

    Wai Sum Lai

    This paper presents the so-called colored ticket algorithm, a space-efficient algorithm that solves the problem of allocating k identical resources among N (> k) asynchronous processes that communicate via shared memory. In addition to its mutual exclusion and deadlock avoidance properties, the algorithm also satisfies the additional requirements of robustness and fairness. The paper is well written. Together with a good list of references, the authors supply enough background information to familiarize the reader with the problem to be solved. They use naive solutions to clearly illustrate the requirements to be satisfied. The authors present the algorithm in a stepwise refinement manner that helps the reader not only to understand its intricacies but also to appreciate its elegance. I would be interested to see a follow-up paper on the applications of this algorithm.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Programming Languages and Systems
    ACM Transactions on Programming Languages and Systems  Volume 11, Issue 1
    Jan. 1989
    167 pages
    ISSN:0164-0925
    EISSN:1558-4593
    DOI:10.1145/59287
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 January 1989
    Published in TOPLAS Volume 11, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)95
    • Downloads (Last 6 weeks)12
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Efficient Bounded Timestamping from Standard Synchronization PrimitivesProceedings of the 2023 ACM Symposium on Principles of Distributed Computing10.1145/3583668.3594601(113-123)Online publication date: 19-Jun-2023
    • (2023)A note on weighted distributed match-makingMathematical Systems Theory10.1007/BF0283583225:2(123-140)Online publication date: 22-Mar-2023
    • (2022)Contention-related crash failuresTheoretical Computer Science10.1016/j.tcs.2022.01.029909:C(76-86)Online publication date: 28-Mar-2022
    • (2021)The assignment problemTheoretical Computer Science10.1016/j.tcs.2021.06.040886:C(13-26)Online publication date: 13-Sep-2021
    • (2020)Symmetric Tokens based Group Mutual ExclusionWorkshop Proceedings of the 49th International Conference on Parallel Processing10.1145/3409390.3409395(1-10)Online publication date: 17-Aug-2020
    • (2019)Group Mutual Exclusion by Fetch-and-incrementACM Transactions on Parallel Computing10.1145/33092025:4(1-29)Online publication date: 22-Feb-2019
    • (2019)Weak Failures: Definitions, Algorithms and Impossibility ResultsNetworked Systems10.1007/978-3-030-05529-5_4(51-66)Online publication date: 5-Jan-2019
    • (2018)The Assignment ProblemProceedings of the 19th International Conference on Distributed Computing and Networking10.1145/3154273.3154303(1-9)Online publication date: 4-Jan-2018
    • (2016) A Stabilizing Optimal ℓ -Exclusion Algorithm Journal of Circuits, Systems and Computers10.1142/S021812661650098525:08(1650098)Online publication date: Aug-2016
    • (2016)Fair synchronizationJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.06.00797:C(1-10)Online publication date: 1-Nov-2016
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media