0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DPU特征结构系列(二)一种DPU参考设计

中科驭数(北京)科技有限公司 2022-05-05 14:23 次阅读

为了满足“数据为中心”的设计理念,本节给出一个通用的DPU参考设计。目前DPU架构的演化比较快,DPU既可以呈现为一个被动设备作为CPU的协处理器,也可以作为一个主动设备,承接Hypervisor的一些功能。尤其是容器技术、虚拟化技术的广泛采用,DPU的角色已经不仅仅是一个协处理器,而是呈现出更多的HOST的特征,比如运行Hypervisor,做跨节点的资源整合,为裸金属和虚拟机提供虚拟网络,数据安全,热迁移等支撑。宏观来看,DPU架构至少可以分为以下几个核心组成部分:

poYBAGJzbASAIgqXAAq6Mgd8PGs685.png

图DPU架构参考设计

一、控制平面

负责管理、配置,通常由通用处理器核来实现。控制平台负责DPU设备运行管理,以及计算任务和计算资源的配置。运行管理通常包含设备的安全管理和实时监控两个主要功能。在安全管理方面支持支持如信任根、安全启动、安全固件升级以及基于身份验证的容器和应用的生命周期管理等。在设备实时监控方面,对DPU各子系统、数据平面中各处理核动态监测,实时观察设备是否可用、设备中流量是否正常,周期性生成报表,记录设备访问日志核配置修改日志。

计算任务和计算资源配置方面,根据计算任务实施配置数据平面中处理单元间的通路,以及各处理单元参数。根据资源利用情况实时进行任务调度以及在计算单元的映射和部署。同时DPU上层同时会支持多个虚拟机,控制平面在任务部署时还要进行虚拟设备的管理,考虑虚拟机间数据和资源隔离,记录运行状态协助虚拟机热迁移。最后,当DPU集成第三方计算平台,如GPUFPGA等,还需要参与部分卸载任务调度。

由于控制平面任务多样,灵活性要求较高,算力要求较低,通常由通用处理器核来实现,比如ARM、MIPS等核心。为便于用户统一管理和配置DPU设备,提供较好的可编程性,通常会运行标准Linux应用程序。并且控制平面与数据平面数据交互驱动程序需要进行深度优化,来提升控制平面与数据平面有效地交互,任务调度效率。

二、IO子系统

主要分为三个大类:

(1)系统IO,负责DPU和其他处理平台(如X86、ARM处理器、GPU、FPGA等)或高速外部设备(如SSD)的集成。系统IO通常传输数据量较大对带宽有着极高的要求,因此多基于PCIe来实现。系统IO接口分为两大类:EP(Endpoint)类和RC(Root Complex)类。

EP类接口负责将DPU作为从设备与X86、ARM等处理平台相连接。为了充分利用DPU上的内部资源,此类接口要支持强大的硬件设备虚拟化功能,比如SR-IOV和VirtIO。并且可以灵活地支持多种类型的设备,如NIC、Storage、Compute设备等。

RC类接口负责将DPU作为主设备与加速平台(如GPU、FPGA)或外设(SSD)相连接。通过此种方式将部分数据处理卸载到第三方加速平台GPU、FPGA中处理,通常数据量较大,需要支持较强的DMA方案。

(2)网络IO,负责DPU与高速网络相连接,主要是以太网或者FC为主。为了能应对急剧增加的网络带宽,DPU中通常辅以专门的网络协议处理核来加速网络包的处理。包括L2/L3/L4层的ARP/IP/TCP/UDP网络协议处理、RDMA、数据包交换协议、基本网络虚拟化协议等,可以实现100G以上的网络包线速处理。

(3)主存IO,负责缓存网络IO和系统IO输入输出数据,以及数据平面中间数据结果。也可作为共享内存,实现不同处理核之间的数据通信。目前主存IO主要包含DDR和HBM接口类型,两类接口,DDR可以提供比较大的存储容量,可以提供512GB以上的存储容量;HBM可以提供比较大的存储带宽,可以提供500GB/s以上的带宽。两种存储接口相结合可以满足不同存储容量和带宽的需求,但是需要精细的数据管理,这块也是DPU设计中比较有挑战的。

三、数据平面

主要负责高速数据通路的功能单元的集成,通常集成多个处理核。数据平面的功能主要分为五类:

1)高速数据包处理,主要对接收到的网络数据包进行如OvS(开放式虚拟交换机)解析、匹配和处理,以及RDMA远程数据传输加速等操作,和之前的网络处理器NP功能类似,但是在性能上有更高的要求,处理带宽线速要达到100G、200G甚至400G。同时,在进行有状态数据处理时也有着更高的要求,如TCP协议,要求硬件记录各连接信息,并能实现多连接间无缝切换。

2)虚拟化协议加速,支持SR-IOV、VirtIO和PV(Para-Virtualization)等虚拟化。支持网络虚拟化VxLAN、Geneve Overlay卸载和VTEP等协议卸载。

3)安全加密,在线IPSec和TLS加密加速,以及多种标准加解密算法和国密算法。并且对于安全算法的处理性能有较高的要求,要达到网络线速,从而不影响其它正在运行的加速操作。

4)流量压缩,对网络数据包,或者要存储的数据,进行实时地数据压缩/解压缩处理,压缩过程中还要完成地址的转换和重映射等操作。或者在线完成数据流变换处理,如面向多媒体流、CDN(内容分发网络)和4K/8K IP视频的“Packet Pacing”流量整形加速等。

5)其他算法加速。除了上述网络、安全协议外还要支持NVMe等存储协议,业务相关的处理卸载也呈增长趋势,如大数据分析SQL加速。

四、DPU设计的关键

数据平面是整个DPU设计的关键,也是DPU设计中最有挑战的模块。主要面临四个挑战:

1)数据中心的工作负载复杂多样,数据平面支持的处理核种类要足够多,不仅包括网络、存储、安全和虚拟化等基础设施服务,另外业务相关的处理也在加速向DPU平台卸载。

2)高并发性数据处理,数据中心承载的业务多且复杂,多虚拟机多种类业务并发要求数据平面集成足够数量的核心,规模要达到几百个核心规模。随着数据中心数据量的不断增加,对处理性能提出越来越多的挑战,DPU数据平面在处理核规模上要具有非常强的可扩展性。

3)复杂的片上互联系统,随着DPU数据平面处理核数量的增加,再加之高并发处理线程运行,同时还要兼顾好数据平面数据处理的灵活,这就要求处理核之间的数据交互既要灵活又要兼顾高带宽。处理核之间的数据互联,以及核间的数据一致性成为另一设计难题。

4)高效简易的编程方式,数据中心业务的复杂多变决定了DPU数据平台可编程性的硬性需求。一方面要兼顾计算效率,必须直观表达出并发处理任务,充分利用计算资源。另一方面要兼顾DPU的易用性,尽量采用高级语言进行编程,易于设计、开发和维护。

总之,DPU数据平面需要一种大规模敏捷异构的计算架构。这一部分的实现也处在“百家争鸣”的阶段,各家的实现方式差别较大,有基于通用处理器核的方式,有基于可编程门阵列FPGA的方式,也有基于异构众核的方式,还有待探索。

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

    关注

    0

    文章

    294

    浏览量

    23966
收藏 人收藏

    评论

    相关推荐

    明天线上见!DPU构建高性能云算力底座——DPU技术开放日最新议程公布!

    技术在不同行业中的应用解决方案有哪些?能带来怎样的业务效果? 3月29日本周五,中科驭数集结产品大咖及解决方案专家团,诚邀您参加以“DPU构建高性能云算力底座”为主题的线上DPU技术开放日! 他们将逐一与您分享中科驭数系列
    的头像 发表于 04-03 18:12 727次阅读

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    DPU计算框架 通过周多的时间翻阅这本书,基本上这本书是本比较全面的,面向架构的新手指导数据。它在书中详尽介绍了关于DPU在计算机架
    发表于 12-24 10:54

    《数据处理器:DPU编程入门》读书笔记

    首先感谢电子发烧友论坛提供的试读机会。 第周先阅读了DPU的技术发展背景,了解到DPU是结合了高性能及软件可编程的多核CPU、高性能网络接口,以及各种灵活和可编程的加速引擎。DPU
    发表于 12-21 10:47

    《数据处理器:DPU编程入门》+初步熟悉这本书的结构和主要内容

    。随着人们对云计算和大数据处理需求的增加,数据中心的计算负载也不断增加。传统的中央处理器(CPU)在处理这些工作负载时可能会遇到瓶颈,难以提供足够的性能和效率。DPU通过提供专门的硬件加速,可以
    发表于 12-08 18:03

    什么是DPU

    DPU则进行数据处理。” 什么是DPU? 数据处理器 基于行业标准,高性能及软件可编程的多核CPU 高性能网络接口 灵活、可编程的加速引擎 DPU有什么与众不同之处? DPU
    发表于 11-03 10:55

    解码 DPU 编程,投稿赢取好礼!

    十余位资深系统架构师历经数月编写而成,定位为 NVIDIA BlueField 系列 DPU 和 NVIDIA DOCA 开发环境
    的头像 发表于 11-01 20:25 229次阅读
    解码 <b class='flag-5'>DPU</b> 编程,投稿赢取好礼!

    【书籍评测活动NO.23】数据处理器:DPU编程入门

    ,包括 NVIDIA® BlueField® 系列 DPU结构通用化、功能多样化、应用广泛化和场景丰富化方面的前景展望,NVIDIA DOCA™ 软件开发环境配置,以及基于 NVIDIA
    发表于 10-24 15:21

    NVIDIA 发布首部 DPU 和 DOCA 编程入门书籍

    为使用NVIDIA® BlueField® 系列  DPU 和 NVIDIA DOCA™ 开发环境的开发者提供实用指南   北京时间 2023 年 10 月 17 日,NVIDIA 今日宣布
    发表于 10-18 11:34 220次阅读
    NVIDIA 发布首部 <b class='flag-5'>DPU</b> 和 DOCA 编程入门书籍

    【KV260视觉入门套件试用体验】部署DPU镜像并开发个图像识别程序

    ,它是YOLOv3系列模型的升级版本。YOLO(You Only Look Once)是一种实时目标检测算法,它可以实现端到端的实时目标检测,而无需复杂的前期处理和后期分析。 TF-YOLOv3.5
    发表于 09-18 14:15

    在不同应用场景下DPU不同的性能要求阐述

    DPU本质上是通过DPU卡上资源,解耦计算、控制、存储,利用CPU、GPU、FPGA加速器等异构处理单元,通过以智能卡为接口的网络实现高效的数据分发和调度。市面上流行的DPU产品基本上都实现了3类功能卸载,包括网络功能卸载、存储
    的头像 发表于 08-09 16:40 1675次阅读
    在不同应用场景下<b class='flag-5'>DPU</b>不同的性能要求阐述

    《揭秘 NVIDIA DPU &amp; DOCA》 第七讲上线!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎重磅推出! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 07-27 18:10 276次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 第七讲上线!

    《揭秘 NVIDIA DPU &amp; DOCA》 第六讲上线!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎重磅推出! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 07-20 18:15 312次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 第六讲上线!

    《揭秘 NVIDIA DPU &amp; DOCA》 第四讲上线!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎重磅推出! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 07-06 20:10 209次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 第四讲上线!

    《揭秘 NVIDIA DPU &amp; DOCA》 第二讲上线!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎重磅推出! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 06-16 11:45 347次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 第二讲上线!

    《揭秘 NVIDIA DPU &amp; DOCA》 开讲啦!

    由 NVIDIA 专家主讲的 《揭秘 NVIDIA DPU DOCA》 系列视频在知乎 重磅推出 ! 在总共八期的视频中,专家将带您深度了解 NVIDIA BlueField DPU 及其灵魂伴侣
    的头像 发表于 06-08 20:55 362次阅读
    《揭秘 NVIDIA <b class='flag-5'>DPU</b> &amp; DOCA》 开讲啦!