TY - GEN
T1 - Upper and Lower Bounds on the Space Complexity of Detectable Objects
AU - Ben-Baruch, Ohad
AU - Hendler, Danny
AU - Rusanovsky, Matan
N1 - Funding Information:
∗Supported in part by ISF grant 380/18.
Publisher Copyright:
© 2020 ACM.
PY - 2020/7/31
Y1 - 2020/7/31
N2 - The emergence of systems with non-volatile main memory (NVM) increases the interest in the design of recoverable concurrent objects that are robust to crash-failures, since their operations are able to recover from such failures by using state retained in NVM. Of particular interest are recoverable algorithms that, in addition to ensuring object consistency, also provide detectability, a correctness condition requiring that the recovery code can infer if the failed operation was linearized or not and, in the former case, obtain its response. In this work, we investigate the space complexity of detectable algorithms and the external support they require. We make the following three contributions. First, we present the first wait-free bounded-space detectable read/write and CAS object implementations. Second, we prove that the bit complexity of every N-process obstruction-free detectable CAS implementation, assuming values from a domain of size at least N, is Ω (N). Finally, we prove that the following holds for obstruction-free detectable implementations of a large class of objects: their recoverable operations must be provided with auxiliary state - state that is not required by the non-recoverable counterpart implementation - whose value must be provided from outside the operation, either by the system or by the caller of the operation. In contrast, this external support is, in general, not required if the recoverable algorithm is not detectable.
AB - The emergence of systems with non-volatile main memory (NVM) increases the interest in the design of recoverable concurrent objects that are robust to crash-failures, since their operations are able to recover from such failures by using state retained in NVM. Of particular interest are recoverable algorithms that, in addition to ensuring object consistency, also provide detectability, a correctness condition requiring that the recovery code can infer if the failed operation was linearized or not and, in the former case, obtain its response. In this work, we investigate the space complexity of detectable algorithms and the external support they require. We make the following three contributions. First, we present the first wait-free bounded-space detectable read/write and CAS object implementations. Second, we prove that the bit complexity of every N-process obstruction-free detectable CAS implementation, assuming values from a domain of size at least N, is Ω (N). Finally, we prove that the following holds for obstruction-free detectable implementations of a large class of objects: their recoverable operations must be provided with auxiliary state - state that is not required by the non-recoverable counterpart implementation - whose value must be provided from outside the operation, either by the system or by the caller of the operation. In contrast, this external support is, in general, not required if the recoverable algorithm is not detectable.
KW - concurrent objects
KW - detectability
KW - non-volatile memory
KW - recoverable algorithms
UR - http://www.scopus.com/inward/record.url?scp=85090351494&partnerID=8YFLogxK
U2 - 10.1145/3382734.3405725
DO - 10.1145/3382734.3405725
M3 - Conference contribution
AN - SCOPUS:85090351494
T3 - Proceedings of the Annual ACM Symposium on Principles of Distributed Computing
SP - 11
EP - 20
BT - PODC 2020 - Proceedings of the 39th Symposium on Principles of Distributed Computing
PB - Association for Computing Machinery
T2 - 39th Symposium on Principles of Distributed Computing, PODC 2020
Y2 - 3 August 2020 through 7 August 2020
ER -