28002

RTIndeX: Exploiting Hardware-Accelerated GPU Raytracing for Database Indexing

Justus Henneberg, Felix Schuhknecht
Johannes Gutenberg University, Mainz, Germany
arXiv:2303.01139 [cs.DB], (2 Mar 2023)

@misc{https://doi.org/10.48550/arxiv.2303.01139,

   doi={10.48550/ARXIV.2303.01139},

   url={https://arxiv.org/abs/2303.01139},

   author={Henneberg, Justus and Schuhknecht, Felix},

   keywords={Databases (cs.DB), Graphics (cs.GR), FOS: Computer and information sciences, FOS: Computer and information sciences},

   title={RTIndeX: Exploiting Hardware-Accelerated GPU Raytracing for Database Indexing},

   publisher={arXiv},

   year={2023},

   copyright={Creative Commons Attribution Non Commercial Share Alike 4.0 International}

}

Data management on GPUs has become increasingly relevant due to a tremendous rise in processing power and available GPU memory. Just like in the CPU world, there is a need for performant GPU-resident index structures to speed up query processing. Unfortunately, mapping indexes efficiently to the highly parallel and hard-to-program hardware is challenging and often fails to yield the desired performance and flexibility. Therefore, we advocate to take a different route. Instead of proposing yet another hand-tailored index, we investigate whether we can exploit an indexing mechanism that is already built into modern GPUs: The raytracing hardware accelerator provided by NVIDIA RTX cards. To do so, we re-phrase database indexing as a raytracing problem, where we express the dataset to be indexed as primitives in a scene, and queries as rays. In this combination, coined RX in the following, lookups are performed as intersection tests in hardware by dedicated raytracing cores. To analyze the pros, cons, and usefulness of the raytracing pipeline for database indexing, we carefully evaluate RX along twelve dimensions: We first identify the optimal setup of the pipeline by evaluating different options regarding (1) how to express keys, (2) which primitives to use for that, (3) how to formulate point/range queries against these, and (4) how to update the index. Continuing with the best setup, we compare RX against a set of software-implemented GPU-resident index structures while varying (5) the number of inserts and queries, (6) the order of the data, (7) the batch size, (8) the hit/miss ratio, (9) the selectivity of range queries, (10) the key size, and (11) the distribution of inserts and queries. Finally, we evaluate (12) the impact of three different GPU generations on the performance. Our results show that RX is competitive against traditional counterparts in a variety of situations.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: