当前位置: X-MOL 学术J. Sign. Process. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Generating High-Performance FPGA Accelerator Designs for Big Data Analytics with Fletcher and Apache Arrow
Journal of Signal Processing Systems ( IF 1.8 ) Pub Date : 2021-03-01 , DOI: 10.1007/s11265-021-01650-6
Johan Peltenburg , Jeroen van Straten , Matthijs Brobbel , Zaid Al-Ars , H. Peter Hofstee

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.



中文翻译:

使用Fletcher和Apache Arrow生成用于大数据分析的高性能FPGA加速器设计

随着大数据分析系统挤占CPU和GPU的最后性能,下一个近期广泛使用的替代行业正在考虑在数据中心和云中实现更高的性能,而FPGA加速器则应运而生。我们讨论了开发人员在设计和集成用于大数据分析管道的FPGA加速器时必须面对的几个挑战。在软件方面,我们观察到复杂的运行时系统,对硬件不利的数据集在内存中的布局以及(反)序列化开销。在硬件方面,我们发现相对缺乏与平台无关的开源工具,针对数据结构特定接口的大量设计工作以及针对基础架构的大量设计工作。开源Fletcher框架解决了这些挑战。它建立在Apache Arrow之上,Apache Arrow提供了常见的,硬件友好的内存中格式,允许对大型表格数据进行零拷贝通信,从而防止(反)序列化开销。Fletcher将FPGA加速器添加到超过11种受支持的软件语言的列表中。为了应对硬件挑战,我们提供了Arrow专用组件,为加速的内核提供了易于使用的高性能接口。这些组件基于通用体系结构进行组合,该体系结构通过本文介绍的广泛的基础结构生成框架根据应用程序进行了专门设计。所有生成的硬件均与供应商无关,并且软件驱动程序添加了与平台无关的层,从而允许用户创建可移植的实现。Fletcher将FPGA加速器添加到超过11种受支持的软件语言的列表中。为了应对硬件挑战,我们提供了Arrow专用组件,为加速内核提供了易于使用的高性能接口。这些组件基于通用体系结构进行组合,该体系结构通过本文介绍的广泛的基础结构生成框架根据应用程序进行了专门设计。所有生成的硬件均与供应商无关,并且软件驱动程序添加了与平台无关的层,从而允许用户创建可移植的实现。Fletcher将FPGA加速器添加到超过11种受支持的软件语言的列表中。为了应对硬件挑战,我们提供了Arrow专用组件,为加速内核提供了易于使用的高性能接口。这些组件基于通用体系结构进行组合,该体系结构通过本文介绍的广泛的基础结构生成框架根据应用程序进行了专门设计。所有生成的硬件均与供应商无关,并且软件驱动程序添加了与平台无关的层,从而允许用户创建可移植的实现。这些组件基于通用体系结构进行组合,该体系结构通过本文中介绍的广泛的基础结构生成框架根据应用程序进行了专门化。所有生成的硬件均与供应商无关,并且软件驱动程序添加了与平台无关的层,从而允许用户创建可移植的实现。这些组件基于通用体系结构进行组合,该体系结构通过本文介绍的广泛的基础结构生成框架根据应用程序进行了专门设计。所有生成的硬件均与供应商无关,并且软件驱动程序添加了与平台无关的层,从而允许用户创建可移植的实现。

更新日期:2021-03-01
down
wechat
bug