In-memory database acceleration on FPGAs

a survey

Journal Article (2019)
Author(s)

Jian Fang (TU Delft - Computer Engineering)

Yvo T.B. Mulder (IBM Research)

Jan Hidders (Vrije Universiteit Brussel)

Jinho Lee (Yonsei University)

H. Peter Hofstee (TU Delft - Computer Engineering, IBM Austin Research Lab.)

Research Group
Computer Engineering
Copyright
© 2019 J. Fang, Yvo T.B. Mulder, Jan Hidders, Jinho Lee, H.P. Hofstee
DOI related publication
https://doi.org/10.1007/s00778-019-00581-w
More Info
expand_more
Publication Year
2019
Language
English
Copyright
© 2019 J. Fang, Yvo T.B. Mulder, Jan Hidders, Jinho Lee, H.P. Hofstee
Research Group
Computer Engineering
Issue number
1
Volume number
29 (2020)
Pages (from-to)
33-59
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

While FPGAs have seen prior use in database systems, in recent years interest in using FPGA to accelerate databases has declined in both industry and academia for the following three reasons. First, specifically for in-memory databases, FPGAs integrated with conventional I/O provide insufficient bandwidth, limiting performance. Second, GPUs, which can also provide high throughput, and are easier to program, have emerged as a strong accelerator alternative. Third, programming FPGAs required developers to have full-stack skills, from high-level algorithm design to low-level circuit implementations. The good news is that these challenges are being addressed. New interface technologies connect FPGAs into the system at main-memory bandwidth and the latest FPGAs provide local memory competitive in capacity and bandwidth with GPUs. Ease of programming is improving through support of shared coherent virtual memory between the host and the accelerator, support for higher-level languages, and domain-specific tools to generate FPGA designs automatically. Therefore, this paper surveys using FPGAs to accelerate in-memory database systems targeting designs that can operate at the speed of main memory.