基于FPGA的 IPU路线图解析

可编程逻辑

1366人已加入

描述

大数据催生多元算力新计算架构,DPU 逢时而生,已成行业巨头和初创公司的必争之地。各家纷纷推出DPU相关解决方案,宣称可以降低数据中心税,助力数据中心更高效的应对多元化的算力需求。那么,DPU究竟是名不虚传还是徒有虚名?本文将走进英特尔实验室一探虚实。

DPU目前分为SoC(Arm与ASIC协同架构)、FPGA、ASIC三种主要技术形态。基于FPGA的DPU拥有最佳的灵活性,但吞吐量、功耗在一定程度上受到限制;随着带宽变高,基于ASIC的DPU需求将会增加;对于更复杂的、更广泛的用例,基于SoC的DPU拥有良好的性价比、易于编程且高度灵活性。

FPGA

2021 年 6 月,英特尔首次提出 IPU(基础设施处理单元) 的概念,并在“Intel Vision 2022”大会上公布了最新路线图,展示了IPU从2022年至2026年的整体规划。IPU是一种可编程的网络设备,旨在使云和通信服务提供商减少在CPU方面的开销,并可充分释放性能价值,由于其功能和应用场景与DPU有较大重合,也可以看作是DPU的一种尝试。  

FPGA

  从上图我们可以看到IPU的功能划分,左侧的Block design,Processor Complex and/or FPGA 提供软硬件可编程性,运行ISP/CSP的特定服务,Infrastructure Acceleration加速存储虚拟化、安全(加解密)、网路虚拟化等负载请求,Network提供高带宽的包处理、包分析等能力。    

英特尔IPU路线图

目前英特尔IPU有两个主要的产品线,其一是基于FPGA的解决方案,另一个是基于ASIC的解决方案。   英特尔第一个公开披露的IPU代号为 Big Springs Canyon。它基于 FPGA,具有 Xeon-D CPU 和以太网支持,提供硬件可编程数据路径。Big Springs Canyon 的继任者称为 Oak Springs Canyon,它基于英特尔的 Agilex FPGA和 Xeon-D SoC,可为开放式虚拟交换机 (OVS) 等工作负载和 NVMe over Fabric 等存储功能提供网络虚拟化功能卸载。  

FPGA

  英特尔的第二个IPU代号为 Mount Evans,是英特尔首个ASIC IPU,与Google Cloud合作开发,目前针对高端和超大规模数据中心服务器。Mount Evans可提供可编程数据包处理引擎,支持防火墙和虚拟路由等用例,可利用高性能 Intel Quick Assist 技术部署高级加密和压缩加速。预计将于 2022 年开始向谷歌和其他服务提供商发货,预计在 2023 年进行广泛部署。  

FPGA

Intel Mount Evans Vision 2022 top3   英特尔规划的IPU路线图如下:

2022年:推出200 Gbps IPU,代号为Mount Evans和Oak Springs Canyon。

2023/2024年:推出 400 Gbps IPU,代号为Mount Morgan和Hot Springs Canyon。

2025/2026 : 推出800 Gbps IPU。

FPGA

  下面我们一起看下英特尔首个FPGA IPU——Big Spring Canyon 的现场演示。  

Big Spring Canyon IPU现场演示

本次演示是在英特尔实验室中搭建的,所用的IPU 位于2U Supermicro Ultra服务器机架上。  

FPGA

  演示所用的卡同时搭载了英特尔Stratix 10 FPGA和英特尔 Xeon D-1612。  

FPGA

  下面我们将散热器组件拆除,可以看到中间的Stratix 10 FPGA和右侧的Xeon D-1612处理器,它们都有自己的内存和本地存储,Xeon D运行的是自己的操作系统。  

FPGA

  Stratix 10 FPGA 对 PCIe 和以太网 IP 进行了强化,它可以在FPGA上运行数据包处理器、virtio、NVMeoF等功能。Xeon D 通过此卡上的 FPGA 进行连接。

FPGA

Intel BSC IPU示例路径   接下来展示的是NVMeoF 演示,其中BSC IPU正在处理系统的RDMA NVMeoF,并由Xeon D SoC 管理。这里卸载了整个堆栈,因此主机服务器认为它正在与正常的NVMe设备进行交互,而IPU实际上是通过网络直接进行远程存储,将 NVMe 块设备模拟到系统。

FPGA

Intel BSC IPU存储和RDMA卸载   将散热器拆除后,卡的背面如下图所示。  

FPGA

  登录Xeon D-1612,我们可以看到一个16GB的内存系统,有4个内核和8个线程。此外,还连接了存储和 FPGA。  

FPGA

 Intel BSC IPU Lshw   以下是从Xeon D SoC 查看的 IPU 拓扑结构:  

FPGA

 Intel BSC IPU Xeon D 1612 Lstopo   下图是Xeon D的lscpu输出。  

FPGA

BSC IPU Xeon D 1612 Lscpu Output   接下来,演示正式开始。第一步启动VirtIO和初始化卡,该过程使用脚本自动执行。我们将 IPU 安装在 2U Supermicro Ultra服务器机架中,这些服务器既是 IPU 主机,也是 NVMeoF 目标系统。  

FPGA

  在存储方面,总共在目标系统中安装了 8 个 1.6TB 的英特尔 P4610 SSD。  

FPGA

Intel IPU Intel DC P4610 SSD   FPGA可以通过添加新功能来更改数据路径,需要对其进行编程,可直接通过英特尔Xeon D 处理器执行此操作。 完成上述步骤后,我们就可以在主机服务器上查找SSD,主机系统的驱动器看起来与目标服务器上的驱动器完全相同。主机服务器认为它具有标准的 NVMe 设备,但不知道这些设备是通过使用NVMeoF和IPU的100GbE fabric交付的。  

FPGA

Intel BSC IPU通过RDMA NVMeoF连接到目标,驱动器安装在主机上   目标服务器位于图中上方的两个终端上,六个驱动器通过 IPU 连接,iostat显示在右侧。左下角是IPU的Xeon D-1612,右下角为主机服务器,具有8个 Intel P4610 1.6TB NVMe SSD。IPU的 Stratix 10 FPGA 连接到目标服务器,并将 NVMeoF 驱动器作为标准 NVMe 块设备呈现给主机。   现在我们已经在系统上安装了这些驱动器,下面开始运行。  

性能表现

下图左边是fio测试,右边是iostat监视器,左下为IPU卡上的Xeon D,右下是目标服务器上的iostat。  

FPGA

  首先,我们运行一个4K随机读取脚本,在1.2M到1.4M的4K随机读IOPS范围内,可以在右侧看到iostat数据。接下来运行一个顺序读取测试,在5.5-6GB/s的范围。  

FPGA

  写入IOPS在1.3-1.4M的范围内。  

FPGA

  再次在 5.5-6GB/s 范围内进行顺序写入。  

FPGA

  在iostats上,CPU利用率非常低,顺序操作CPU利用率在3%的范围内,随机操作CPU利用率在10%的范围内。此外,这里还包括了fio流量生成、以太网和NVMeoF的开销。   总的来说,这是一个不错的数据表现。   除了本次演示的内容外,还有更多 FPGA 逻辑区域可用于添加更多服务。对于云提供商来说,可以添加一个IPU跳过本地NVMe存储和高速NIC。使用此解决方案,可以将存储透明地交付给裸机或虚拟机。这使得基础架构提供商可以从集中池动态地将存储分配给每个客户端,而无需使用平台向第三方公开基础架构的内部工作。  

FPGA

FPGA还可用于通过在数据路径中运行加密和压缩来保护和减少传输的数据。这有助于保护传输中的数据,并减少传输的数据量,从而进一步降低网络压力。  

结  语

英特尔IPU具有Xeon D CPU,允许基础设施提供商将IPU作为基础设施端点进行管理,然后通过FPGA提供选择性服务。FPGA提供了很大的灵活性,可以向客户端系统和用户呈现不同类型的设备。相同的FPGA和Xeon D控制平面让基础设施提供商可以用更简单的方法来管理复杂的基础设施。  

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分