Boosting the Search Performance of B+-tree for Non-volatile Memory with Sentinels

06/01/2021
by   Chongnan Ye, et al.
0

The next-generation non-volatile memory (NVM) is striding into computer systems as a new tier as it incorporates both DRAM's byte-addressability and disk's persistency. Researchers and practitioners have considered building persistent memory by placing NVM on the memory bus for CPU to directly load and store data. As a result, cache-friendly data structures have been developed for NVM. One of them is the prevalent B+-tree. State-of-the-art in-NVM B+-trees mainly focus on the optimization of write operations (insertion and deletion). However, search is of vital importance for B+-tree. Not only search-intensive workloads benefit from an optimized search, but insertion and deletion also rely on a preceding search operation to proceed. In this paper, we attentively study a sorted B+-tree node that spans over contiguous cache lines. Such cache lines exhibit a monotonically increasing trend and searching a target key across them can be accelerated by estimating a range the key falls into. To do so, we construct a probing Sentinel Array in which a sentinel stands for each cache line of B+-tree node. Checking the Sentinel Array avoids scanning unnecessary cache lines and hence significantly reduces cache misses for a search. A quantitative evaluation shows that using Sentinel Arrays boosts the search performance of state-of-the-art in-NVM B+-trees by up to 48.4 cost of maintaining of Sentinel Array is low.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/02/2019

Cache-Friendly Search Trees; or, In Which Everything Beats std::set

While a lot of work in theoretical computer science has gone into optimi...
research
08/12/2019

Cache Optimization for Memory Intensive Workloads on Multi-socket Multi-core servers

Major chip manufacturers have all introduced multicore microprocessors. ...
research
06/20/2017

Index Search Algorithms for Databases and Modern CPUs

Over the years, many different indexing techniques and search algorithms...
research
09/19/2022

Cache-Oblivious Representation of B-Tree Structures

We present a data structure CORoBTS for storing a search tree with all l...
research
10/20/2021

Fast Bitmap Fit: A CPU Cache Line friendly memory allocator for single object allocations

Applications making excessive use of single-object based data structures...
research
06/19/2018

Forest Packing: Fast, Parallel Decision Forests

Machine learning has an emerging critical role in high-performance compu...
research
12/20/2019

Circ-Tree: A B+-Tree Variant with Circular Design for Persistent Memory

Several B+-tree variants have been developed to exploit the performance ...

Please sign up or login with your details

Forgot password? Click here to reset