Abstract
The linked-list data structure is fundamental and ubiquitous. Lock-free versions of the linked-list are well known. However, the existence of a practical wait-free linked-list has been open. In this work we designed such a linked-list. To achieve better performance, we have also extended this design using the fast-path-slow-path methodology. The resulting implementation achieves performance which is competitive with that of Harris's lock-free list, while still guaranteeing non-starvation via wait-freedom. We have also developed a proof for the correctness and the wait-freedom of our design.
- Panagiota Fatourou and Nikolaos D. Kallimanis. A highly-efficient wait-free universal construction. In SPAA, pages 325--334, 2011. Google Scholar
Digital Library
- Mikhail Fomitchev and Eric Ruppert. Lock-free linked lists and skip lists. In Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing, PODC '04, pages 50--59, New York, NY, USA, 2004. ACM. Google Scholar
Digital Library
- Timothy L. Harris. A pragmatic implementation of non-blocking linked-lists. In Proceedings of the 15th International Conference on Distributed Computing, DISC '01, London, UK, UK, 2001. Springer-Verlag. Google Scholar
Digital Library
- Maurice Herlihy. A methodology for implementing highly concurrent objects. ACM Trans. Program. Lang. Syst., 15(5):745--770, 1993. Google Scholar
Digital Library
- Maurice Herlihy and Nir Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann, 2008. Google Scholar
Digital Library
- Alex Kogan and Erez Petrank. Wait-free queues with multiple enqueuers and dequeuers. In PPOPP, pages 223--234, 2011. Google Scholar
Digital Library
- Alex Kogan and Erez Petrank. A methodology for creating fast wait-free data structures. In PPOPP, 2012. Google Scholar
Digital Library
- Maged M. Michael. High performance dynamic lock-free hash tables and list-based sets. In Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures, SPAA '02, pages 73--82, New York, NY, USA, 2002. ACM. Google Scholar
Digital Library
- John D. Valois. Lock-free linked lists using compare-and-swap. In Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, PODC '95, pages 214--222, New York, NY, USA, 1995. ACM. Google Scholar
Digital Library
Index Terms
Wait-free linked-lists
Recommendations
Wait-free linked-lists
PPoPP '12: Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel ProgrammingThe linked-list data structure is fundamental and ubiquitous. Lock-free versions of the linked-list are well known. However, the existence of a practical wait-free linked-list has been open. In this work we designed such a linked-list. To achieve better ...
Lock-Free Data-Structure Iterators
DISC 2013: Proceedings of the 27th International Symposium on Distributed Computing - Volume 8205Concurrent data structures are often used with large concurrent software. An iterator that traverses the data structure items is a highly desirable interface that often exists for sequential data structures but is missing from almost all concurrent data-...
A practical wait-free simulation for lock-free data structures
PPoPP '14Lock-free data structures guarantee overall system progress, whereas wait-free data structures guarantee the progress of each and every thread, providing the desirable non-starvation guarantee for concurrent data structures. While practical lock-free ...







Comments