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 -