Hardware acceleration of database operations

J Casper, K Olukotun - Proceedings of the 2014 ACM/SIGDA …, 2014 - dl.acm.org
Proceedings of the 2014 ACM/SIGDA international symposium on Field …, 2014dl.acm.org
As the amount of memory in database systems grows, entire database tables, or even
databases, are able to fit in the system's memory, making in-memory database operations
more prevalent. This shift from disk-based to in-memory database systems has contributed
to a move from row-wise to columnar data storage. Furthermore, common database
workloads have grown beyond online transaction processing (OLTP) to include online
analytical processing and data mining. These workloads analyze huge datasets that are …
As the amount of memory in database systems grows, entire database tables, or even databases, are able to fit in the system's memory, making in-memory database operations more prevalent. This shift from disk-based to in-memory database systems has contributed to a move from row-wise to columnar data storage. Furthermore, common database workloads have grown beyond online transaction processing (OLTP) to include online analytical processing and data mining. These workloads analyze huge datasets that are often irregular and not indexed, making traditional database operations like joins much more expensive.
In this paper we explore using dedicated hardware to accelerate in-memory database operations. We present hardware to accelerate the selection process of compacting a single column into a linear column of selected data, joining two sorted columns via merging, and sorting a column. Finally, we put these primitives together to accelerate an entire join operation. We implement a prototype of this system using FPGAs and show substantial improvements in both absolute throughput and utilization of memory bandwidth. Using the prototype as a guide, we explore how the hardware resources required by our design change with the desired throughput.
ACM Digital Library