作者:张海军,来源:傅里叶的猫
再来看一篇FPGA的综述,我们都知道微软包括国内的云厂商其实都在数据中心的服务器中部署了FPGA,所以这篇论文就以数据中心的视角,来看下FPGA这个硬件加速器。
还是一样,想要论文原文的可以私信我。
由于论文不长,我们就直接把原始论文翻译出来,而不是跟之前一样只总结部分内容。
摘要
数据流特征的日益动态化,给研究带来了更多挑战。 数据中心的计算复杂度、存储、能源和安全等方面的资源消耗正处于 intense 的研究焦点之下。 本文旨在回顾通过部署现场可编程门阵列(FPGA 设备)来提高数据中心 operational 效率的方法。 由于数据中心对高性能计算的需求巨大,本文解决了在处理数据方面的问题,尽管传统方案仍然存在挑战。 本文还回顾了支持 FPGA 在数据中心中取得积极进展的关键使能技术,如大数据和云计算,以及它们所面临的挑战。 本文汇编并介绍了研究人员提出的 novel 架构,并对基于 FPGA 的数据中心数据管理进行了详细分析,为研究人员提供了更多有前景的研究方向。
1. 引言
数据中心是一种物理计算设施,用于存储关键应用程序和数据,并用于共享计算应用程序。 数据中心的主要组件是交换机、路由器、防火墙、服务器和存储介质。 在现代,多个数据中心通过边缘、私有和公共云连接。 在当今的情况下,数据中心在企业资源规划、客户关系管理、大数据、机器学习和人工智能方面发挥着重要作用。 数据中心的infrastructure经历了三个主要的时代:第一个时代是从大型机到 X-86 服务器,第二个时代是infrastructure的虚拟化,而现在是云、混合云和云原生。 在过去十年中,计算负载从 10 万增加到数百万; 所需的存储容量从 PB 级增加到 EB 级,网络容量所需的速度也朝着 Pbps 级方向增加。 因此,技术扩展对功率/热密度、中央处理器 (CPU) 性能、异构计算(即低功耗下的高性能)的需求非常迫切。 现在是时候从应用程序加速、处理器卸载、性能/功耗和软件定义开发的角度重新定义数据中心网络架构,以实现规模扩展。
A. 数据中心中的 FPGA
为了填补数据中心的计算空白,人们认为现场可编程门阵列 (FPGA) 将发挥主导作用,其市场价值预计将大幅上升。 现在的 FPGA 具有高速连接、存储块和信号处理块。 除此之外,还提供 USB 3.0、SATA 3.0、DDR4 控制器,以实现高速数据处理。 此外,借助内置的 ARM 处理器,可以实现实时处理,该处理器具有浮点和内存管理功能。 显然,最新的 FPGA 部署了应用处理器单元、实时处理单元和多媒体处理单元。 此外,它们还具有复杂的加密算法、高速外设和收发器。 上面讨论的功能都集成在 FPGA 中。Xilinx 开发了专用的自适应加速器卡硬件模块 ALVEO,用于数据中心相关应用。 同样,英特尔开发了 Agilex 和 Stratix 10 FPGA 系列,用于支持四核 ARM Cortex-A53 处理器的高性能加速应用。 强烈建议对下一代计算的芯片制造工艺进行必要的更改,尤其是在数据中心应用中。 全球大多数著名的数据中心都使用可再生能源和超环路网络设施来运营,以提供高效的电信数据和基于云的服务。
II. 数据中心大数据处理方案的演进
使用无源光网络,可以通过协同流调度来管理大数据,并进行资源优化。 作者还考虑了改变大数据的流量模式,并使用 MapReduce 在以交换机为中心的设计中路由数据包。 无源光网络还用于以服务器为中心的应用,为数据中心网络提供可靠的高速骨干架构。 为了使用户能够在异构数据中心中完美地利用 FPGA 加速器,Kchris 等人开发了一种集成的多功能加速器。 图 1 显示了在数据中心应用中发挥重要作用的节能大数据处理方案的详细分类。
B. 案例研究:用于数据处理的可重构设备
硬件加速器
谷歌、微软和亚马逊已经更新了部署 FPGA 的数据中心,以增强后端的机器学习。FPGA 为节能可编程硬件架构提供了一种很有前景的替代方案。FPGA 的可重构能力允许在数据中心的不同环境下实现高性能、低功耗和高吞吐量。 表 1 列出了 CNN 在 FPGA 中的性能。 基于全方位、基于加速器的异构集成数据中心的 VINEYARD .
最近,CESNET(捷克 NREN)演示了基于 Virtex Ultra Scale+ FPGA 的 NFB-200G2QL 加速器可在单个 NIC 卡中实现 200 Gbps 吞吐量的网络数据传输。 在此环境上进行的现代基准测试模拟提供的性能是完整软件模拟的两倍。
C. 高性能计算
本节主要强调了将基于云的服务与基于 FPGA 的数据中心架构相集成的重要性,以及基于云网络的数据处理任务的动机。 表 7 突出显示了 FPGA 支持的云计算在数据中心中的各种作用。
在 FPGA 上移植应用程序并不是适用于数据中心或云应用程序中使用的所有类型和配置的 FPGA 的即插即用任务。为数据中心开发的 FPGA 虚拟化可用于与领域无关的用户设计进行交互。 显然,虚拟化 FPGA 是为数据中心中的流式云应用程序开发的,并将结果与使用 FPGA 设计的传统虚拟机进行了比较。 即使 FPGA 中软错误的物理发生频率不高,也需要测试 FPGA 的鲁棒性。 尤其是在采用了超过 100,000 个 FPGA 节点的大规模数据中心中,需要确保可靠性以避免数据损坏。 对基于 FPGA 的云计算节点进行故障分析,以估计 FPGA 在云计算中对软错误的敏感性。 对 FPGA 结构代理和多 FPGA 结构的设计进行了动态策略分析,并对 FPGA 的扩展进行了分析,观察到吞吐量、性能和延迟方面的改进。
D. 高性能计算
随着智能设备、自动驾驶汽车和互联工厂的发展,它们将生成大量需要处理的数据。 高性能计算用于利用分布式计算资源来解决复杂问题,其中包含大约 TB 甚至 ZB 的大型数据集,这些数据集需要实时处理。 此类高性能计算通常由 CPU 和 GPU 执行。 表 8 突出显示了 FPGA 在 HPC 中最重要的作用。
与 CPU 和 GPU 相比,FPGA 在某些应用中的性能优于 CPU 和 GPU:
线性代数方程的求解速度比 CPU 快 19 倍。 地球物理的 3D 卷积比 CPU 快 70 倍,比 CPU 快 14 倍。分子动力学的求解速度比 NAMD CPU 快 80 倍。 用于生物信息学的基本局部比对搜索工具 (BLAST) 的求解速度比并行优化的 CPU 快 5 倍。用于气候建模的全球大气方程比 CPU 快 19 倍,比 GPU 快 7 倍。FPGA 可配置用于具有高速计算的数据压缩应用程序,并将其集成到虚拟化环境中。
此外,在没有任何通信开销的情况下,FPGA 可以配置为提供具有更好硬件加速的微服务。使用带有 OpenCL 编译器的 Nallatech FPGA 实现了两个 HPC 应用程序,例如最近邻和 Lava MD(分子动力学)以及文档分类。与 Xeon 类型的处理器相比,此硬件架构产生的结果快 4.3 倍、5.3 倍和 1.3 倍。FPGA 实现的功耗也降低了。 表 9 显示了上述应用程序的实现时间。 在 FPGA、CPU 和 GPU 上演示了 AES256。 基于 FPGA 的密码分析在成本、功耗和吞吐量方面的性能优于 GPU 和 CPU,如表 9 和表 10 所示。
因此,可以将 FPGA 集成到特定应用任务、计算密集型任务、内存访问结构等中,以改善延迟、吞吐量和执行速度。
III. 未来研究趋势、挑战和机遇
随着数据量的增加,数据中心必须移动更多的数据,它们面临着来自不同方向的重大挑战。 尽管列出的问题并不代表所有基于 FPGA 的数据中心中尚未解决的研究趋势,但它们对通过高速计算执行以数据为中心的功能(如持久性、数据缩减、数据安全、数据过滤、数据分析等)具有长期影响。 因此,FPGA 数据中心预计将与 CPU 进行协同调度,包括异构云数据中心管理、深度神经网络加速、通道攻击管理、FPGA 调度、虚拟化和漏洞分析。
IV. 结论和未来范围
芯片制造技术和 FPGA 的进步至关重要,它们在增强数据中心数据管理性能方面发挥着至关重要的作用。CPU 和传统计算资源面临着许多与数据流的动态特性相关的问题,这些问题涉及在数据中心云网络中处理数据流。FPGA 集群架构、云计算、硬件加速方面的创新可用于实现数据的快速处理并适应其动态流特性。