Accelerating Braided B+ Tree Searches on a GPU with CUDA [abstract] (CiteSeerX, PDF)
Jordan Fix, Andrew Wilkes, and Kevin Skadron
Proceedings of the 2nd Workshop on Applications for Multi and Many Core Processors: Analysis, Implementation, and Performance (A4MMC), June 2011.
Previous work has shown that using the GPU as a brute force
method for SELECT statements on a SQLite database table yields significant
speedups. However, this requires that the entire table be selected and
transformed from the B-Tree to row-column format. This paper investigates
possible speedups by traversing B+ Trees in parallel on the GPU, avoiding the
overhead of selecting the entire table to transform it into row-column format
and leveraging the logarithmic nature of tree searches. We experiment with
different input sizes, different orders of the B+ Tree, and batch multiple
queries together to find optimal speedups for SELECT statements with single
search parameters as well as range searches. We additionally make a comparison
to a simple GPU brute force algorithm on a row-column version of the B+
Tree.