\r
References\r
----------\r
-Stack\r
+*Stack*\r
- TreiberStack: [1986] R. K. Treiber. Systems programming: Coping with parallelism. Technical Report RJ 5118, IBM Almaden Research Center, April 1986.\r
- Elimination back-off implementation is based on idea from [2004] Danny Hendler, Nir Shavit, Lena Yerushalmi "A Scalable Lock-free Stack Algorithm"\r
\r
-Queue\r
+*Queue*\r
- BasketQueue: [2007] Moshe Hoffman, Ori Shalev, Nir Shavit "The Baskets Queue"\r
- MSQueue:\r
* [1998] Maged Michael, Michael Scott "Simple, fast, and practical non-blocking and blocking concurrent queue algorithms"\r
- TsigasCycleQueue: [2000] Philippas Tsigas, Yi Zhang "A Simple, Fast and Scalable Non-Blocking Concurrent FIFO Queue for Shared Memory Multiprocessor Systems"\r
- VyukovMPMCCycleQueue Dmitry Vyukov (see http://www.1024cores.net)\r
\r
-Deque\r
+*Deque*\r
- MichaelDeque: [2003] Maged Michael "CAS-based Lock-free Algorithm for Shared Deque"\r
\r
-Map, set\r
+*Map, set*\r
- MichaelHashMap: [2002] Maged Michael "High performance dynamic lock-free hash tables and list-based sets"\r
- SplitOrderedList: [2003] Ori Shalev, Nir Shavit "Split-Ordered Lists - Lock-free Resizable Hash Tables"\r
- StripedMap, StripedSet: [2008] Maurice Herlihy, Nir Shavit "The Art of Multiprocessor Programming"\r
- CuckooMap, CuckooSet: [2008] Maurice Herlihy, Nir Shavit "The Art of Multiprocessor Programming"\r
- SkipListMap, SkipListSet: [2008] Maurice Herlihy, Nir Shavit "The Art of Multiprocessor Programming"\r
\r
-Ordered single-linked list\r
+*Ordered single-linked list*\r
- LazyList: [2005] Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III, and Nir Shavit "A Lazy Concurrent List-Based Set Algorithm"\r
- MichaelList: [2002] Maged Michael "High performance dynamic lock-free hash tables and list-based sets"\r
\r
-Priority queue\r
+*Priority queue*\r
- MSPriorityQueue: [1996] G.Hunt, M.Michael, S. Parthasarathy, M.Scott "An efficient algorithm for concurrent priority queue heaps"\r
\r
-Tree\r
+*Tree*\r
- EllenBinTree: [2010] F.Ellen, P.Fatourou, E.Ruppert, F.van Breugel "Non-blocking Binary Search Tree"\r
\r
-Garbage collection\r
+*SMR*\r
- Hazard Pointers\r
* [2002] Maged M.Michael "Safe memory reclamation for dynamic lock-freeobjects using atomic reads and writes"\r
* [2003] Maged M.Michael "Hazard Pointers: Safe memory reclamation for lock-free objects"\r
* [2011] M.Desnoyers, P.McKenney, A.Stern, M.Dagenias, J.Walpole "User-Level\r
Implementations of Read-Copy Update"\r
\r
-Memory allocation \r
+*Memory allocation*\r
- [2004] M.Michael "Scalable Lock-free Dynamic Memory Allocation"\r
\r
-Flat Combining technique\r
+*Flat Combining* technique\r
- [2010] Hendler, Incze, Shavit and Tzafrir "Flat Combining and the Synchronization-Parallelism Tradeoff"\r