The Splay-List: A Distribution-Adaptive Concurrent Skip-List

08/03/2020
by   Vitaly Aksenov, et al.
0

The design and implementation of efficient concurrent data structures have seen significant attention. However, most of this work has focused on concurrent data structures providing good worst-case guarantees. In real workloads, objects are often accessed at different rates, since access distributions may be non-uniform. Efficient distribution-adaptive data structures are known in the sequential case, e.g. the splay-trees; however, they often are hard to translate efficiently in the concurrent case. In this paper, we investigate distribution-adaptive concurrent data structures and propose a new design called the splay-list. At a high level, the splay-list is similar to a standard skip-list, with the key distinction that the height of each element adapts dynamically to its access rate: popular elements “move up,” whereas rarely-accessed elements decrease in height. We show that the splay-list provides order-optimal amortized complexity bounds for a subset of operations while being amenable to efficient concurrent implementation. Experimental results show that the splay-list can leverage distribution-adaptivity to improve on the performance of classic concurrent designs, and can outperform the only previously-known distribution-adaptive design in certain settings.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2022

Technical Report: Bundling Linked Data Structures for Linearizable Range Queries

We present bundled references, a new building block to provide lineariza...
research
12/27/2022

Practically and Theoretically Efficient Garbage Collection for Multiversioning

Multiversioning is widely used in databases, transactional memory, and c...
research
06/03/2018

Garbage Collection in Concurrent Sets

Garbage Collection in concurrent data structures, especially lock-free o...
research
01/01/2021

Chunk List: Concurrent Data Structures

Chunking data is obviously no new concept; however, I had never found an...
research
02/19/2019

Layering Data Structures over Skip Graphs for Increased NUMA Locality

We describe an approach for blackbox concurrency based on layering user-...
research
04/03/2018

Distributionally Linearizable Data Structures

Relaxed concurrent data structures have become increasingly popular, due...
research
06/01/2018

Table Space Designs For Implicit and Explicit Concurrent Tabled Evaluation

One of the main advantages of Prolog is its potential for the implicit e...

Please sign up or login with your details

Forgot password? Click here to reset