{"title":"Data Processing with FPGAs on Modern Architectures","authors":"Wen Jiang, Dario Korolija, G. Alonso","doi":"10.1145/3555041.3589410","DOIUrl":null,"url":null,"abstract":"Trends in hardware, the prevalence of the cloud, and the rise of highly demanding applications have ushered an era of specialization that is quickly changing the way 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), as well as 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 and their ability to process data at line rate, something not possible with other type of processors or accelerators. In the tutorial we will cover what are FPGAs, their characteristics, their advantages and disadvantages over other design options, as well as examples from deployments in industry and how they are used in a variety of data processing tasks. Then we will provide a brief introduction to FPGA programming with High Level Synthesis (HLS) tools as well as briefly describe resources available to researchers in the form of academic clusters and open source systems that simplify the first steps. The tutorial will also include several case studies borrowed from research done in collaboration with companies that illustrate both the potential of FPGAs in data processing but also how software and hardware architectures are evolving to take advantage of the possibilities offered by FPGAs.","PeriodicalId":161812,"journal":{"name":"Companion of the 2023 International Conference on Management of Data","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Companion of the 2023 International Conference on Management of Data","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3555041.3589410","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Trends in hardware, the prevalence of the cloud, and the rise of highly demanding applications have ushered an era of specialization that is quickly changing the way 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), as well as 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 and their ability to process data at line rate, something not possible with other type of processors or accelerators. In the tutorial we will cover what are FPGAs, their characteristics, their advantages and disadvantages over other design options, as well as examples from deployments in industry and how they are used in a variety of data processing tasks. Then we will provide a brief introduction to FPGA programming with High Level Synthesis (HLS) tools as well as briefly describe resources available to researchers in the form of academic clusters and open source systems that simplify the first steps. The tutorial will also include several case studies borrowed from research done in collaboration with companies that illustrate both the potential of FPGAs in data processing but also how software and hardware architectures are evolving to take advantage of the possibilities offered by FPGAs.