Awesome Lock-Free
A collection of resources on wait-free and lock-free programming.
🔥 🔥 🔥 Even better resource from MattPD: C++ links: atomics, lock free, memory model.
Libraries
-
Boost.Lockfree - Boost lock-free data structures.
-
ConcurrencyKit - Concurrency primitives.
-
crossbeam - Rust library for concurrent programming.
-
Folly - Facebook Open-source Library (has good implementation of MPMC queue).
-
Junction - Concurrent data structures in C++.
-
MPMCQueue - A bounded multi-producer multi-consumer lock-free queue written in C++11.
-
SPSCQueue - A bounded single-producer single-consumer wait-free and lock-free queue written in C++11.
-
Seqlock - Implementation of Seqlock in C++.
-
Userspace RCU - liburcu is a userspace RCU (read-copy-update) library.
-
libcds - A C++ library of Concurrent Data Structures.
-
liblfds - portable, license-free, lock-free data structure library written in C.
-
xenium - A C++ library providing various concurrent data structures and reclamation schemes.
Websites
Blogs
Books
Papers
Talks
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part II"
- CppCon 2015: Fedor Pikus PART 1 Live Lock-Free or Deadlock (Practical Lock-free Programming)"
- CppCon 2015: Fedor Pikus PART 2 "Live Lock-Free or Deadlock (Practical Lock-free Programming)"
- CppCon 2015: Michael Wong C++11/14/17 atomics and memory model..."
- CppCon 2015: Paul E. McKenney C++ Atomics..."
- CppCon 2014: Tony Van Eerd "Lock-free by Example"
- CppCon 2016: Fedor Pikus "The Speed of Concurrency: is lock-free faster?"
- CppCon 2016: Hans Boehm Using weakly ordered C++ atomics correctly"
- CppCon 2017: Fedor Pikus C++ atomics, from basic to advanced. What do they really do?
- CppCon 2017: Fedor Pikus Read, Copy, Update, then what? RCU for non-kernel programmers
- CppCon 2017: P. McKenney, M. Michael & M. Wong Is Parallel Programming still hard? PART 1 of 2
- CppCon 2017: P. McKenney, M. Michael & M. Wong Is Parallel Programming still hard? PART 2 of 2
- CppCon 2018: The Landscape and Exciting New Future of Safe Reclamation for High Performance
- C++ and Beyond 2012: Herb Sutter - atomic<> Weapons, 1 of 2
- C++ and Beyond 2012: Herb Sutter - atomic<> Weapons, 2 of 2
- "Aeron: Open-source high-performance messaging" by Martin Thompson
- Adventures with Concurrent Programming in Java: A Quest for Predictable Latency - Martin Thompson
- Understanding the Disruptor, a Beginner's Guide to Hardcore Concurrency -Trisha Gee & Mike Barker
About
This list was compiled by Erik Rigtorp
<[email protected]>.