什么是FPGA呢?FPGA怎么使用呢?

时间:2025-04-28  作者:Diven  阅读:0

近几年,FPGA这个名词越来越多地出现在我们身边。但对于大多数人来说,FPGA依然是神秘而陌生的。那么什么是FPGA呢?FPGA怎么使用呢?让我们结合其在云计算行业中的应用,简单介绍一下。

什么是FPGA呢?FPGA怎么使用呢?

Q

什么是FPGA?

A

通俗来讲,是芯片,和我们熟知的CPU、GPU、ASIC芯片一样,有其自己的应用场景。FPGA(Field Programmable Gate Array)中文名现场可编程逻辑门阵列,是可编程器件,与传统逻辑电路和门阵列(如PAL、GAL及CPLD器件)相比,FPGA具有不同的结构,允许无限次的编程。
FPGA采用了逻辑单元阵列LCA(LogIC Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。  

FPGA的优势

近几年人工智能、大数据各种web服务的规模在指数级的增长,而通用处理器(CPU)的摩尔定律的性能的提升遇到瓶颈。人们通过使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新编程来执行新类型的计算任务。FPGA的可编程属性进入人们的视野。
通常,计算密集型任务,如:矩阵运算、图像处理、机器学习、压缩、非对称加密、搜索引擎的排序等。这类任务一般是CPU把任务卸载(offload)给FPGA去执行。对这类任务,目前我们正在用的Intel Stratix V FPGA的整数乘法运算性能与20核的CPU基本相当,浮点乘法运算性能与8核的CPU基本相当。
Intel Stratix 10 FPGA,配备更多的乘法器和硬件浮点运算部件,理论上可达到与现在的顶级CPU旗鼓相当的计算能力。 在云计算数据中心,FPGA相比与CPU和GPU的核心优势在于延迟更低。各芯片的延迟对比,如下图:

对通信密集型任务,FPGA相比CPU、GPU 的优势就更大了。从吞吐量上讲,FPGA上的收发器可以直接接上40 Gbps甚至100 Gbps的网线,线束处理任意大小的数据包;而CPU需要从网卡把数据包收上来才能处理,很多网卡是不能线束处理64字节的小数据包的。尽管可以通过插多块网卡来达到高性能,但CPU和主板支持的PCIe插槽数量往往有限,而且网卡、交换机本身也价格不菲。
从延迟上讲,网卡把数据包收到CPU,CPU再发给网卡,即使使用DPDK这样高性能的数据包处理框架,延迟也有4-5微秒。更严重的问题是,通用CPU的延迟不够稳定。例如当负载较高时,转发延迟可能升到几十微秒甚至更高,操作系统中的时钟中断和任务调度也增加了延迟的不确定性。

FPGA在云计算的应用

云计算中心部署FPGA大致有三种场景:

1

专用集群场景

FPGA服务器作为专用服务器里面插满了FPGA加速卡,就像是一个FPGA组成的超级计算机。例如,某公司的实际应用一块PCIe卡上放了6块FPGA,每台1U服务器上又插了4 块PCIe卡。

2

网络集群场景

为了保证数据中心中服务器的同构性,在每台服务器上插一块FPGA,FPGA之间通过专用网络连接。

3

独立节点场景

FPGA脱离服务器,作为独立的配件存在于云计算集群中。把FPGA部署在网卡和交换机之间。如下图所示,每个FPGA有一个4 GB DDR3-1333 DRAM,通过两个PCIe Gen3 x8 接口连接到一个CPU socket(物理上是PCIe Gen3 x16接口,因为FPGA没有x16的硬核,逻辑上当成两个x8的用)。物理网卡(NIC)就是普通的40 Gbps网卡,仅用于宿主机与网络之间的通信。
FPGA(SmartNIC)对每个虚拟机虚拟出一块网卡,虚拟机通过SR-IOV直接访问这块虚拟网卡。原本在虚拟交换机里面的数据平面功能被移到了FPGA里面,虚拟机收发网络数据包均不需要CPU参与,也不需要经过物理网卡(NIC)。这样不仅节约了CPU资源,还提高了虚拟机的网络性能,把同数据中心虚拟机之间的网络延迟降低了10倍。
FPGA复用主机网络的初心是加速网络和存储,更深远的影响则是把FPGA之间的网络连接扩展到了整个数据中心的规模,做成真正的cloud-scale 超级计算机。 


审核编辑:刘清

猜您喜欢

贴片电阻,这种在电子电路中常见的元件,虽然体积微小,却扮演着重要的角色。它通过将电流转化为热能来限制电流,确保电路的稳定运行。而贴片电阻功率,则是衡量其承受电流...
2025-04-14 15:02:17

近年来,可充电电池在消费电子、电动汽车和大规模能源储存系统中得到了迅速发展,特别是电动汽车的爆发式增长使电池的质量、可靠性和寿命(QRL)成为更加关键的因素。为...
2024-11-26 16:41:00


按钮指示灯附件是实用的设备,应用于各类机械和电子产品中。不仅能够为用户提供清晰的操作指示,还能提升设备的整体美观性。该附件通常由高品质的LED灯珠和耐用的外壳材...
2009-06-12 00:00:00


现代产品设计中,配件的选择与应用扮演着非常重要的角色。特别是对于一些特定尺寸的配件,如“Accessories_7.5X7.1MM_TM”,它们不仅可以提升产品...
2025-03-05 23:01:36

现代网络通信中,RJ45连接器作为一种标准的网络接口,广泛应用于各种设备中。这种连接器的设计旨在提供可靠的网络连接,而RJ45_16.7X16MM_TM则是其中...
2025-03-06 02:32:59

如今电子设备日益普及的时代,高效稳定的电源供应显得尤为重要。同步整流Buck降压电路作为一种应用的DC-DC转换器,以其高效率、低损耗和稳定输出等优势,成为了众...
2024-08-01 00:00:00

贴片电阻的阻值并非固定不变,而是涵盖了非常广泛的范围,从几毫欧姆到几兆欧姆不等。具体阻值取决于电阻上的标识,通常以数字或数字字母组合的形式印在电阻表面。对于三位...
2024-11-26 11:29:45

双向触发二极管(简称BTD)是具有特殊功能的半导体器件,应用于电力电子、控制系统及信号处理等领域。不仅能够实现电流的双向导通,还能在电路中起到保护和控制的作用。...
2025-03-31 12:00:02