Dynamic vectors are among the most commonly used data structures in programming. They provide constant time random access and resizable data storage. Additionally, they provide constant time insertion (pushback) and deletion (popback) at the end of the sequence. However, in a multithreaded system, concurrent pushback and popback operations attempt to update the same shared object, creating a synchronization bottleneck. In this paper, we present a lock-free vector design that efficiently addresses the synchronization bottlenecks by utilizing a combining technique on pushback operations. Typical combining techniques come with the price of blocking. Our design introduces combining without sacrificing lock-freedom. We evaluate the performance o...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
A shared data structure is lock-free if its operations do not require mutual exclusion. If one proce...
Most multiprocessors are multiprogrammed to achieve acceptable response time. Unfortunately, inoppor...
The vector is a fundamental data structure, which provides constant-time access to a dynamically-res...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-mem...
A concurrent data object is lock-free if it guarantees that at least one, among all concurrent opera...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-mem...
This paper considers the modeling and the analysis of the performance of lock-free concurrent datast...
This paper considers the modeling and the analysis of the performance of lock-free concurrent data s...
A shared data structure is lock-free if its operations do not require mutual exclusion. If one proce...
The potential of multiprocessor systems is frequently not fully realized by their system services. C...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
Concurrent data structures provide the means to multi-threaded applications to share data. Typical d...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
A shared data structure is lock-free if its operations do not require mutual exclusion. If one proce...
Most multiprocessors are multiprogrammed to achieve acceptable response time. Unfortunately, inoppor...
The vector is a fundamental data structure, which provides constant-time access to a dynamically-res...
The transition to multicore processors has brought synchronization, a fundamental challenge in compu...
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-mem...
A concurrent data object is lock-free if it guarantees that at least one, among all concurrent opera...
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and...
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-mem...
This paper considers the modeling and the analysis of the performance of lock-free concurrent datast...
This paper considers the modeling and the analysis of the performance of lock-free concurrent data s...
A shared data structure is lock-free if its operations do not require mutual exclusion. If one proce...
The potential of multiprocessor systems is frequently not fully realized by their system services. C...
Lock-free data objects have been proven to have many advantages over their lock-based counter-parts ...
Concurrent data structures provide the means to multi-threaded applications to share data. Typical d...
Abstract. We present a code transformation for concurrent data struc-tures, which increases their sc...
A shared data structure is lock-free if its operations do not require mutual exclusion. If one proce...
Most multiprocessors are multiprogrammed to achieve acceptable response time. Unfortunately, inoppor...