FPGA-XCVU35P为何能成为数据中心的主流?
FPGA-XCVU35P为何能成为数据中心的主流?
拒了解,数据中心已经和 5G 网络等技术一起,成为我国新基建的重点发展领域。而且,腾讯、微软、百度等很多巨头数据中心都采用或者准备采用FPGA-XCVU35P,那么为什么FPGA-XCVU35P会逐渐被这些巨头所采用?
其实,对于专业人士来说,FPGA-XCVU35P并不陌生,它一直都被广泛使用。但是,大部分人还不是太了解它,对它有很多疑问——FPGA-XCVU35P有什么特点?为什么要使用它?FPGA-XCVU35P为什么是数据中心最重要的硬件之一……
今天,带着这一系列的问题,我们一起来——揭秘FPGA-XCVU35P。
01FPGA-XCVU35P有什么特点?
设计灵活,FPGA-XCVU35P属于硬件可重构的芯片结构,内部具有数量丰富的可编程输入输出单元引脚及触发器;
适用便捷,FPGA-XCVU35P是专用电路中开发周期最短、应用风险最低的器件之一(部分客户无需投资研发即可获得适用FPGA-XCVU35P芯片);
并行计算,FPGA-XCVU35P芯片内部可按照数据包步骤数量搭建相对应的流水线,从而实现数据并行、流水线并行;
高兼容性,FPGA-XCVU35P可与CMOS等大规模集成电路兼容,进行协同工作。
02为什么要使用FPGA-XCVU35P?
众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。
人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新编程来执行新类型的计算任务。
FPGA-XCVU35P 正是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array,中文名是现场可编程门阵列。
FPGA-XCVU35P常年来被用作专用芯片(ASIC)的小批量替代品,然而近年来在微软、百度等公司的数据中心大规模部署,以同时提供强大的计算能力和足够的灵活性。
03 FPGA-XCVU35P为什么快?
同行衬托,CPU、GPU 都属于冯·诺依曼结构,指令译码执行、共享内存。FPGA-XCVU35P 之所以比 CPU 甚至 GPU 能效高,本质上是无指令、无需共享内存的体系结构带来的福利。
冯氏结构中,由于执行单元(如 CPU 核)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此 GPU 使用 SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,CPU 也支持 SIMD 指令。而 FPGA-XCVU35P 每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令。
冯氏结构中使用内存有两种作用,一是保存状态,二是在执行单元间通信。由于内存是共享的,就需要做访问仲裁;为了利用访问局部性,每个执行单元有一个私有的缓存,这就要维持执行部件间缓存的一致性。对于保存状态的需求,FPGA-XCVU35P 中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存。对于通信的需求,FPGA-XCVU35P 每个逻辑单元与周围逻辑单元的连接在重编程(烧写)时就已经确定,并不需要通过共享内存来通信。
04FPGA-XCVU35P 实际的表现如何呢?
我们从这两个方向去看:计算密集型任务和通信密集型任务,计算密集型任务的例子包括矩阵运算、图像处理、机器学习、压缩、非对称加密、Bing 搜索的排序等。这类任务一般是 CPU 把任务卸载(offload)给 FPGA-XCVU35P 去执行。对这类任务,目前我们正在用的 Altera(似乎应该叫 Intel 了,我还是习惯叫 Altera……)Stratix V FPGA-XCVU35P 的整数乘法运算性能与 20 核的 CPU 基本相当,浮点乘法运算性能与 8 核的 CPU 基本相当,而比 GPU 低一个数量级。我们即将用上的下一代 FPGA-XCVU35P,Stratix 10,将配备更多的乘法器和硬件浮点运算部件,从而理论上可达到与现在的顶级 GPU 计算卡旗鼓相当的计算能力。
在数据中心,FPGA-XCVU35P 相比 GPU 的核心优势在于延迟。像 Bing 搜索排序这样的任务,要尽可能快地返回搜索结果,就需要尽可能降低每一步的延迟。如果使用 GPU 来加速,要想充分利用 GPU 的计算能力,batch size 就不能太小,延迟将高达毫秒量级。使用 FPGA-XCVU35P 来加速的话,只需要微秒级的 PCIe 延迟(我们现在的 FPGA-XCVU35P 是作为一块 PCIe 加速卡)。未来 Intel 推出通过 QPI 连接的 Xeon + FPGA-XCVU35P 之后,CPU 和 FPGA-XCVU35P 之间的延迟更可以降到 100 纳秒以下,跟访问主存没什么区别了。
FPGA-XCVU35P 为什么比 GPU 的延迟低这么多?这本质上是体系结构的区别。FPGA-XCVU35P 同时拥有流水线并行和数据并行,而 GPU 几乎只有数据并行(流水线深度受限)。例如处理一个数据包有 10 个步骤,FPGA-XCVU35P 可以搭建一个 10 级流水线,流水线的不同级在处理不同的数据包,每个数据包流经 10 级之后处理完成。每处理完成一个数据包,就能马上输出。而 GPU 的数据并行方法是做 10 个计算单元,每个计算单元也在处理不同的数据包,然而所有的计算单元必须按照统一的步调,做相同的事情(SIMD,Single Instruction Multiple Data)。这就要求 10 个数据包必须一起输入、一起输出,输入输出的延迟增加了。当任务是逐个而非成批到达的时候,流水线并行比数据并行可实现更低的延迟。因此对流式计算的任务,FPGA-XCVU35P 比 GPU 天生有延迟方面的优势。
05为什么说FPGA-XCVU35P是数据中心最重要的硬件之一?
目前,在云计算日益普及、数据创建率高以及机器学习等新的计算密集型应用程序之间,我们当前的数据中心基础设施正被推向极限。为了帮助确保未来的数据中心能够跟上这些趋势并不断提高性能,工程师们正在重新构想数据中心计算硬件。由此可见,数据中心最重要的硬件之一就是FPGA-XCVU35P。
最近英特尔/VMware Crossroads 3D-FPGA-XCVU35P学术研究中心,希望明确地促进数据中心的FPGA-XCVU35P技术的改进。
目前,数据中心有两个主要趋势正在推动该领域的未来发展:数据流量的增加和计算密集型应用程序的增加。这里的挑战在于,数据中心不仅必须能够处理增加的数据和更严格的计算,而且比以往任何时候都更需要以更低的功率和更高的性能来做到这一点。
为了实现这一目标,工程师们已经不再使用更通用的计算硬件,例如中央处理单元(CPU)和图形处理单元(GPU),而是使用硬件加速器。
工程师可以使用特定于应用程序的计算块实现比以前更高的性能和低功耗计算。对许多人来说,由加速器、GPU和CPU组成的异构计算架构是未来数据中心被广泛接受的前进道路。
06FPGA-XCVU35P对数据中心的好处是什么?
出于多种原因,FPGA-XCVU35P具有独特的优势,可以使数据中心受益。首先,FPGA-XCVU35P是高度可定制的,这意味着它们可以配置为用作特定应用的硬件加速器。
在数据中心环境中,工程师可以为机器学习、网络或安全等应用配置FPGA-XCVU35P。由于其软件定义的特性,FPGA-XCVU35P提供了比专用集成电路(ASIC)更简单的设计流程和更短的上市时间。
其次,FPGA-XCVU35P可以提供多功能性的好处。由于FPGA-XCVU35P的功能可以完全由HDL代码定义,因此单个FPGA-XCVU35P可以用于多种用途。此功能可以帮助降低复杂性并在系统中创建统一性。无需各种不同的硬化ASIC,单个FPGA-XCVU35P可以针对各种应用进行配置和重新配置,从而为进一步优化硬件资源打开了大门。因此,一些FPGA-XCVU35P可以根据正在运行的应用程序实时重新配置,这意味着单个FPGA-XCVU35P可以根据需要充当多个角色。