Wait-Free Multi-Word Compare-and-Swap Using Greedy Helping and Grabbing

作者: Håkan Sundell

DOI: 10.1007/S10766-011-0167-4

关键词: Theoretical computer scienceWord (computer architecture)Theory of computationScheme (programming language)MultiprocessingCompare-and-swapComputer scienceDatabase transaction

摘要: We present a new algorithm for implementing multi-word compare-and-swap functionality supporting the Read and CASN operations. The is wait-free under reasonable assumptions on execution history benefits from techniques to resolve conflicts between operations by using greedy helping grabbing. Although deterministic scheme enabling grabbing somewhat sacrifices fairness, effects are insignificant in practice. Moreover, unlike most of previous results, operation does not require list addresses be sorted before invoked, can read current value without applying when word within an ongoing transaction. Experiments micro-benchmarks varying important parameters three dimensions have been performed two multiprocessor platforms. results show similar performance as lock-free Harris et al. scenarios, significantly better scenarios with very high contention. This altogether extraordinary good considering that wait-free.

参考文章(20)
Dan Touitou, Gadi Taubenfeld, Michael Merrittt, Disentangling Multi-object Operations ,(1997)
Mark Moir, Transparent Support for Wait-Free Transactions international workshop on distributed algorithms. pp. 305- 319 ,(1997) , 10.1007/BFB0030692
Timothy L. Harris, Keir Fraser, Ian A. Pratt, A Practical Multi-word Compare-and-Swap Operation Lecture Notes in Computer Science. pp. 265- 279 ,(2002) , 10.1007/3-540-36108-1_18
Maged M. Michael, Practical Lock-Free and Wait-Free LL/SC/VL Implementations Using 64-Bit CAS international symposium on distributed computing. pp. 144- 158 ,(2004) , 10.1007/978-3-540-30186-8_11
John David Valois, Lock-free data structures Rensselaer Polytechnic Institute. ,(1996)
Prasad Jayanti, A Complete and Constant Time Wait-Free Implementation of CAS from LL/SC and Vice Versa international symposium on distributed computing. pp. 216- 230 ,(1998) , 10.1007/BFB0056485
James H. Anderson, Mark Moir, Universal constructions for multi-object operations principles of distributed computing. pp. 184- 193 ,(1995) , 10.1145/224964.224985
Hagit Attiya, Eyal Dagan, Universal operations: unary versus binary principles of distributed computing. pp. 223- 232 ,(1996) , 10.1145/248052.248097
Yehuda Afek, Michael Merrit, Gadi Taubenfeld, Dan Touitou, Disentangling multi-object operations (extended abstract) principles of distributed computing. pp. 111- 120 ,(1997) , 10.1145/259380.259431