A lock-free bag data structure supporting unordered buffering is presented in this paper. The algorithm supports multiple producers and multiple consumers, as well as dynamic collection sizes. To handle concurrency efficiently, the algorithm was designed to thrive for disjoint-access-parallelism for the supported semantics. Therefore, the algorithm exploits a distributed design combined with novel techniques for handling concurrent modifications of linked lists using double marks, detection of total emptiness, and efficient memory management with hazard pointer handover. Experiments on a 24-way multi-core platform show significantly better performance for the new algorithm compared to previous algorithms of relevance
This paper considers the modeling and the analysis of the performance of lock-free concurrent datast...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
A lock-free bag data structure supporting unordered buffering is presented in this paper. The algori...
This thesis deals with how to design and implement efficient, practical and reliable concurrent data...
We present a practical lock-free shared data structure that efficiently implements the operations of...
A concurrent data object is lock-free if it guarantees that at least one, among all concurrent opera...
Concurrent data structures provide the means to multi-threaded applications to share data. Typical d...
Lock-free data objects offer several advantages over their blocking counterparts, such as being immu...
We are interested in implementing data structures on shared memory multiprocessors. A natural model ...
The multi-core revolution has pushed programmers and algorithm designers to build algorithms that le...
\ua9 2017 by John Wiley & Sons, Inc. All rights reserved. Concurrent data structures are the data sh...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic mode...
This paper considers the modeling and the analysis of the performance of lock-free concurrent datast...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...
A lock-free bag data structure supporting unordered buffering is presented in this paper. The algori...
This thesis deals with how to design and implement efficient, practical and reliable concurrent data...
We present a practical lock-free shared data structure that efficiently implements the operations of...
A concurrent data object is lock-free if it guarantees that at least one, among all concurrent opera...
Concurrent data structures provide the means to multi-threaded applications to share data. Typical d...
Lock-free data objects offer several advantages over their blocking counterparts, such as being immu...
We are interested in implementing data structures on shared memory multiprocessors. A natural model ...
The multi-core revolution has pushed programmers and algorithm designers to build algorithms that le...
\ua9 2017 by John Wiley & Sons, Inc. All rights reserved. Concurrent data structures are the data sh...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic ...
This paper presents a lock-free algorithm for mark&sweep garbage collection (GC) in a realistic mode...
This paper considers the modeling and the analysis of the performance of lock-free concurrent datast...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Building a library of concurrent data structures is an essential way to simplify the difficult task ...