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

时间:2025-06-17  作者: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 超级计算机。 


审核编辑:刘清

猜您喜欢

网络测试仪是用于检测和分析网络性能的重要工具。主要作用是帮助网络管理员及时发现并解决网络问题,确保网络的稳定性和高效性。通过网络测试仪,可以监测网络的带宽、延迟...
2015-01-15 00:00:00

在日常生活和维修工作中,工具的选择非常重要。多功能扳手作为一款集多种功能于一身的实用工具,越来越受到人们的青睐。不仅适用于各种螺母和螺栓,还能轻松应对不同规格的...
2008-10-08 00:00:00

熔断器底座作为电气设备中不可少的组成部分,其主要优势不容忽视。熔断器底座提供了稳定的连接,确保电流的安全传输,降低了电气故障的风险。底座的设计通常具备良好的散热...
2017-05-27 00:00:00

在科学研究和实验过程中,选择合适的实验仪器和设备非常重要。不同的实验需求对应着不同的设备规格和尺寸,这直接影响实验的效率和结果的准确性。比如,显微镜的放大倍数和...
2013-08-14 00:00:00

可调电容和变容二极管是电子元件中重要部分。在调谐电路中起着关键作用。本文将详细介绍这两种元件,帮助大家更好理解。可调电容的定义可调电容是电容器。的电容值可以调节...
2025-03-26 14:31:39

你是否因为电子制作项目需要用到正负电压而烦恼?是否苦于市面上难以找到合适参数的双电源模块?其实,借助 LDO 线性稳压器,你就可以轻松打造一个属于自己的高精度、...
2024-06-08 00:00:00

直流电子负载是重要的测试设备,应用于电源、充电器和电池等领域。了解其参数对于有效使用直流电子负载非常重要。最大电流是一个关键参数,指的是负载能够承受的最大电流值...
2008-04-21 00:00:00


安全生产月系列:我国是钢铁行业的生产、消费第一大国,钢铁冶炼的流程长、工艺复杂,各环节易出现有毒有害、易燃易爆气体以及粉尘等危险物质,如何保障工作人员安全?一文...
2024-06-07 16:28:00

电解电容是电子设备中常见的元件。的容量大小,是由多个因素决定的。这里面,电解液的影响不可忽视。本文将探讨电解电容的容量与电解液之间的关系。电解液的基本作用电解液...
2025-03-19 14:01:06