了解网络基础设施功能迅速增长的一种便捷方法是回顾一下过去四十年的发展历程(如下图所示)。蜂窝网络技术的创新,加上新型的数据存储和搜索技术,正在转变行业的发展模式。创新的技术不仅为公司和个人提供了全新的应用场景,也使他们去认真思考如何利用那些原本不属于其产品组合的技术。也许最能说明问题的变化的是新的商业模式导致了价值从基础设施转向了服务。
联网设备正在从2G向5G演进,以支持移动应用的爆发,并为不断增长的用户群扩展连接。一个日趋成熟的行业需要一种具有竞争力的商业模式,而这种模式可以被诠释为优化带宽管理。据估计,到2023年,联网设备的数量将超过全球人口的三倍(如图1所示)。
图1:网络基础设施的演进
图2:全球移动设备和连接增长(来源:思科)
注:此图表包括M2M。LPWA包括蜂窝LPWA(例如NB-IoT)和非蜂窝LPWA(例如LoRa)
*数据(n)为2018 - 2023年网络连接类型份额
5G的兴起和数据中心的重构将更好和更多地集成和应用加速技术,这给通信和网络设计人员带来了巨大的压力,要求他们去打造每秒可处理和转发万亿字节数据的系统。这些新的系统不仅必须要具备高度可靠性,而且还需要满足人类思维级别的响应时间,以确保严格的性能保证(如图3所示),这就需要全新的架构。
尽管可编程逻辑提供了最佳的功能组合,以支持新一代通信和网络系统的复杂需求,但是传统的可编程芯片产品无法满足这些需求。为了平衡片上的处理、互连和外部I / O,必须对整个FPGA架构进行重新考虑。需要最先进的片上网络(NoC)和总线布线能力,来实现所需的带宽和性能。集成的NoC是唯一可行的方法来构建可支持高效计算、巨大数据吞吐量和深度内存层次结构的系统。大规模的并行性与FPGA独特的卸载和加速功能相结合,以实现单位功耗可实现的最高的性能和最高的性价比。
图3:5G性能指标
对由高带宽连接提供的先进服务的需求正在重塑通信和网络领域。数据中心、边缘系统和接入设备中的新型应用正在推动对传输海量数据的需求,但同时又要满足严格的延迟要求。FPGA正在成为所有实际网络的核心,如下面的图4所示。
图4:各种实际网络中的FPGA
例如,为了支持诸如增强现实和机器人控制等应用,与之前的蜂窝无线通信技术相比,5G基站及其背后的网络设备必须保证极低的延迟。这项要求同时还与对更高的每用户吞吐量需求相伴而来,因而它们利用了多种不同的技术,包括多天线、波束成形以及作为网络密集化进程的一部分而增加使用的小基站。所有这些因素都导致了在集中式基带单元中进行更密集的处理,这些基带单元通过光纤链路与多个远程射频单元进行协同。
运营商已经采用了诸如软件驱动网络(SDN)和网络功能虚拟化(NFV)等技术来提高其系统的响应能力。为了运行这些服务,数据中心所有者正在为其服务器添加智能网卡(SmartNIC),以便将许多网络功能有效地卸载到加速器上。
智能网卡能够处理传入和传出服务器的大部分数据流,只有在需要处理异常情况时,才会请求核心服务器上的处理器来提供帮助。借助足够的加速功能,此类智能网卡能够以线速度执行一系列服务。这些服务范围从对传输中的数据进行压缩到详细的数据流控制,再到能够检测异常和可能的安全漏洞的深度数据包检查应用。随着智能网卡技术的成熟,正在考虑引入诸如机器学习等越来越先进的功能,以最大程度地发挥数据流和数据包分析的潜力。下面的图5显示了智能网卡的一些功能。
图5:智能网卡功能原理图
对传输高速数据和快速响应不断变化的条件的需求,要求系统能够同时处理高吞吐量和低延迟。在传统的架构中,很难同时满足这两个要求。现在,基于微处理器的架构集成了高度并行化的流水线,能够处理高带宽数据。但由于需要不断地将数据从复杂的内存体系结构中传入和传出,结果使得确保低延迟变得极其困难。即使借助于专用的卸载处理器,智能网卡也面临着由不断增加的数据速率和延迟要求所带来的挑战。
在传统的FPGA架构中,用户需要设计电路来连接加速器,从而导致不理想的布局和布线。更新的FPGA架构使用了一种网络,在逻辑阵列内的处理单元与各种片上高速接口和内存端口之间传输数据(如下面的图6所示)。
图6:在传统的FPGA架构中连接加速器
图7:先进的FPGA减少了所需电路的数量
硬连线架构极大地改善了处理的延迟和能效,但是缺乏应对需求变化的灵活性。对于数据压缩和加密等应用,数据中心运营商希望能够接纳算法的改进,并更加容易地应对不断变化的威胁态势。对加速器进行(重新)编程以适应这些变化的能力是一个关键的需求。一种能够实现这种重新编程的方法是通过部分重新配置,利用内置的地址转换表来简化实现(如下面的图8所示)。
图8:Speedster7t器件中的地址转换表
一种可编程逻辑架构为实现灵活的控制和数据流结构提供了坚实的基础,从而可以为诸如数据包处理等多种通信操作提供高吞吐量。但是其他FPGA架构中的传统方法仍然受到了许多限制,难以达到下一代5G和数据中心网络设备所需的性能等级。
Achronix Speedster7t系列FPGA通过一种平衡的架构克服了这些限制,其结果是在计算密度和数据传输能力上都有重大改进。
Speedster7t系列中的第一款FPGA器件AC7t1500提供了一系列高速接口,包括可分段(fracturable)以太网控制器(支持高达400G的速率)、PCI Gen 5端口和多达32个SerDes通道,其速率高达112 Gbps。AC7t1500器件是首款部署多通道GDDR6存储器接口的FPGA,它满足了需要高速缓存海量数据和存储大型查找表的通信系统的需求。除了可编程逻辑架构采用的面向位(bit-oriented)的布线结构外,这些外围设备还通过一个智能二维片上网络(NoC)进行互连。因此,Speedster7t FPGA是第一款能够实现太比特以太网(TbE)交换功能的器件,对于数据中心、网络和电信基础设施提供商来说,这是一项关键的赋能技术。
这种架构使得网络设计再向前更进一步成为了可能。例如,它集成的面向矩阵的算术单元可实现网络内机器学习。使用诸如深度学习或更简单的统计技术等技术,网络设备可以分析数据流量模式,以观察和增强通过网络的数据包流量,并对不断变化的情况作出快速反应。
在通信和网络中,对任何FPGA的关键要求是支持最新协议的密集I / O需求。Speedster7t系列FPGA通过在器件的I / O环中实现的全套硬件I / O控制器来满足了这一需求,包括400G以太网、PCI Gen 5和GDDR6接口。
为了避免由于需要将一些核心功能置入可编程逻辑而造成的瓶颈,Speedster7t FPGA提供了完整的400 Gbps以太网MAC。这些MAC处理前向纠错(FEC),支持400G配置的4×100G和8×50G选项。但是要充分利用这些功能,FPGA架构还需要更多的东西 —— 一个能释放其全部性能的互连框架。
通常来讲,FPGA已经使用了通过可编程互连来实现的超宽总线,以使高速串行通道与内核中可编程逻辑的处理能力相匹配。互连矩阵的可任意编程性质限制了数据在逻辑模块之间的传输速度。为了弥补这种速度上的代价,从事网络类设计的FPGA用户经常采用极宽的总线——通常宽达1024位——这些总线是由面向位的互连矩阵汇聚合成。例如,在传统的FPGA架构中,为实现400Gbps所需的总线宽度将需要2048位(运行速率为642MHz),或1024位(运行速率为724MHz)。如此宽的总线难以布线,因为它们会消耗FPGA架构内大量的布线资源。其结果是,即使在最先进的FPGA中,也不太可能用所需的时钟速率来处理输入数据并实现时序收敛。
Speedster7t架构通过提供一个聚合带宽可高达20 Tbps的多级NoC层级化结构,消除了由于需要将高速I/O通道直接连接到以较低时钟速率运行的可编程逻辑所造成的瓶颈。与采用FPGA逻辑阵列实现互连方式相比,NoC不仅在速度上有了巨大的提升,而且NoC还能够在不消耗任何FPGA可编程资源的情况下传输大量的数据。内部NoC不仅提供了更高的带宽,Speedster7t系列FPGA中的智能连接机制还简化了将数据从NoC端口传输到逻辑阵列中的任务。
NoC有两个主要部分。NoC的外部设备部分负责PCIe Gen 5接口、内存控制器和核心FPGA逻辑阵列之间的数据传输。NoC的另一部分由在FPGA结构顶部运行的行和列组成。NoC提供双向的、256位宽的水平和垂直通道,这些通道在可编程集群之间运行。每个NoC行或列可以同时在相反方向上以512 Gbps的速率处理数据流。为了最大限度地利用基础架构及其在Speedster7t器件上快速分发数据的能力,NoC还直接连接到片上400G以太网控制器,并采用智能数据流分配策略,通过易于实现的256位宽接口,沿NoC通道将数据流划分为并行的可编程逻辑集群组。
为了实现400 Gbps的性能,设计人员可以使用一种称为数据包模式的全新处理模式,在这种模式下,传入以太网的数据流被重新排列(如图9所示)成四个较小的32字节的数据包。这些数据包在四条独立的256位总线上以506MHz的频率运行。这种模式的优点包括:当数据包结束时,浪费的字节更少;并且数据可以并行传输(前后相接),而不是必须等到在第一个数据包完成传输后才开始第二个数据包的传输。
对于运行在分组化数据上的典型网络应用,每个模块可以对其接收到的数据包报头进行分类和标记,并通过调用NoC接口的服务来连接片外GDDR6或DDR4存储器,将不需要进一步处理的工作负载卸载到外部存储器的缓冲区存储。对每个数据包的处理完成后,通过NoC引导来自外部和内部缓冲区的数据流,将必要的数据传送到相关的以太网出口端口。因此,许多操作并不需要调用FPGA逻辑阵列中的资源,并且可以充分利用NoC和以太网端口之间的直接连接。
图9:数据包模式(Packet Mode)下的数据总线重新排列
图10:使用数据包模式(Packet Mode)的400 Gbps以太网
通过NoC通道的数据分发也可以采用非数据包化的模式来完成,以支持目前在以太网上使用的、尽可能多样化的协议,例如5G系统中的eCPRI,并帮助设计人员避免在逻辑架构中不得已去创建超宽总线。
Speedster7t的架构师对存储接口的选择反映了以太网和NoC连接可提供的巨大容量。一种可能的方法是在一系列设计中采用即将推出的HBM2接口。尽管这样的接口可以提供所需的性能水平,但HBM2价格昂贵,这将迫使客户去等待必要的组件和集成技术的出现。
与此不同,Speedster7t系列则采用了GDDR6标准,该标准为当今片外存储器提供了最高的性能。Speedster7t FPGA是市场上首款支持该接口的器件,每个片上GDDR6内存控制器可维持512 Gbps的带宽。在单个AC7t1500器件中最多可带有8个GDDR6控制器,使总的内存带宽可达到4 Tbps。
除了以太网和存储控制器,Speedster7t FPGA上提供的对PCIe Gen 5的支持还能够与主机处理器紧密集成,以支持诸如sidecar智能网卡(SmartNIC)设计等高性能加速器应用。PCI Gen 5控制器使其能够读取和写入存储在FPGA内存层级结构中的数据,包括许多位于逻辑架构内的块RAM,以及连接到FPGA存储控制器的外部GDDR6和DDR4 SRAM设备。在FPGA逻辑阵列中实例化的数据传输控制器(例如DMA引擎),可以类似地通过PCIe Gen 5总线访问与主机处理器共享的内存,而无需消耗FPGA逻辑阵列内的任何资源即可实现这种高带宽连接,并且设计时间几乎为零。用户只需要启用PCIe和GDDR6接口,就可以通过NoC发送事务数据。
下面的图11展示了PCIe子系统与任何GDDR6或DDR4存储接口之间的直接连接。
图11:无需消耗FPGA逻辑阵列即可实现PCIe和GDDR6之间的数据传输
AC7t1500器件搭载了400G以太网通道用于物理层访问,该器件可提供多达32个高速SerDes通道,它们可用于需要数据速率高达112 Gbps的其他标准,并完全支持PAM4信令。这些SerDes通道支持器件间实现极短距离(XSR)和超短距离(USR)通道,事实证明这些通道对一系列通信系统都非常重要。SerDes实现方式的灵活性加上对各种以太网速度的支持(因为已集成了一个可分解型控制器)为设计提供了现成可用的支持,这些设计将能够与任何规划的CPRI和eCPRI格式(用于5G前端传输设计)一起使用。
对于计算密集型任务,在Speedster7t FPGA上部署的Speedster7t机器学习处理器(MLP)是灵活的且可分解的算术单元。MLP是高密度乘法器阵列,带有支持多种数字格式的浮点和整数MAC模块。MLP带有集成的内存块,可以在不使用FPGA资源的情况下执行操作数和内存级联功能。MLP适用于一系列矩阵数学运算,从5G无线电控制器的波束成形计算到加速深度学习应用,诸如数据流模式和数据包内容分析。
图12:机器学习处理器原理框图
从5G网络的边缘到数据中心内部的交换机,通信和网络系统对芯片的功能带来了极大的压力,以支持其所需的计算能力和数据传输速率。传统的可编程逻辑为这些系统提供了灵活性和速率的最佳组合,但是近年来却因以太网等协议的速度提高到100G和400G而面临新挑战。Speedster7t架构通过采用创新的、多层级片上网络,使数据能够在器件周围轻松传输,而不影响FPGA的逻辑阵列,从而充分保障所有已集成在内的全球最先进的I / O接口,诸如400G以太网、GDDR6和PCI Gen 5,以支持充分发挥核心的可编程逻辑结构的潜在能力。
本文由Achronix半导体公司供稿
责编:Amy Guan