Filters








6,724 Hits in 7.0 sec

Simple, fast, and practical non-blocking and blocking concurrent queue algorithms

Maged M. Michael, Michael L. Scott
1996 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing - PODC '96  
Drawing ideas from previous authors, we present a new non-blocking concurrent queue algorithm and a new two-lock queue algorithm in which one enqueue and one dequeue can proceed concurrently.  ...  provide a universal atomic primitive (e.g. compare and swap or load linked/store conditional).  ...  Using a 12-node SGI Challenge multiprocessor, we compare the new algorithms to a straightforward single-lock queue, Mellor-Crummey's blocking algorithm [11] , and the non-blocking algorithms of Prakash  ... 
doi:10.1145/248052.248106 dblp:conf/podc/MichaelS96 fatcat:j46cusce2ncwlgw75xujedewyq

Eliminate a Parallelization Technique to Implement Expandable Lock-Free Deques

Archana Srivastava
2019 IJARCCE  
The focus of this paper is to give a review on efficient and practical non-blocking implementations of shared data structure and suggest alternative scheme in this direction.  ...  This can either be done using mutual exclusion or non-blocking methods.  ...  non-blocking FIFO queue algorithms.  ... 
doi:10.17148/ijarcce.2019.8440 fatcat:5bwakuayhfaqrgqhrwjnlui2tu

A quantitative architectural evaluation of synchronization algorithms and disciplines on ccNUMA systems

Dimitrios S. Nikolopoulos, Theodore S. Papatheodorou
1999 Proceedings of the 13th international conference on Supercomputing - ICS '99  
Using the SGl Origin2000, we evaluate synchronization algorithms for spin locks, lock-free concurrent queues, and barriers.  ...  The architectural study enables us to contribute scalable, customized implementations of synchronization algorithms, including a hybrid scheduler-conscious queue lock and a lock-free queue.  ...  Acknowledgements We would like to thank Constantine Polychronopoulos and David Craig for motivating this work and providing useful advice.  ... 
doi:10.1145/305138.305209 dblp:conf/ics/NikolopoulosP99 fatcat:naadzrmks5fbdc3oiogi77z2b4

Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors

Maged M. Michael, Michael L. Scott
1998 Journal of Parallel and Distributed Computing  
Nonblocking algorithms generally require a universal atomic primitive such as compare-and-swap or load-linkedÂstore-conditional and are widely regarded as inefficient.  ...  To address this problem, researchers have developed two principal strategies for a concurrent, atomic update of shared data structures: (1) preemption-safe locking and (2) nonblocking (lock-free) algorithms  ...  One is non-blocking; the other uses a pair of mutual exclusion locks.  ... 
doi:10.1006/jpdc.1998.1446 fatcat:erkbq73nejghdoskxy63pcz7zi

A methodology for implementing highly concurrent data structures

M. Herlihy
1990 SIGPLAN notices  
A con.curren.t object is a data structure shared by concurrent processes. Conventional techniques for implementing concurrent objects typically rely on criticaI sections:  ...  Acknowledgments I am grateful to Bill Weihl for pointing out a bug in an earlier version of this paper.  ...  tries to "swing" the first pointer using a compar&swap.  ... 
doi:10.1145/99164.99185 fatcat:uaah2x4lxzaufok7lx5tymxui4

A methodology for implementing highly concurrent data structures

M. Herlihy
1990 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming - PPOPP '90  
A con.curren.t object is a data structure shared by concurrent processes. Conventional techniques for implementing concurrent objects typically rely on criticaI sections:  ...  Acknowledgments I am grateful to Bill Weihl for pointing out a bug in an earlier version of this paper.  ...  tries to "swing" the first pointer using a compar&swap.  ... 
doi:10.1145/99163.99185 dblp:conf/ppopp/Herlihy90 fatcat:rqcq4cz4cnc77asdslk5i655ny

A Lock-Free O(1) Event Pool and Its Application to Share-Everything PDES Platforms

Romolo Marotta, Mauro Ianni, Alessandro Pellegrini, Francesco Quaglia
2016 2016 IEEE/ACM 20th International Symposium on Distributed Simulation and Real Time Applications (DS-RT)  
This demands for efficient mechanisms to share the overall pool of pending events by enabling parallelism in insertion and extraction operations.  ...  In this article we present a lock-free event pool which also provides amortized O(1) time complexity for both insertions and extractions.  ...  This work is partially supported by the REWIND: "Techniques and support for software reversibility" project funded with the support of MISE research funds.  ... 
doi:10.1109/ds-rt.2016.33 dblp:conf/dsrt/MarottaI0Q16 fatcat:ezm24oppjrdhfkn6rdb2lbf7x4

Non-blocking timeout in scalable queue-based spin locks

Michael L. Scott
2002 Proceedings of the twenty-first annual symposium on Principles of distributed computing - PODC '02  
We also argue that constant per-thread space cannot be guaranteed together with non-blocking timeout in a queue-based lock.  ...  These locks sacrifice the constant worst-case space per thread of our previous algorithms, but allow us to bound the time that a thread may be delayed by preemption of its peers.  ...  The remaining columns indicate the number of atomic operations (swaps and compare and swaps), shared-memory reads, and shared-memory writes found in the fast path of each algorithm.  ... 
doi:10.1145/571826.571830 fatcat:u7f7ty56h5hghlbqxhb43vpgsu

Non-blocking timeout in scalable queue-based spin locks

Michael L. Scott
2002 Proceedings of the twenty-first annual symposium on Principles of distributed computing - PODC '02  
We also argue that constant per-thread space cannot be guaranteed together with non-blocking timeout in a queue-based lock.  ...  These locks sacrifice the constant worst-case space per thread of our previous algorithms, but allow us to bound the time that a thread may be delayed by preemption of its peers.  ...  The remaining columns indicate the number of atomic operations (swaps and compare and swaps), shared-memory reads, and shared-memory writes found in the fast path of each algorithm.  ... 
doi:10.1145/571825.571830 dblp:conf/podc/Scott02 fatcat:hgrvkh6pkveejg2cheeltywc7y

On Dynamic Load Balancing on Graphics Processors [article]

Daniel Cederman, Philippas Tsigas
2008 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware - HWWS '04  
They also showed that lock-free methods achieves better performance than blocking and that they can be made to scale with increased numbers of processing units.  ...  This can be hard to achieve when the cost of a task is not known beforehand and when new sub-tasks are created dynamically during execution.  ...  The queue is array-based and uses the atomic CAS (Compare-And-Swap) instruction to set a lock variable to ensure mutual exclusion.  ... 
doi:10.2312/eggh/eggh08/057-064 fatcat:r7phhtuvcretrb67ew3vjptxei

Scalable reader-writer synchronization for shared-memory multiprocessors

John M. Mellor-Crummey, Michael L. Scott
1991 SIGPLAN notices  
Performance results on a BBN TC2000 multiprocessor demonstrate that our algorithms provide low latency and excellent scalability.  ...  Several researchers have shown how to implement scalable mutual exclusion locks that exploit locality in the memory hierarchies of shared-memory multiprocessors to eliminate contention for memory and for  ...  A Fair Lock Our fair reader-writer lock (algorithm 4) requires atomic fetch-and....store and compare-and....swap instructions.  ... 
doi:10.1145/109626.109637 fatcat:mbvtzglvcvbk3m25r72wge724y

Scalable reader-writer synchronization for shared-memory multiprocessors

John M. Mellor-Crummey, Michael L. Scott
1991 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming - PPOPP '91  
Performance results on a BBN TC2000 multiprocessor demonstrate that our algorithms provide low latency and excellent scalability.  ...  Several researchers have shown how to implement scalable mutual exclusion locks that exploit locality in the memory hierarchies of shared-memory multiprocessors to eliminate contention for memory and for  ...  A Fair Lock Our fair reader-writer lock (algorithm 4) requires atomic fetch-and....store and compare-and....swap instructions.  ... 
doi:10.1145/109625.109637 dblp:conf/ppopp/Mellor-CrummeyS91 fatcat:zrrwiepxefcaxe54hz7aviyogi

Optimization of Data Locality in Relaxed Concurrent Priority Queues

Andrey Tabakov, Alexey Paznikov
2019 Majorov International Conference on Software Engineering and Computer Systems  
We designed algorithms for optimization of priority queues selection for insert/delete operations and algorithm for balancing of elements in queues.  ...  Relaxed concurrent data structures are non-linearizable and do not provide strong operation semantics (such as FIFO/LIFO for linear lists, delete max (min) element for priority queues, etc.).  ...  memory (double compare-and-swap, double-width compare-and-swap), problems of freeing memory (ABA problem).  ... 
dblp:conf/micsecs/TabakovP19 fatcat:r4stsks6zrg6vcbgw26qbhidl4

The Lock-free k-LSM Relaxed Priority Queue [article]

Martin Wimmer, Jakob Gruber, Jesper Larsson Träff, Philippas Tsigas
2015 arXiv   pre-print
Additionally, the behavior is identical to a non-relaxed priority queue for items added and removed by the same thread.  ...  Priority queues are essential for many applications, e.g., Dijkstra's single-source shortest path algorithm, branch-and-bound algorithms, and prioritized schedulers.  ...  The full version number is used for verification most of the time, and only a compare-and-swap on shared needs to rely on the truncated value.  ... 
arXiv:1503.05698v1 fatcat:7g5wbzeyo5eypffi266wr4ta7e

A segment-based DSM supporting large shared object space

B.W.-L. Cheung, Cho-Li Wang
2006 Proceedings 20th IEEE International Parallel & Distributed Processing Symposium  
A prioritybased swapping algorithm is designed to reduce disk accesses for efficient dynamic memory mapping, and maximize the use of disk space as shared object space.  ...  A new queue-based scheme is also devised for efficient and simple management of memory blocks.  ...  In addition, six used queues are provided for each size of used blocks, making a total of 78 used queues, as they are used for supporting a more efficient swapping algorithm in LOTS V.2 as described in  ... 
doi:10.1109/ipdps.2006.1639277 dblp:conf/ipps/CheungW06 fatcat:dd2zpdfgj5gqjlullnud2cbz74
« Previous Showing results 1 — 15 out of 6,724 results