TY - GEN
T1 - Recoverable and Detectable Fetch&Add
AU - Nahum, Liad
AU - Attiya, Hagit
AU - Ben-Baruch, Ohad
AU - Hendler, Danny
N1 - Publisher Copyright:
© Liad Nahum, Hagit Attiya, Ohad Ben-Baruch, and Danny Hendler.
PY - 2022/2/1
Y1 - 2022/2/1
N2 - The emergence of systems with non-volatile main memory (NVRAM) increases the need for persistent concurrent objects. Of specific interest are recoverable implementations that, in addition to being robust to crash-failures, are also detectable. Detectability ensures that upon recovery, it is possible to infer whether the failed operation took effect or not and, in the former case, obtain its response. This work presents two recoverable detectable Fetch&Add (FAA) algorithms that are self-implementations, i.e, use only a fetch&add base object, in addition to read/write registers. The algorithms target two different models for recovery: the global-crash model and the individual-crash model. In both algorithms, operations are wait-free when there are no crashes, but the recovery code may block if there are repeated failures. We also prove that in the individual-crash model, there is no implementation of recoverable and detectable FAA using only read, write and fetch&add primitives in which all operations, including recovery, are lock-free.
AB - The emergence of systems with non-volatile main memory (NVRAM) increases the need for persistent concurrent objects. Of specific interest are recoverable implementations that, in addition to being robust to crash-failures, are also detectable. Detectability ensures that upon recovery, it is possible to infer whether the failed operation took effect or not and, in the former case, obtain its response. This work presents two recoverable detectable Fetch&Add (FAA) algorithms that are self-implementations, i.e, use only a fetch&add base object, in addition to read/write registers. The algorithms target two different models for recovery: the global-crash model and the individual-crash model. In both algorithms, operations are wait-free when there are no crashes, but the recovery code may block if there are repeated failures. We also prove that in the individual-crash model, there is no implementation of recoverable and detectable FAA using only read, write and fetch&add primitives in which all operations, including recovery, are lock-free.
KW - Multi-core algorithms
KW - Non-volatile memory
KW - Persistent memory
UR - http://www.scopus.com/inward/record.url?scp=85127421696&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.OPODIS.2021.29
DO - 10.4230/LIPIcs.OPODIS.2021.29
M3 - Conference contribution
AN - SCOPUS:85127421696
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 25th International Conference on Principles of Distributed Systems, OPODIS 2021
A2 - Bramas, Quentin
A2 - Gramoli, Vincent
A2 - Gramoli, Vincent
A2 - Milani, Alessia
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 25th International Conference on Principles of Distributed Systems, OPODIS 2021
Y2 - 13 December 2021 through 15 December 2021
ER -