A Wait-Free Universal Construct for Large Objects

11/05/2019
by   Andreia Correia, et al.
0

Concurrency has been a subject of study for more than 50 years. Still, many developers struggle to adapt their sequential code to be accessed concurrently. This need has pushed for generic solutions and specific concurrent data structures. Wait-free universal constructs are attractive as they can turn a sequential implementation of any object into an equivalent, yet concurrent and wait-free, implementation. While highly relevant from a research perspective, these techniques are of limited practical use when the underlying object or data structure is sizable. The copy operation can consume much of the CPU's resources and significantly degrade performance. To overcome this limitation, we have designed CX, a multi-instance-based wait-free universal construct that substantially reduces the amount of copy operations. The construct maintains a bounded number of instances of the object that can potentially be brought up to date. We applied CX to several sequential implementations of data structures, including STL implementations, and compared them with existing wait-free constructs. Our evaluation shows that CX performs significantly better in most experiments, and can even rival with hand-written lock-free and wait-free data structures, simultaneously providing wait-free progress, safe memory reclamation and high reader scalability.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/07/2020

Universal Wait-Free Memory Reclamation

In this paper, we present a universal memory reclamation scheme, Wait-Fr...
research
12/01/2022

Unexpected Scaling in Path Copying Trees

Although a wide variety of handcrafted concurrent data structures have b...
research
05/31/2019

Tracking in Order to Recover: Recoverable Lock-Free Data Structures

We present the tracking approach for deriving recoverable implementation...
research
06/17/2019

Monotonically relaxing concurrent data-structure semantics for performance: An efficient 2D design framework

There has been a significant amount of work in the literature proposing ...
research
05/20/2019

Hyaline: Fast and Transparent Lock-Free Memory Reclamation

We present a new lock-free safe memory reclamation algorithm, Hyaline, w...
research
06/03/2019

Assessing Performance Implications of Deep Copy Operations via Microbenchmarking

As scientific frameworks become sophisticated, so do their data structur...
research
09/12/2018

Concurrent Robin Hood Hashing

In this paper we examine the issues involved in adding concurrency to th...

Please sign up or login with your details

Forgot password? Click here to reset