All You Need Is Binary Search! A Practical View on Lightweight Database Indexing on GPUs
Johannes Gutenberg University, Mainz, Germany
arXiv:2506.01576 [cs.DB], (2 Jun 2025)
Performing binary search on a sorted dense array is a widely used baseline when benchmarking sophisticated index structures: It is simple, fast to build, and indexes the dataset with minimal memory footprint. However, the popular opinion is that it cannot compete with sophisticated indexes in terms of lookup performance, and hence, should not actually be considered in practice. Interestingly, in our recent works on (even more sophisticated) GPU-resident index structures, we observed the surprisingly good performance of binary search in a variety of situations. As a consequence, in this work, we analyze the reasons for this and perform three types of optimizations to the standard implementation to push binary search to its limits on GPUs. We show that our highly-optimized version of binary search outperforms the naive variant by up to a factor of 2x which makes it a practical alternative to full-fledged indexes, such as the state-of-the-art GPU B+-Tree, while consuming considerably less space and having a shorter build time. Apart from the optimizations, we discuss a generalization of binary search in form of K-ary search, which is able to consistently outperform the B+-Tree by a factor of 1.5x to 2.7x while having a negligible space overhead over binary search.
June 8, 2025 by hgpu