Learned Lock-free Search Data Structures

08/22/2023
by   Gaurav Bhardwaj, et al.
0

Non-blocking search data structures offer scalability with a progress guarantee on high-performance multi-core architectures. In the recent past, "learned queries" have gained remarkable attention. It refers to predicting the rank of a key computed by machine learning models trained to infer the cumulative distribution function of an ordered dataset. A line of works exhibits the superiority of learned queries over classical query algorithms. Yet, to our knowledge, no existing non-blocking search data structure employs them. In this paper, we introduce Kanva, a framework for learned non-blocking search. Kanva has an intuitive yet non-trivial design: traverse down a shallow hierarchy of lightweight linear models to reach the "non-blocking bins," which are dynamic ordered search structures. The proposed approach significantly outperforms the current state-of-the-art – non-blocking interpolation search trees and elimination (a,b) trees – in many workload and data distributions. Kanva is provably linearizable.

READ FULL TEXT

page 9

page 10

page 12

page 13

research
01/02/2020

Analysis and Evaluation of Non-Blocking Interpolation Search Trees

We start by summarizing the recently proposed implementation of the firs...
research
12/14/2017

Range Queries in Non-blocking k-ary Search Trees

We present a linearizable, non-blocking k-ary search tree (k-ST) that su...
research
12/01/2022

Unexpected Scaling in Path Copying Trees

Although a wide variety of handcrafted concurrent data structures have b...
research
11/14/2018

The Amortized Analysis of a Non-blocking Chromatic Tree

A non-blocking chromatic tree is a type of balanced binary search tree w...
research
01/07/2020

Universal Wait-Free Memory Reclamation

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

A General Technique for Non-blocking Trees

We describe a general technique for obtaining provably correct, non-bloc...
research
05/17/2021

A Scalable Concurrent Algorithm for Dynamic Connectivity

Dynamic Connectivity is a fundamental algorithmic graph problem, motivat...

Please sign up or login with your details

Forgot password? Click here to reset