Generating high-performance FPGA accelerator designs for big data analytics with Fletcher and Apache Arrow

Johan Peltenburg, Jeroen van Straten, Matthijs Brobbel, Zaid Al-Ars, H. Peter Hofstee

Research output: Contribution to journalArticleScientificpeer-review

74 Downloads (Pure)


As big data analytics systems are squeezing out the last bits of performance of CPUs and GPUs, the next near-term and widely available alternative industry is considering for higher performance in the data center and cloud is the FPGA accelerator. We discuss several challenges a developer has to face when designing and integrating FPGA accelerators for big data analytics pipelines. On the software side, we observe complex run-time systems, hardware-unfriendly in-memory layouts of data sets, and (de)serialization overhead. On the hardware side, we observe a relative lack of platform-agnostic open-source tooling, a high design effort for data structure-specific interfaces, and a high design effort for infrastructure. The open source Fletcher framework addresses these challenges. It is built on top of Apache Arrow, which provides a common, hardware-friendly in-memory format to allow zero-copy communication of large tabular data, preventing (de)serialization overhead. Fletcher adds FPGA accelerators to the list of over eleven supported software languages. To deal with the hardware challenges, we present Arrow-specific components, providing easy-to-use, high-performance interfaces to accelerated kernels. The components are combined based on a generic architecture that is specialized according to the application through an extensive infrastructure generation framework that is presented in this article. All generated hardware is vendor-agnostic, and software drivers add a platform-agnostic layer, allowing users to create portable implementations.
Original languageEnglish
Pages (from-to)565-586
Number of pages22
JournalJournal of Signal Processing Systems: the journal of DSPtechnologies
Issue number5
Publication statusPublished - 2021


  • Accelerator
  • Analytics
  • Apache Arrow
  • Big data
  • FPGA
  • Fletcher


Dive into the research topics of 'Generating high-performance FPGA accelerator designs for big data analytics with Fletcher and Apache Arrow'. Together they form a unique fingerprint.

Cite this