Abstract
Group mutual exclusion (GME), introduced by Joung in 1998, is a natural synchronization problem that generalizes the classical mutual exclusion and readers and writers problems. In GME a process requests a session before entering its critical section; processes are allowed to be in their critical sections simultaneously provided they have requested the same session. We present a GME algorithm that (1) is the first to achieve a constant Remote Memory Reference (RMR) complexity for both cache coherent and distributed shared memory machines; and (2) is the first that can be accessed by arbitrarily many dynamically allocated processes and with arbitrarily many session names. Neither of the existing GME algorithms satisfies either of these two important properties. In addition, our algorithm has constant space complexity per process and satisfies the two strong fairness properties, first-come-first-served and first-in-first-enabled. Our algorithm uses an atomic instruction set supported by most modern processor architectures, namely: read, write, fetch-and-store and compare-and-swap.
Original language | English |
---|---|
Title of host publication | 35th International Symposium on Distributed Computing, DISC 2021 |
Editors | Seth Gilbert |
Publisher | Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing |
ISBN (Electronic) | 9783959772105 |
DOIs | |
State | Published - 1 Oct 2021 |
Externally published | Yes |
Event | 35th International Symposium on Distributed Computing, DISC 2021 - Virtual, Freiburg, Germany Duration: 4 Oct 2021 → 8 Oct 2021 |
Publication series
Name | Leibniz International Proceedings in Informatics, LIPIcs |
---|---|
Volume | 209 |
ISSN (Print) | 1868-8969 |
Conference
Conference | 35th International Symposium on Distributed Computing, DISC 2021 |
---|---|
Country/Territory | Germany |
City | Virtual, Freiburg |
Period | 4/10/21 → 8/10/21 |
Bibliographical note
Publisher Copyright:© Liat Maor and Gadi Taubenfeld; licensed under Creative Commons License CC-BY 4.0
Keywords
- Compare&swap (CAS)
- Fetch&store (FAS)
- Group mutual exclusion
- RMR complexity
- Unbounded number of processes