BS-tree: A gapped data-parallel B-tree
By: Dimitrios Tsitsigkos. Achilleas Michalopoulos, Nikos Mamoulis, Manolis Terrovitis
Potential Business Impact:
Makes computer memory searches much faster.
We propose BS-tree, an in-memory implementation of the B+-tree that adopts the structure of the disk-based index (i.e., a balanced, multiway tree), setting the node size to a memory block that can be processed fast and in parallel using SIMD instructions. A novel feature of the BS-tree is that it enables gaps (unused positions) within nodes by duplicating key values. This allows (i) branchless SIMD search within each node, and (ii) branchless update operations in nodes without key shifting. We implement a frame of reference (FOR) compression mechanism, which allows nodes to have varying capacities, and can greatly decrease the memory footprint of BS-tree. We compare our approach to existing main-memory indices and learned indices under different workloads of queries and updates and demonstrate its robustness and superiority compared to previous work in single- and multi-threaded processing.
Similar Papers
Parallel Joinable B-Trees in the Fork-Join I/O Model
Data Structures and Algorithms
Makes computers sort data much faster, even with lots of information.
BMTree: Designing, Learning, and Updating Piecewise Space-Filling Curves for Multi-Dimensional Data Indexing
Databases
Organizes computer data much faster.
Buffered Partially-Persistent External-Memory Search Trees
Data Structures and Algorithms
Keeps old data safe while adding new info.