TY - GEN
T1 - Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity
AU - Katzan, Daniel
AU - Morrison, Adam
N1 - Publisher Copyright:
© Daniel Katzan and Adam Morrison; licensed under Creative Commons License CC-BY 24th International Conference on Principles of Distributed Systems (OPODIS 2020).
PY - 2021/1
Y1 - 2021/1
N2 - We present the first recoverable mutual exclusion (RME) algorithm that is simultaneously abortable, adaptive to point contention, and with sublogarithmic RMR complexity. Our algorithm has O(min(K, logW N)) RMR passage complexity and O(F + min(K, logW N)) RMR super-passage complexity, where K is the number of concurrent processes (point contention), W is the size (in bits) of registers, and F is the number of crashes in a super-passage. Under the standard assumption that W = _(logN), these bounds translate to worst-case O( logN log logN ) passage complexity and O(F + logN log logN ) super-passage complexity. Our key building blocks are: A D-process abortable RME algorithm, for D - W, with O(1) passage complexity and O(1+F) super-passage complexity. We obtain this algorithm by using the Fetch-And-Add (FAA) primitive, unlike prior work on RME that uses Fetch-And-Store (FAS/SWAP). A generic transformation that transforms any abortable RME algorithm with passage complexity of B < W, into an abortable RME lock with passage complexity of O(min(K,B)).
AB - We present the first recoverable mutual exclusion (RME) algorithm that is simultaneously abortable, adaptive to point contention, and with sublogarithmic RMR complexity. Our algorithm has O(min(K, logW N)) RMR passage complexity and O(F + min(K, logW N)) RMR super-passage complexity, where K is the number of concurrent processes (point contention), W is the size (in bits) of registers, and F is the number of crashes in a super-passage. Under the standard assumption that W = _(logN), these bounds translate to worst-case O( logN log logN ) passage complexity and O(F + logN log logN ) super-passage complexity. Our key building blocks are: A D-process abortable RME algorithm, for D - W, with O(1) passage complexity and O(1+F) super-passage complexity. We obtain this algorithm by using the Fetch-And-Add (FAA) primitive, unlike prior work on RME that uses Fetch-And-Store (FAS/SWAP). A generic transformation that transforms any abortable RME algorithm with passage complexity of B < W, into an abortable RME lock with passage complexity of O(min(K,B)).
KW - Mutual exclusion
KW - Non-volatile memory
KW - Recovery
UR - http://www.scopus.com/inward/record.url?scp=85101723289&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.OPODIS.2020.15
DO - 10.4230/LIPIcs.OPODIS.2020.15
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:85101723289
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 24th International Conference on Principles of Distributed Systems, OPODIS 2020
A2 - Bramas, Quentin
A2 - Oshman, Rotem
A2 - Romano, Paolo
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 24th International Conference on Principles of Distributed Systems, OPODIS 2020
Y2 - 14 December 2020 through 16 December 2020
ER -