Index Search Algorithms for Databases and Modern CPUs
Florian Gross

TL;DR
This paper introduces NitroGen, a code generation framework that optimizes index traversal in main memory databases by effectively utilizing the instruction cache and CPU features like SIMD, improving search efficiency.
Contribution
The paper presents NitroGen, a novel framework that enhances index search algorithms by leveraging code generation to better utilize CPU instruction cache and SIMD capabilities.
Findings
NitroGen improves index traversal speed in main memory databases.
Code generation effectively utilizes instruction cache and SIMD instructions.
Enhanced CPU resource utilization leads to faster search algorithms.
Abstract
Over the years, many different indexing techniques and search algorithms have been proposed, including CSS-trees, CSB+ trees, k-ary binary search, and fast architecture sensitive tree search. There have also been papers on how best to set the many different parameters of these index structures, such as the node size of CSB+ trees. These indices have been proposed because CPU speeds have been increasing at a dramatically higher rate than memory speeds, giving rise to the Von Neumann CPU--Memory bottleneck. To hide the long latencies caused by memory access, it has become very important to well-utilize the features of modern CPUs. In order to drive down the average number of CPU clock cycles required to execute CPU instructions, and thus increase throughput, it has become important to achieve a good utilization of CPU resources. Some of these are the data and instruction caches, and the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
