CRUD operations, along with range queries make a highly useful abstract data type (ADT), employed by many dynamic analytics tasks. Despite its wide applications, to our knowledge, no fully wait-free data structure is known to support this ADT. In this paper, we introduce Uruv, a proactive linearizable and practical wait-free concurrent data structure that implements the ADT mentioned above. Structurally, Uruv installs a balanced search index on the nodes of a linked list. Uruv is the first wait-free and proactive solution for concurrent B+tree. Experiments show that Uruv significantly outperforms previously proposed lock-free B+trees for dictionary operations and a recently proposed lock-free method to implement the ADT mentioned above.
@article{arxiv.2307.14744,
title = {Wait-Free Updates and Range Search using Uruv},
author = {Gaurav Bhardwaj and Abhay Jain and Bapi Chatterjee and Sathya Peri},
journal= {arXiv preprint arXiv:2307.14744},
year = {2023}
}