Memory-Anonymous Starvation-Free Mutual Exclusion: Possibility and Impossibility Results

Author Gadi Taubenfeld



PDF
Thumbnail PDF

File

LIPIcs.DISC.2023.33.pdf
  • Filesize: 0.71 MB
  • 17 pages

Document Identifiers

Author Details

Gadi Taubenfeld
  • Reichman University, Herzliya, Israel

Cite AsGet BibTex

Gadi Taubenfeld. Memory-Anonymous Starvation-Free Mutual Exclusion: Possibility and Impossibility Results. In 37th International Symposium on Distributed Computing (DISC 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 281, pp. 33:1-33:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)
https://doi.org/10.4230/LIPIcs.DISC.2023.33

Abstract

In an anonymous shared memory system, all inter-process communications are via shared objects; however, unlike in standard systems, there is no a priori agreement between processes on the names of shared objects [G. Taubenfeld, 2017; G. Taubenfeld, 2022]. Furthermore, the algorithms are required to be symmetric; that is, the processes should execute precisely the same code, and the only way to distinguish processes is by comparing identifiers for equality. For such a system, read/write registers are called anonymous registers. It is known that symmetric deadlock-free mutual exclusion is solvable for any finite number of processes using anonymous registers [Z. Aghazadeh et al., 2019]. The main question left open in [G. Taubenfeld, 2017; G. Taubenfeld, 2022] is the existence of starvation-free mutual exclusion algorithms for two or more processes. We resolve this open question for memoryless algorithms, in which a process that tries to enter its critical section does not use any information about its previous attempts. Almost all known mutual exclusion algorithms are memoryless. We show that, 1) There is a symmetric memoryless starvation-free mutual exclusion algorithm for two processes using m ≥ 7 anonymous registers if and only if m is odd. 2) There is no symmetric memoryless starvation-free mutual exclusion algorithm for n ≥ 3 processes using (any number of) anonymous registers. Our impossibility result is the only example of a system with fault-free processes, where global progress (i.e., deadlock-freedom) can be ensured, while individual progress to each process (i.e., starvation-freedom) cannot. It complements a known result for systems with failure-prone processes, that there are objects with lock-free implementations but without wait-free implementations [H. Attiya et al., 2022; M. Herlihy, 1991].

Subject Classification

ACM Subject Classification
  • Theory of computation → Distributed computing models
  • Theory of computation → Shared memory algorithms
  • Theory of computation → Distributed algorithms
Keywords
  • anonymous shared memory
  • memory-anonymous algorithms
  • anonymous registers
  • starvation-free mutual exclusion

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Z. Aghazadeh, D. Imbs, M. Raynal, G. Taubenfeld, and Ph. Woelfel. Optimal memory-anonymous symmetric deadlock-free mutual exclusion. In Proceedings of the 38th ACM Symposium on Principles of Distributed Computing, PODC '19, pages 157-166, 2019. Google Scholar
  2. H. Attiya, A. Castañeda, D. Hendler, and M. Perrin. Separating lock-freedom from wait-freedom at every level of the consensus hierarchy. Journal of Parallel and Distributed Computing, 163:181-197, 2022. Conf. version appeared in PODC 2018. Google Scholar
  3. J. N. Burns and N. A. Lynch. Bounds on shared-memory for mutual exclusion. Information and Computation, 107(2):171-184, December 1993. Google Scholar
  4. E. W. Dijkstra. Solution of a problem in concurrent programming control. Communications of the ACM, 8(9):569, 1965. Google Scholar
  5. M. Herlihy. Impossibility results for asynchronous PRAM. In Proc. of the 3rd Annual ACM Symp. on Parallel Algorithms and Architectures, pages 327-336, 1991. Google Scholar
  6. M. P. Herlihy. Wait-free synchronization. ACM Trans. on Programming Languages and Systems, 13(1):124-149, January 1991. Google Scholar
  7. M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems, 12(3):463-492, 1990. Google Scholar
  8. L. Lamport. A new solution of Dijkstra’s concurrent programming problem. Communications of the ACM, 17(8):453-455, August 1974. Google Scholar
  9. S. Rashid, G. Taubenfeld, and Z. Bar-Joseph. The epigenetic consensus problem. In 28nd International Colloquium on Structural Information and Communication Complexity (SIROCCO 2021), pages 146-163, June 2021. LNCS 12810. Google Scholar
  10. M. Raynal and G. Taubenfeld. Symmetry and anonymity in shared memory concurrent systems. Bulletin of the European Association of Theoretical Computer Science (EATCS), 136, 2022. 17 pages. Google Scholar
  11. M. Raynal and G. Taubenfeld. A visit to mutual exclusion in seven dates. Theoretical Computer Science, 919:47-65, June 2022. Google Scholar
  12. E. Styer and G. L. Peterson. Tight bounds for shared memory symmetric mutual exclusion problems. In Proc. 8th ACM Symp. on Principles of Distributed Computing, pages 177-191, August 1989. Google Scholar
  13. G. Taubenfeld. Synchronization Algorithms and Concurrent Programming. Pearson / Prentice-Hall, 2006. ISBN 0-131-97259-6, 423 pages. Google Scholar
  14. G. Taubenfeld. Coordination without prior agreement. In Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC '17, pages 325-334, 2017. Google Scholar
  15. G. Taubenfeld. Anonymous shared memory. J. ACM, 69(4):1?30, August 2022. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail