*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
+ [pdf (http://people.csail.mit.edu/shanir/publications/Lock_Free.pdf)]\r
- *FCStack* - flat-combining wrapper for *std::stack*\r
\r
*Queue*\r
- *BasketQueue*: [2007] Moshe Hoffman, Ori Shalev, Nir Shavit "The Baskets Queue"\r
+ [pdf (http://people.csail.mit.edu/shanir/publications/Baskets%20Queue.pdf)]\r
- *MSQueue*:\r
* [1998] Maged Michael, Michael Scott "Simple, fast, and practical non-blocking and blocking concurrent queue algorithms"\r
+ [pdf (http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)]\r
* [2002] Maged M.Michael "Safe memory reclamation for dynamic lock-free objects using atomic reads and writes"\r
+ [pdf (http://www.research.ibm.com/people/m/michael/podc-2002.pdf)]\r
* [2003] Maged M.Michael "Hazard Pointers: Safe memory reclamation for lock-free objects"\r
+ [pdf (http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf)]\r
- *RWQueue*: [1998] Maged Michael, Michael Scott "Simple, fast, and practical non-blocking and blocking concurrent queue algorithms"\r
+ [pdf (http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)]\r
- *MoirQueue*: [2000] Simon Doherty, Lindsay Groves, Victor Luchangco, Mark Moir "Formal Verification of a practical lock-free queue algorithm"\r
+ [pdf (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.9954&rep=rep1&type=pdf)]\r
- *OptimisticQueue*: [2008] Edya Ladan-Mozes, Nir Shavit "An Optimistic Approach to Lock-Free FIFO Queues"\r
+ [pdf (https://people.csail.mit.edu/edya/publications/OptimisticFIFOQueue-journal.pdf)]\r
- *SegmentedQueue*: [2010] Afek, Korland, Yanovsky "Quasi-Linearizability: relaxed consistency for improved concurrency"\r
+ [pdf (http://mcg.cs.tau.ac.il/papers/opodis2010-quasi.pdf)]\r
- *FCQueue* - flat-combining wrapper for *std::queue*\r
- *TsigasCycleQueue*: [2000] Philippas Tsigas, Yi Zhang "A Simple, Fast and Scalable Non-Blocking Concurrent FIFO Queue for Shared Memory Multiprocessor Systems"\r
+ [pdf (http://www.cse.chalmers.se/~tsigas/papers/latest-spaa01.pdf)]\r
- *VyukovMPMCCycleQueue* Dmitry Vyukov (see http://www.1024cores.net)\r
\r
*Deque*\r
\r
*Map, set*\r
- *MichaelHashMap*: [2002] Maged Michael "High performance dynamic lock-free hash tables and list-based sets"\r
+ [pdf (http://www.research.ibm.com/people/m/michael/spaa-2002.pdf)]\r
- *SplitOrderedList*: [2003] Ori Shalev, Nir Shavit "Split-Ordered Lists - Lock-free Resizable Hash Tables"\r
+ [pdf (http://people.csail.mit.edu/shanir/publications/Split-Ordered_Lists.pdf)]\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
- *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
+ [pdf (http://people.csail.mit.edu/shanir/publications/Lazy_Concurrent.pdf)]\r
- *MichaelList*: [2002] Maged Michael "High performance dynamic lock-free hash tables and list-based sets"\r
+ [pdf (http://www.research.ibm.com/people/m/michael/spaa-2002.pdf)]\r
\r
*Priority queue*\r
- *MSPriorityQueue*: [1996] G.Hunt, M.Michael, S. Parthasarathy, M.Scott "An efficient algorithm for concurrent priority queue heaps"\r
+ [pdf (http://web.cse.ohio-state.edu/dmrl/papers/heap96.pdf)]\r
\r
*Tree*\r
- *EllenBinTree*: [2010] F.Ellen, P.Fatourou, E.Ruppert, F.van Breugel "Non-blocking Binary Search Tree"\r
+ [pdf (http://www.cs.vu.nl/~tcs/cm/faith.pdf)]\r
\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
- * [2004] Andrei Alexandrescy, Maged Michael "Lock-free Data Structures with Hazard Pointers"\r
+ * [2002] Maged M.Michael "Safe memory reclamation for dynamic lock-free objects using atomic reads and writes" \r
+ [pdf (http://www.research.ibm.com/people/m/michael/podc-2002.pdf)]\r
+ * [2003] Maged M.Michael "Hazard Pointers: Safe memory reclamation for lock-free objects" \r
+ [pdf (http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf)]\r
+ * [2004] Andrei Alexandrescy, Maged Michael "Lock-free Data Structures with Hazard Pointers" \r
+ [pdf (http://www.researchgate.net/profile/Andrei_Alexandrescu/publication/252573326_Lock-Free_Data_Structures_with_Hazard_Pointers/links/0deec529e7804288fe000000.pdf)]\r
- User-space RCU\r
* [2009] M.Desnoyers "Low-Impact Operating System Tracing" PhD Thesis,\r
Chapter 6 "User-Level Implementations of Read-Copy Update"\r
+ [pdf (http://www.lttng.org/files/thesis/desnoyers-dissertation-2009-12-v27.pdf)]\r
* [2011] M.Desnoyers, P.McKenney, A.Stern, M.Dagenias, J.Walpole "User-Level\r
Implementations of Read-Copy Update"\r
+ [pdf (http://www.dorsal.polymtl.ca/sites/www.dorsal.polymtl.ca/files/publications/desnoyers-ieee-urcu-submitted.pdf)]\r
\r
*Memory allocation*\r
- [2004] M.Michael "Scalable Lock-free Dynamic Memory Allocation"\r