wCQ: A Fast Wait-Free Queue with Bounded Memory Usage

01/06/2022
by   Ruslan Nikolaev, et al.
0

The concurrency literature presents a number of approaches for building non-blocking, FIFO, multiple-producer and multiple-consumer (MPMC) queues. However, only a fraction of them have high performance. In addition, many queue designs, such as LCRQ, trade memory usage for better performance. The recently proposed SCQ design achieves both memory efficiency as well as excellent performance. Unfortunately, both LCRQ and SCQ are only lock-free. On the other hand, existing wait-free queues are either not very performant or suffer from potentially unbounded memory usage. Strictly described, the latter queues, such as Yang Mellor-Crummey's (YMC) queue, forfeit wait-freedom as they are blocking when memory is exhausted. We present a wait-free queue, called wCQ. wCQ is based on SCQ and uses its own variation of fast-path-slow-path methodology to attain wait-freedom and bound memory usage. Our experimental studies on x86 and PowerPC architectures validate wCQ's great performance and memory efficiency. They also show that wCQ's performance is often on par with the best known concurrent queue designs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/05/2021

Crystalline: Fast and Memory Efficient Wait-Free Reclamation

Historically, memory management based on lock-free reference counting wa...
research
08/13/2019

A Scalable, Portable, and Memory-Efficient Lock-Free FIFO Queue

We present a new lock-free multiple-producer and multiple-consumer (MPMC...
research
03/10/2020

Fissile Locks

Classic test-and-test (TS) mutual exclusion locks are simple, and enjoy ...
research
10/27/2020

Jiffy: A Fast, Memory Efficient, Wait-Free Multi-Producers Single-Consumer Queue

In applications such as sharded data processing systems, sharded in-memo...
research
04/30/2021

Memory-Optimality for Non-Blocking Containers

A bounded container maintains a collection of elements that can be inser...
research
07/29/2021

VBR: Version Based Reclamation

Safe lock-free memory reclamation is a difficult problem. Existing solut...
research
10/31/2018

A Concurrent Unbounded Wait-Free Graph

In this paper, we propose a concurrent non-blocking unbounded directed g...

Please sign up or login with your details

Forgot password? Click here to reset