Data Processing with FPGAs on Modern Architectures

Wenqi Jiang,Dario Korolija,Gustavo Alonso
DOI: https://doi.org/10.1145/3555041.3589410
2023-06-24
Abstract:Trends in hardware, the prevalence of the cloud, and the rise of highly demanding applications have ushered an era of specialization that quickly changes how data is processed at scale. These changes are likely to continue and accelerate in the next years as new technologies are adopted and deployed: smart NICs, smart storage, smart memory, disaggregated storage, disaggregated memory, specialized accelerators (GPUS, TPUs, FPGAs), and a wealth of ASICs specifically created to deal with computationally expensive tasks (e.g., cryptography or compression). In this tutorial, we focus on data processing on FPGAs, a technology that has received less attention than, e.g., TPUs or GPUs but that is, however, increasingly being deployed in the cloud for data processing tasks due to the architectural flexibility of FPGAs, along with their ability to process data at line rate, something not possible with other types of processors or accelerators. In the tutorial, we will cover what FPGAs are, their characteristics, their advantages and disadvantages, as well as examples from deployments in the industry and how they are used in various data processing tasks. We will introduce FPGA programming with high-level languages and describe hardware and software resources available to researchers. The tutorial includes case studies borrowed from research done in collaboration with companies that illustrate the potential of FPGAs in data processing and how software and hardware are evolving to take advantage of the possibilities offered by FPGAs. The use cases include: (1) approximated nearest neighbor search, which is relevant to databases and machine learning, (2) remote disaggregated memory, showing how the cloud architecture is evolving and demonstrating the potential for operator offloading and line rate data processing, and (3) recommendation system as an application with tight latency constraints.
Databases
What problem does this paper attempt to address?
The paper primarily explores issues related to using Field Programmable Gate Arrays (FPGAs) for data processing in modern architectures. Specifically, the paper aims to address the following points: 1. **Hardware Development Trends and Data Processing Needs**: With the advancement of hardware technology, the proliferation of cloud computing, and the growth of high-demand applications, traditional CPUs can no longer meet the performance requirements of many applications. Therefore, the paper focuses on how to utilize FPGAs to accelerate data processing tasks, especially in application scenarios that require high-speed processing of large amounts of data. 2. **Advantages and Application Scenarios of FPGAs**: Due to their architectural flexibility and ability to achieve line-rate processing, FPGAs are increasingly being adopted in cloud environments. The paper provides a detailed introduction to the characteristics and advantages of FPGAs, as well as their various uses in practical deployments, such as application cases in database management and machine learning. 3. **Programming and Resource Support**: To make it easier for researchers to get started with FPGA programming, the paper provides an introduction to using High-Level Synthesis (HLS) tools for programming and points out publicly available resources and support systems for research. 4. **Specific Case Analysis**: The paper showcases the potential applications of FPGAs in different scenarios through multiple practical cases, including Approximate Nearest Neighbor Search (ANNS) and intelligent distributed memory. These cases not only demonstrate the technical advantages of FPGAs but also reveal how software and hardware architectures can evolve to fully leverage the possibilities offered by FPGAs. In summary, this paper aims to demonstrate the importance and application prospects of FPGAs in modern data processing to researchers in the database field through theoretical explanations and practical cases.