FPGAs for Data Processing: Current State
it — Information Technology, April 2017.
To escape a number of physical limitations (e.g., bandwidth and thermal issues), hardware technology is strongly trending toward heterogeneous system designs, where a large share of the application work can be off-loaded to accelerators, such as graphics or network processors.
In the database domain, field-programmable gate arrays (FPGAs) were recently discovered as a powerful class of co-processors. Data-intensive tasks can benefit from their very high bandwidth paired with a very low latency.
However, a number of challenges still have to be solved before FPGA-accelerated systems can go mainstream. Applications must leverage the massive parallelism provided by FPGAs; algorithms must be re-designed with awareness for communication; and new abstractions are needed to make system development effective.
In this article, we report on some of the results we obtained working toward solutions to these challenges. They have been carried out in the context of the Avalanche project, a pioneer in the use of FPGAs for database applications.
Camera-ready version submitted