Efficient Wait-Free Implementation of Multiword LL/SC Variables

Since the design of lock-free data structures often poses a formidable intellectual challenge, researchers are constantly in search of abstractions and primitives that simplify this design. The multiword LL/SC object is such a primitive: many existing algorithms are based on this primitive, including the nonblocking and wait-free universal constructions (Anderson et. al., 1995), the closed objects construction (Chandra et. al., 1998) and the snap-shot algorithms (Jayanti, 2005, 2002). In this paper, the authors considered the problem of implementing a W-word LL/SC object shared by N processes. The previous best algorithm, due to Anderson and Moir, is time optimal (LL and SC operations run in O(W) time), but has a space complexity of O(N2 W). An algorithm that uses novel buffer management ideas to cut down the space complexity by a factor of N to O(NW), while still being time optimal was presented

[1]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[2]  Mark Moir,et al.  Universal Constructions for Large Objects , 1995, IEEE Trans. Parallel Distributed Syst..

[3]  Mark Moir,et al.  Nonblocking k-compare-single-swap , 2003, SPAA '03.

[4]  Robert Sims,et al.  Alpha architecture reference manual , 1992 .

[5]  Prasad Jayanti An optimal multi-writer snapshot algorithm , 2005, STOC '05.

[6]  Gary L. Peterson,et al.  Concurrent Reading While Writing , 1983, TOPL.

[7]  Amos Israeli,et al.  Disjoint-access-parallel implementations of strong shared memory primitives , 1994, PODC '94.

[8]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[9]  David L Weaver,et al.  The SPARC architecture manual : version 9 , 1994 .

[10]  Maurice Herlihy,et al.  The asynchronous computability theorem for t-resilient tasks , 1993, STOC.

[11]  Mark Moir,et al.  Universal constructions for multi-object operations , 1995, PODC '95.

[12]  Prasad Jayanti f-arrays: implementation and applications , 2002, PODC '02.

[13]  Tushar Deepak Chandra,et al.  A polylog time wait-free construction for closed objects , 1998, PODC '98.

[14]  James C. Collins MIPS Computer Systems , 2002 .

[15]  Maurice Herlihy,et al.  Bringing practical lock-free synchronization to 64-bit applications , 2004, PODC '04.

[16]  Mark Moir Practical implementations of non-blocking synchronization primitives , 1997, PODC '97.

[17]  Prasad Jayanti,et al.  Efficient and practical constructions of LL/SC variables , 2003, PODC '03.

[18]  Richard L. Sites,et al.  Alpha Architecture Reference Manual , 1995 .

[19]  Leslie Lamport,et al.  Concurrent reading and writing , 1977, Commun. ACM.

[20]  Gary L. Peterson A New Solution to Lamport's Concurrent Programming Problem Using Small Shared Variables , 1983, TOPL.