On the Time and Space Complexity of ABA Prevention and Detection

被引:6
作者
Aghazadeh, Zahra [1 ]
Woelfel, Philipp [1 ]
机构
[1] Univ Calgary, Dept Comp Sci, Calgary, AB, Canada
来源
PODC'15: PROCEEDINGS OF THE 2015 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING | 2015年
基金
加拿大自然科学与工程研究理事会;
关键词
Shared memory; ABA problem; Load-link/store-conditional; LOCK-FREE; SHARED-MEMORY; BOUNDS;
D O I
10.1145/2767386.2767403
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 complexity if base objects are bounded: An obstruction-free implementation of an ABA-detecting single bit register cannot be implemented from fewer than n 1 bounded registers. Moreover, bounded CAS objects (or more generally, conditional read-modify-write primitives) offer little help to implement ABA-detecting single bit registers: We prove a linear timespace tradeoff for such implementations. We show that the same time-space tradeoff holds for implementations of single bit LL/SC primitives from bounded writable CAS objects. This proves that the implementations of LL/SC/VL by Anderson and Moir [2] as well as Jayanti and Petrovic [15] are optimal. We complement our lower bounds with tight upper bounds: We give an implementation of ABA-detecting registers from n+1 bounded registers, which has step complexity O(1). We also show that (bounded) LL/SC/VL can be implemented from a single bounded CAS object and with O(n) step complexity. Both upper bounds are asymptotically optimal with respect to their time-space product. These results give formal evidence that the ABA problem is inherently difficult, that even writable CAS objects do not provide significant benefits over registers for dealing with the ABA problem itself, and that there is no hope of finding a more efficient implementation of LL/SC/VL from bounded CAS objects and registers than the ones from [2, 15].
引用
收藏
页码:193 / 202
页数:10
相关论文
共 32 条
[1]   Making Objects Writable [J].
Aghazadeh, Zahra ;
Golab, Wojciech ;
Woelfel, Philipp .
PROCEEDINGS OF THE 2014 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PODC'14), 2014, :385-395
[2]  
Anderson J. H., 1995, Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, P184, DOI 10.1145/224964.224985
[3]  
[Anonymous], 2001, SPAA
[4]  
Attiya H., 2014, SYNTHESIS LECT DISTR
[5]   BOUNDS ON SHARED-MEMORY FOR MUTUAL EXCLUSION [J].
BURNS, JE ;
LYNCH, NA .
INFORMATION AND COMPUTATION, 1993, 107 (02) :171-184
[6]  
Doherty Simon., 2004, P 23 ANN ACM S PRINC, P31
[7]   The space complexity of unbounded timestamps [J].
Ellen, Faith ;
Fatourou, Panagiota ;
Ruppert, Eric .
DISTRIBUTED COMPUTING, 2008, 21 (02) :103-115
[8]   On the space complexity of randomized synchronization [J].
Fich, F ;
Herlihy, M ;
Shavit, N .
JOURNAL OF THE ACM, 1998, 45 (05) :843-862
[9]   On the inherent weakness of conditional primitives [J].
Fich, FE ;
Hendler, D ;
Shavit, N .
DISTRIBUTED COMPUTING, 2006, 18 (04) :267-277
[10]   The Space Complexity of Long-Lived and One-Shot Timestamp Implementations [J].
Helmi, Maryam ;
Higham, Lisa ;
Pacheco, Eduardo ;
Woelfel, Philipp .
JOURNAL OF THE ACM, 2014, 61 (01)