Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing 2015
DOI: 10.1145/2767386.2767403
|View full text |Cite
|
Sign up to set email alerts
|

On the Time and Space Complexity of ABA Prevention and Detection

Abstract: We investigate the time and space complexity of detecting and preventing ABAs in shared memory algorithms for systems with n processes and bounded base objects. To that end, we define ABA-detecting registers, which are similar to normal read/write registers, except that they allow a process q to detect with a read operation, whether some process wrote the register since q's last read. ABA-detecting registers can be implemented trivially from a single unbounded register, but we show that they have a high comple… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
11
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
2
2
1

Relationship

2
3

Authors

Journals

citations
Cited by 7 publications
(11 citation statements)
references
References 38 publications
0
11
0
Order By: Relevance
“…An ABA-detecting register [3] is a type that stores a single value R from some domain D, and supports the invocation descriptions DW rite q (x) for x ∈ D, and DRead q () with the following sequential specification: Initially, R = ⊥ ∈ D, and a DW rite q (x) invocation changes the value of R to x. Invocation DRead q () returns a pair (x, a) ∈ D × {true, f alse}, where x is the value of R, and a is true if and only if q performed an earlier DRead q () operation, and a DW rite p was performed by some process p since q's last DRead q ().…”
Section: A Strongly Linearizable Aba-detecting Registermentioning
confidence: 99%
See 4 more Smart Citations
“…An ABA-detecting register [3] is a type that stores a single value R from some domain D, and supports the invocation descriptions DW rite q (x) for x ∈ D, and DRead q () with the following sequential specification: Initially, R = ⊥ ∈ D, and a DW rite q (x) invocation changes the value of R to x. Invocation DRead q () returns a pair (x, a) ∈ D × {true, f alse}, where x is the value of R, and a is true if and only if q performed an earlier DRead q () operation, and a DW rite p was performed by some process p since q's last DRead q ().…”
Section: A Strongly Linearizable Aba-detecting Registermentioning
confidence: 99%
“…If the X.Read() operation on line 37 performed by dr following xr 2 returns (x, p, s), then by the loop-guard on line 41, dr terminates after this iteration of the main loop. This is a contradiction, since dr must restart the repeat-until loop after xr 2 in order to perform xr 3 . Therefore, the X.Read() operation on line 37 performed by dr following xr 2 returns (x ′ , p ′ , s ′ ) = (x, p, s).…”
Section: Lock-freedom and Complexity Analysismentioning
confidence: 99%
See 3 more Smart Citations