From b7ba6697a21725eb438018d632520662f5900507 Mon Sep 17 00:00:00 2001 From: khizmax Date: Fri, 29 May 2015 18:06:35 +0300 Subject: [PATCH] Fixed Markdown layout --- readme.md | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/readme.md b/readme.md index 7a77f173..612a3087 100644 --- a/readme.md +++ b/readme.md @@ -45,30 +45,30 @@ References *Stack* - *TreiberStack*: [1986] R. K. Treiber. Systems programming: Coping with parallelism. Technical Report RJ 5118, IBM Almaden Research Center, April 1986. - Elimination back-off implementation is based on idea from [2004] Danny Hendler, Nir Shavit, Lena Yerushalmi "A Scalable Lock-free Stack Algorithm" - [pdf (http://people.csail.mit.edu/shanir/publications/Lock_Free.pdf)] + [pdf](http://people.csail.mit.edu/shanir/publications/Lock_Free.pdf) - *FCStack* - flat-combining wrapper for *std::stack* *Queue* - *BasketQueue*: [2007] Moshe Hoffman, Ori Shalev, Nir Shavit "The Baskets Queue" - [pdf (http://people.csail.mit.edu/shanir/publications/Baskets%20Queue.pdf)] + [pdf](http://people.csail.mit.edu/shanir/publications/Baskets%20Queue.pdf) - *MSQueue*: * [1998] Maged Michael, Michael Scott "Simple, fast, and practical non-blocking and blocking concurrent queue algorithms" - [pdf (http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)] + [pdf](http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf) * [2002] Maged M.Michael "Safe memory reclamation for dynamic lock-free objects using atomic reads and writes" - [pdf (http://www.research.ibm.com/people/m/michael/podc-2002.pdf)] + [pdf](http://www.research.ibm.com/people/m/michael/podc-2002.pdf) * [2003] Maged M.Michael "Hazard Pointers: Safe memory reclamation for lock-free objects" - [pdf (http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf)] + [pdf](http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf) - *RWQueue*: [1998] Maged Michael, Michael Scott "Simple, fast, and practical non-blocking and blocking concurrent queue algorithms" - [pdf (http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)] + [pdf](http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf) - *MoirQueue*: [2000] Simon Doherty, Lindsay Groves, Victor Luchangco, Mark Moir "Formal Verification of a practical lock-free queue algorithm" - [pdf (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.9954&rep=rep1&type=pdf)] + [pdf](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.9954&rep=rep1&type=pdf) - *OptimisticQueue*: [2008] Edya Ladan-Mozes, Nir Shavit "An Optimistic Approach to Lock-Free FIFO Queues" - [pdf (https://people.csail.mit.edu/edya/publications/OptimisticFIFOQueue-journal.pdf)] + [pdf](https://people.csail.mit.edu/edya/publications/OptimisticFIFOQueue-journal.pdf) - *SegmentedQueue*: [2010] Afek, Korland, Yanovsky "Quasi-Linearizability: relaxed consistency for improved concurrency" - [pdf (http://mcg.cs.tau.ac.il/papers/opodis2010-quasi.pdf)] + [pdf](http://mcg.cs.tau.ac.il/papers/opodis2010-quasi.pdf) - *FCQueue* - flat-combining wrapper for *std::queue* - *TsigasCycleQueue*: [2000] Philippas Tsigas, Yi Zhang "A Simple, Fast and Scalable Non-Blocking Concurrent FIFO Queue for Shared Memory Multiprocessor Systems" - [pdf (http://www.cse.chalmers.se/~tsigas/papers/latest-spaa01.pdf)] + [pdf](http://www.cse.chalmers.se/~tsigas/papers/latest-spaa01.pdf) - *VyukovMPMCCycleQueue* Dmitry Vyukov (see http://www.1024cores.net) *Deque* @@ -76,45 +76,47 @@ References *Map, set* - *MichaelHashMap*: [2002] Maged Michael "High performance dynamic lock-free hash tables and list-based sets" - [pdf (http://www.research.ibm.com/people/m/michael/spaa-2002.pdf)] + [pdf](http://www.research.ibm.com/people/m/michael/spaa-2002.pdf) - *SplitOrderedList*: [2003] Ori Shalev, Nir Shavit "Split-Ordered Lists - Lock-free Resizable Hash Tables" - [pdf (http://people.csail.mit.edu/shanir/publications/Split-Ordered_Lists.pdf)] + [pdf](http://people.csail.mit.edu/shanir/publications/Split-Ordered_Lists.pdf) - *StripedMap*, *StripedSet*: [2008] Maurice Herlihy, Nir Shavit "The Art of Multiprocessor Programming" - *CuckooMap*, *CuckooSet*: [2008] Maurice Herlihy, Nir Shavit "The Art of Multiprocessor Programming" - *SkipListMap*, *SkipListSet*: [2008] Maurice Herlihy, Nir Shavit "The Art of Multiprocessor Programming" *Ordered single-linked list* - *LazyList*: [2005] Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III, and Nir Shavit "A Lazy Concurrent List-Based Set Algorithm" - [pdf (http://people.csail.mit.edu/shanir/publications/Lazy_Concurrent.pdf)] + [pdf](http://people.csail.mit.edu/shanir/publications/Lazy_Concurrent.pdf) - *MichaelList*: [2002] Maged Michael "High performance dynamic lock-free hash tables and list-based sets" - [pdf (http://www.research.ibm.com/people/m/michael/spaa-2002.pdf)] + [pdf](http://www.research.ibm.com/people/m/michael/spaa-2002.pdf) *Priority queue* - *MSPriorityQueue*: [1996] G.Hunt, M.Michael, S. Parthasarathy, M.Scott "An efficient algorithm for concurrent priority queue heaps" - [pdf (http://web.cse.ohio-state.edu/dmrl/papers/heap96.pdf)] + [pdf](http://web.cse.ohio-state.edu/dmrl/papers/heap96.pdf) *Tree* - *EllenBinTree*: [2010] F.Ellen, P.Fatourou, E.Ruppert, F.van Breugel "Non-blocking Binary Search Tree" - [pdf (http://www.cs.vu.nl/~tcs/cm/faith.pdf)] + [pdf](http://www.cs.vu.nl/~tcs/cm/faith.pdf) *SMR* - Hazard Pointers * [2002] Maged M.Michael "Safe memory reclamation for dynamic lock-free objects using atomic reads and writes" - [pdf (http://www.research.ibm.com/people/m/michael/podc-2002.pdf)] + [pdf](http://www.research.ibm.com/people/m/michael/podc-2002.pdf) * [2003] Maged M.Michael "Hazard Pointers: Safe memory reclamation for lock-free objects" - [pdf (http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf)] + [pdf](http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf) * [2004] Andrei Alexandrescy, Maged Michael "Lock-free Data Structures with Hazard Pointers" - [pdf (http://www.researchgate.net/profile/Andrei_Alexandrescu/publication/252573326_Lock-Free_Data_Structures_with_Hazard_Pointers/links/0deec529e7804288fe000000.pdf)] + [pdf](http://www.researchgate.net/profile/Andrei_Alexandrescu/publication/252573326_Lock-Free_Data_Structures_with_Hazard_Pointers/links/0deec529e7804288fe000000.pdf) - User-space RCU * [2009] M.Desnoyers "Low-Impact Operating System Tracing" PhD Thesis, Chapter 6 "User-Level Implementations of Read-Copy Update" - [pdf (http://www.lttng.org/files/thesis/desnoyers-dissertation-2009-12-v27.pdf)] + [pdf](http://www.lttng.org/files/thesis/desnoyers-dissertation-2009-12-v27.pdf) * [2011] M.Desnoyers, P.McKenney, A.Stern, M.Dagenias, J.Walpole "User-Level Implementations of Read-Copy Update" - [pdf (http://www.dorsal.polymtl.ca/sites/www.dorsal.polymtl.ca/files/publications/desnoyers-ieee-urcu-submitted.pdf)] + [pdf](http://www.dorsal.polymtl.ca/sites/www.dorsal.polymtl.ca/files/publications/desnoyers-ieee-urcu-submitted.pdf) *Memory allocation* - [2004] M.Michael "Scalable Lock-free Dynamic Memory Allocation" + [pdf](http://www.research.ibm.com/people/m/michael/pldi-2004.pdf) *Flat Combining* technique - [2010] Hendler, Incze, Shavit and Tzafrir "Flat Combining and the Synchronization-Parallelism Tradeoff" + [pdf](http://www.cs.bgu.ac.il/~hendlerd/papers/flat-combining.pdf) -- 2.34.1