Efficient Batch Search Algorithm for B+ Tree Index Structures with Level-Wise Traversal on FPGAs

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Tzschoppe, Max, Wilhelm, Martin, Groppe, Sven, Pionteck, Thilo
Format: Preprint
Veröffentlicht: 2026
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866914500810113024
author Tzschoppe, Max
Wilhelm, Martin
Groppe, Sven
Pionteck, Thilo
author_facet Tzschoppe, Max
Wilhelm, Martin
Groppe, Sven
Pionteck, Thilo
contents This paper introduces a search algorithm for index structures based on a B+ tree, specifically optimized for execution on a field-programmable gate array (FPGA). Our implementation efficiently traverses and reuses tree nodes by processing a batch of search keys level by level. This approach reduces costly global memory accesses, improves reuse of loaded B+ tree nodes, and enables parallel search key comparisons directly on the FPGA. Using a high-level synthesis (HLS) approach, we developed a highly flexible and configurable search kernel design supporting variable batch sizes, customizable node sizes, and arbitrary tree depths. The final design was implemented on an AMD Alveo U250 Data Center Accelerator Card, and was evaluated against the B+ tree search algorithm from the TLX library running on an AMD EPYC 7542 processor (2.9 GHz). With a batch size of 1000 search keys, a B+ tree containing one million entries, and a tree order of 16, we measured a 4.9x speedup for the single-kernel FPGA design compared to a single-threaded CPU implementation. Running four kernel instances in parallel on the FPGA resulted in a 2.1$\times$ performance improvement over a CPU implementation using 16 threads.
format Preprint
id arxiv_https___arxiv_org_abs_2604_21117
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle Efficient Batch Search Algorithm for B+ Tree Index Structures with Level-Wise Traversal on FPGAs
Tzschoppe, Max
Wilhelm, Martin
Groppe, Sven
Pionteck, Thilo
Hardware Architecture
Databases
Distributed, Parallel, and Cluster Computing
This paper introduces a search algorithm for index structures based on a B+ tree, specifically optimized for execution on a field-programmable gate array (FPGA). Our implementation efficiently traverses and reuses tree nodes by processing a batch of search keys level by level. This approach reduces costly global memory accesses, improves reuse of loaded B+ tree nodes, and enables parallel search key comparisons directly on the FPGA. Using a high-level synthesis (HLS) approach, we developed a highly flexible and configurable search kernel design supporting variable batch sizes, customizable node sizes, and arbitrary tree depths. The final design was implemented on an AMD Alveo U250 Data Center Accelerator Card, and was evaluated against the B+ tree search algorithm from the TLX library running on an AMD EPYC 7542 processor (2.9 GHz). With a batch size of 1000 search keys, a B+ tree containing one million entries, and a tree order of 16, we measured a 4.9x speedup for the single-kernel FPGA design compared to a single-threaded CPU implementation. Running four kernel instances in parallel on the FPGA resulted in a 2.1$\times$ performance improvement over a CPU implementation using 16 threads.
title Efficient Batch Search Algorithm for B+ Tree Index Structures with Level-Wise Traversal on FPGAs
topic Hardware Architecture
Databases
Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2604.21117