A Pragmatic Implementation of Non-blocking Linked-lists
We present a new non-blocking implementation of concurrent linked-lists supporting linearizable insertion and deletion operations. The new algorithm provides substantial benefits over previous schemes: it is conceptually simpler and our prototype operates substantially faster.
KeywordsLinearization Point Marked Node Concurrent Thread Left Node Tail Node
Unable to display preview. Download preview PDF.
- [ABP98]Nimar S. Arora, Robert D. Blumofe, and C. Greg Plaxton. Thread scheduling for multiprogrammed multiprocessors. In Proceedings of the 10th Annual ACM Symposium on Parallel Algorithms and Architectures, pages 119–129, Puerto Vallarta, Mexico, June 28-July 2, 1998. SIGACT/SIGARCH.Google Scholar
- [GC96]Michael Greenwald and David Cheriton. The synergy between non-blocking synchronization and operating system structure. In USENIX, editor, 2nd Symposium on Operating Systems Design and Implementation (OSDI’ 96), October 28-31, 1996. Seattle, WA, pages 123–136, Berkeley, CA, USA, October 1996. USENIX.Google Scholar
- [Gre99]M Greenwald. Non-blocking synchronization and system design. PhD thesis, Stanford University, August 1999. Technical report STAN-CS-TR-99-1624.Google Scholar
- [IS99]Radu Iosif and Riccardo Sisto. dSPIN: A dynamic extension of SPIN. In Proc. of the 6th International SPIN Workshop, volume 1680 of LNCS, pages 261–276. Springer-Verlag, September 1999.Google Scholar
- [JL96]Richard Jones and Rafael Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley and Sons, July 1996.Google Scholar
- [LaM94]Anthony LaMarca. A performance evaluation of lock-free synchronization protocols. In Proceedings of the Thirteenth Symposium on Principles of Distributed Computing, pages 130–140, 1994.Google Scholar
- [MP91]Henry Massalin and Calton Pu. A lock-free multiprocessor OS kernel. Technical Report CUCS-005-91, Columbia University, 1991.Google Scholar
- [MS95]Maged M. Michael and Michael L. Scott. Correction of a memory management method for lock-free data structures. Technical Report TR599, University of Rochester, Computer Science Department, December 1995.Google Scholar
- [PPr96]Pentium Pro Family Developer’s Manual, volume 2, programmer’s reference manual. Intel Corporation, 1996. Reference number 242691-001.Google Scholar
- [Val95]John D. Valois. Lock-free linked lists using compare-and-swap. In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, pages 214–222, Ottawa, Ontario, Canada, 2-23 August 1995.Google Scholar
- [Val01]John D Valois. Personal communication. March 2001.Google Scholar