The \(\ell \)-exclusion problem is to design an algorithm which guarantees that up to \(\ell \) processes and no more may simultaneously access identical copies of the same non-sharable resource when there are several competing processes. For \(\ell =1\), the 1-exclusion problem is the familiar mutual exclusion problem. The simplest deadlock-free algorithm for mutual exclusion requires only one single-writer non-atomic bit per process (Burns in SIGACT News 10(2):42–47, 1978; Burns and Lynch in Inf Comput 107(2):171–184, 1993; Lamport in J ACM 33:327–348, 1986). This algorithm is known to be space optimal (Burns and Lynch in 18th Annual Allerton conference on communication, control and computing, pp 833–842, 1980; Burns and Lynch in Inf Comput 107(2):171–184, 1993). For over 20 years now it has remained an intriguing open problem whether a similar type of algorithm, which uses only one single-writer bit per process, exists also for \(\ell \)-exclusion for some \(\ell \ge 2\). We resolve this longstanding open problem. For any \(\ell \) and \(n\), we provide a tight space bound on the number of single-writer bits required to solve \(\ell \)-exclusion for \(n\) processes. It follows from our results that it is not possible to solve \(\ell \)-exclusion with one single-writer bit per process, for any \(\ell \ge 2\). In an attempt to understand the inherent difference between the space complexity of mutual exclusion and that of \(\ell \)-exclusion for \(\ell \ge 2\), we define a weaker version of \(\ell \)-exclusion in which the liveness property is relaxed, and show that, similarly to mutual exclusion, this weaker version can be solved using one single-writer non-atomic bit per process.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
Afek, Y., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: A bounded first-in, first-enabled solution to the \(\ell \)-exclusion problem. ACM Trans. Program. Lang. Syst. 16(3), 939–953 (1994)
Afek, Y., Stupp, G., Touitou, D.: Long-lived adaptive collect with applications. In: Proceedings of the 40th IEEE Symposium on Foundations of Computer Science, pp. 262–272 (1999)
Anderson, J.H., Moir, M.: Using local-spin k-exclusion algorithms to improve wait-free object implementations. Distrib. Comput. 11, 1–20 (1997)
Attiya, H., Bar-Noy, A., Dolev, D., Koller, D., Peleg, D., Reischuk, R.: Achievable cases in an asynchronous environment. In: Proceedings of the 28th IEEE Symposium on Foundations of Computer Science, pp. 337–346 (1987)
Bar-Noy, A., Dolev, D., Koller, D., Peleg, D.: Fault-tolerant critical section management in asynchronous environments. Inf. Comput. 95(1), 1–20 (1991)
Burns, J.E.: Mutual exclusion with linear waiting using binary shared variables. SIGACT News 10(2), 42–47 (1978)
Burns, J.E., Lynch, A.N.: Mutual exclusion using indivisible reads and writes. In: 18th Annual Allerton conference on communication, control and computing, pp. 833–842 (1980)
Burns, J.E., Peterson, G.L.: The ambiguity of choosing. In: Proceedings of the 8th ACM Symposium on Principles of Distributed Computing, pp. 145–158 (1989)
Burns, J.N., Lynch, N.A.: Bounds on shared-memory for mutual exclusion. Inf. Comput. 107(2), 171–184 (1993)
Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)
Dolev, D., Gafni, E., Shavit, N.: Toward a non-atomic era: \(\ell \)-exclusion as a test case. In: Proceedings of the 20th ACM Symposium on Theory of Computing, pp. 78–92 (1988)
Fischer, M.J., Lynch, M.J., Burns, J.E., Borodin, A.: Resource allocation with immunity to limited process failure. In: Proceedings of the 20th IEEE Symposium on Foundations of Computer Science, pp. 234–254 (1979)
Fischer, M.J., Lynch, N.A., Burns, J.E., Borodin, A.: Distributed FIFO allocation of identical resources using small shared space. ACM Trans. Program. Lang. Syst. 11(1), 90–114 (1989)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Lamport, L.: On interprocess communication, Parts I and II. Distrib. Comput. 1(2), 77–101 (1986)
Lamport, L.: The mutual exclusion problem: Part II—statement and solutions. J. ACM 33, 327–348 (1986)
Loui, M.C., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Adv. Comput. Res. 4, 163–183 (1987)
Peterson, G.L.: New Bounds on Mutual Exclusion Problems. Technical Report TR68, University of Rochester, 1980 (Corrected 1994)
Peterson, G.L.: Observations on \(\ell \)-exclusion. In: 28th Annual Allerton conference on communication, control and computing, pp. 568–577 (1990)
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming. Pearson/Prentice-Hall. ISBN 0-131-97259-6 (2006)
I wish to thank the three anonymous referees and the associate editor Eric Ruppert for their constructive suggestions and corrections.
A preliminary version of the results presented in this paper, appeared in proceedings of the 25th international symposium on distributed computing (DISC 2011), Rome, Italy, September 2011. In: LNCS 6950 Springer Verlag 2011, 110–124.
About this article
Cite this article
Taubenfeld, G. Tight space bounds for \(\ell \)-exclusion. Distrib. Comput. 27, 165–179 (2014). https://doi.org/10.1007/s00446-014-0207-6
- Mutual exclusion
- \(\ell \)-Exclusion
- Space complexity
- Tight bounds