前言
本文件为规范类指导性技术文件
本文件按照 GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由全国智能计算标准化工作组(SAC/SWG 32)归口。
本文件起草单位:中国信息通信研究院、之江实验室、天翼云科技有限公司、中移(苏州)软件技术有限公司、深圳云豹智能股份有限公司、中国电信集团有限公司、北京九章云极科技股份有限公司、中科驭数(北京)科技有限公司、天府绛溪实验室、珠海星云智联科技有限公司、上海曦智科技股份有限公司、中电信数智科技有限公司、上海市数字证书认证中心有限公司、超越科技股份有限公司、上海燧原科技股份有限公司、北京万界智算科技有限公司、益思芯科技(上海)有限公司、无锡沐创集成电路设计有限公司、郑州大学、中移(杭州)信息技术有限公司、北京云之印科技有限公司、中国联合网络通信有限公司软件研究院、中兴通讯股份有限公司、浪潮(北京)电子信息产业有限公司、合一智芯科技(北京)有限公司、翼华科技(北京)股份有限公司、成都北中网芯科技有限公司、南京航空航天大学、京东科技信息技术有限公司、高颂数科(厦门)智能技术有限公司、芜湖楚睿智能科技有限公司
本文件主要起草人:张乾、黄伟、李振廷、王骏成、孙孟军、周兰、邹明、王忠新、洪坤贤、孙健峰、崔娜妮、张峰、盖平、吴怀谷、任银垠、张宇、杨晶、于英杰、于山山、梅敬青、李响、王成、郭维锋、李桧、于哲、许伟栋刘文斌、陈永祥、邸绍岩、王旭、毛聪、吴孝鹏、张政、陈珂、张怀、韩冬、孙鹏展、林建兴
1 范围
本文件规定了数据处理单元(DPU)应用于智能计算集群的技术要求,包括功能要求、适配要求、应用要求,描述了相应的测试方法。
本文件适用于数据处理单元的研制,以及在服务器、智能计算集群的部署、应用和管理,为用户选型或产品测试提供参考。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 46572 智能计算 术语
3 术语和定义
GB/T 46572界定的以及下列术语和定义适用于本文件。
3.1 数据处理单元 data processing unit
围绕数据处理提供网络、存储、安全、管理控制等基础设施层服务的专用处理单元。
注:通常以独立板卡形态存在,部署在服务器内部。
3.2 卸载 offload
将计算任务由原环境搬迁至目标环境中计算的过程。
3.3 智能计算集群 intelligent computing cluster
由多台服务器、网络设备、存储设备及 DPU 等组成,具备大规模数据处理和智能算法执行能力的分布式计算系统。
4 缩略语
下列缩略语适用于本文件。
BIOS:基本输入输出系统(Basic Input Output System)
BMC:板级管理控制器(Baseboard Management Controller)
CNI:容器网络接口(Container Network Interface)
CPU:中央处理单元(Central Processing Unit)
CT:连接跟踪(Connection Tracking)
DDR:双倍数据速率(Double Data Rate)
DPDK:数据平面开发套件(Data Plane Development Kit)
DPU :数据处理单元(Data Processing Unit)
ECC: :错误检查和纠正(Error Checking and Correcting)
ECN: :显式拥塞通知(Explicit Congestion Notification)
FLR:功能级复位(Function Level Reset)
GDR:GPU 直接远程内存访问(GPU Direct RDMA)
GDS:GPU 直接存储访问(GPU Direct Storage)
GPU :图形处理单元(Graphics Processing Unit)
I/O:输入/输出(Input/Output)
IOPS:每秒输入输出操作次数(Input/Output Operations Per Second)
IP:互联网协议(Internet Protocol)
IPMI:智能平台管理接口(Intelligent Platform Management Interface)
KVM:基于内核的虚拟机(Kernel-based Virtual Machine)
LACP :链路聚合控制协议(Link Aggregation Control Protocol)
MAC:媒体访问控制(Media Access Control)
MPI:消息传递接口(Message Passing Interface)
MTU:最大传输单元(Maximum Transmission Unit)
NVMe: :非易失性内存接口规范(Non-Volatile Memory Express)
NVMe-oF:基于交换式网络架构的非易失性存储接口规范(Non-Volatile Memory Express over Fabrics)
PCIe:外设组件互连高速(Peripheral Component Interconnect Express)
PCR:平台配置寄存器(Platform Configuration Register)
PF:物理功能(Physical Function)
PXE:预启动执行环境(Preboot Execution Environment)
QoS: 服务质量(Quality of Service)
RDMA:远程直接内存访问(Remote Direct Memory Access)
RoCEv2:基于融合以太网的第二代远程直接内存访问协议(RDMA over Converged Ethernet ver
sion 2)
ROM:只读存储器(Read-Only Memory)
SDK:软件开发工具包(Software Development Kit)
SPDK:存储性能开发套件(Storage Performance Development Kit)
SSD:固态硬盘(Solid State Drive)
T CCP: :传输控制协议(Transmission Control Protocol)
TLS: :传输层安全协议(Transport Layer Security)
TPM :可信平台模块(Trusted Platform Module)
UEFI :统一可扩展固件接口(Unified Extensible Firmware Interface)
VF: :虚拟功能(Virtual Function)
Virtio: :虚拟I/O(Virtual Input/Output)
VM :虚拟机(Virtual Machine)
5 通则
DPU 作为智能计算集群的关键部件,承担数据包处理、流量控制、存储管理、安全控制等任务,是实现计算资源优化配置的核心单元。DPU 以标准板卡形式安装于服务器内部,在智能计算集群中,通过交换设备实现多节点互联,应用架构如图1所示。DPU 在智能计算集群的应用考虑以下内容:
a) DPU 应用时应满足其网络、存储、安全与管理控制等一项或多项基本功能;
b) DPU 在服务器内集成应满足硬件设计、软件接口、运维管理、可靠性与安全性等一项或多项要求;
c) DPU 在智能计算集群应用时应满足集群网络、资源调度管理、云平台、典型应用加速等一项或多项要求。

6 数据处理单元功能要求
6.1 网络
DPU 应用在网络场景时,应具备以下能力中的一种或多种:
a) 传统网络协议(underlay)卸载:支持对传统网络协议的硬件卸载与转发能力;
b) 覆盖网络协议(overlay)卸载:支持对覆盖网络协议的硬件封装、解封装及转发能力;
c) 基于流表的安全组策略:支持基于流表的安全组策略,可精确管理单个或多个实例的服务权限;
d) 精确匹配模式和基于硬件流表的报文操作:支持对报文特定字段进行精确匹配,并根据流表动作执行相应操作;
e) 通配符匹配模式的支持和基于软件流表的报文操作:支持对报文特定字段进行通配符匹配,并根据流表动作执行相应操作;
f) 报文统计:支持基于流、端口等不同颗粒度的报文数量与字节数统计;
g) 流表老化和 CT 老化:支持为流表项和 CT 表项配置可设定的老化时间,超时后自动删除;
h) RoCEv2协议支持:支持 RoCEv2协议的硬件封装、解封装与 RDMA 传输;
i) 拥塞控制:支持拥塞控制算法及其他可编程算法;
j) 网络数据平面可编程性:支持通过可编程框架对网络数据平面进行编程;
k) 网络设备虚拟化:支持作为 Virtio-net后端,为虚拟机提供网络设备虚拟化;
l) 选择性重传功能:支持选择性重传机制,在丢包时仅重传丢失的数据包。
6.2 存储
DPU 应用在存储场景时,应具备以下能力中的一种或多种:
a) 直接挂接 NVMe SSD:支持通过其管理的 PCIe链路正确枚举并访问直连的 NVMe SSD设备;
b) NVMe-oF技术访问远端存储系统:支持加速访问多种远端存储目标,包括块存储、文件存储及对象存储等;
c) 弹性云盘热插拔:支持在虚拟机运行状态下,动态为其挂载或卸载由 DPU 提供的虚拟块设备;
d) 弹性云盘扩缩容:支持在虚拟机运行状态下,对已挂载的虚拟块设备进行在线容量扩展,且虚拟机操作系统可感知并利用新容量;
e) 单设备多队列可配置,队列深度可配置:为虚拟或物理块设备提供可配置数量的硬件队列,且每个队列的深度可调;
f) 存储设备虚拟化:支持作为虚拟输入输出块设备 Virtio的后端,为虚拟机提供块设备虚拟化。
6.3 安全
DPU 应用在安全场景时,应具备以下能力中的一种或多种:
a) 硬件信任根:支持基于硬件信任根对自身固件及主机启动组件进行完整性验证,构建可信链;
b) 可信基线数据:能为管理平台提供用于白名单校验的固件基线数据,并支持对该基线数据进行生命周期管理与按需更新;
c) 硬件隔离:支持为不同虚拟实例(包括虚拟机、容器、裸金属实例等)分配的 VF间实现网络与存储流量的硬件级隔离。
6.4 管理控制
DPU 应用在管理控制场景时,应具备以下能力中的一种或多种:
a) PF/VF设备资源的创建和删除:支持通过管理接口创建和删除 PF/VF设备资源;
b) 查看和修改网络设备 MTU:支持查看和修改网络设备的 MTU 值;
c) 修改网络设备队列个数:支持配置网络设备的硬件队列数量;
d) 修改网络设备队列深度:支持配置网络设备的队列深度;
e) 修改块设备队列个数:支持配置块设备的硬件队列数量;
f) 修改块设备队列深度:支持配置块设备的队列深度;
g) 流量限速:支持基于流的计量器限速、每秒传输的报文数量(Packets Per Second,PPS)/每秒传输的比特数(Bits Per Second,BPS)限速及 QoS策略;
h) 并发连接限速:支持对并发连接数进行限速;
i) DPU 服务监控:支持对 DPU 服务的运行状态进行监控。
7 数据处理单元适配要求
7.1 硬件设计
DPU 与服务器应用适配时,其硬件设计应满足以下一项或多项要求:
a) PCIe接口兼容性:兼容 PCIe 4.0、PCIe 5.0或以上接口规格;
b) 串口重定向:支持通过 BMC接口实现串口重定向功能;
c) DPU 上/下电与复位:支持通过服务器 BMC对 DPU 进行上电、下电及独立复位操作;
d) PCIe拓扑弹性管理:支持通过软件配置其管理的 PCIe拓扑中的端口数量。
7.2 软件接口
DPU 与服务器应用适配时,其软件接口应满足以下一项或多项要求:
a) 带外管理接口:DPU 支持通过标准的带外管理通道被服务器管理控制器访问与控制;
b) 开发套件接口支持:兼容 DPDK、SPDK 等开发套件,并提供标准化编程接口;
c) 端口管理:支持通过标准接口查看与配置端口的 MTU、链路状态及统计信息,并支持与主备模式(bonding mode 1)、负载均衡-基于 XOR 哈希模式(mode 2)和链路聚合控制协议模式(mode 4)协同工作;
d) 可编程框架支持:提供 DPU SDK 等可编程框架,并支持集成开发环境调试工具链;
e) DPU 算力扩展框架支持:
1) 支持跨节点全域内存访问,通过互联扩展接口访问芯片的寻址空间;
2) 支持基于标准高速以太网的多 DPU 互联协同池化,支持资源物理/虚拟映射与云化管理接口;
3) 支持配套池化部署的软件栈。
7.3 运维管理
DPU 与服务器应用适配时,其运维与管理应满足以下一项或多项要求:
a) IPMI带外管理:支持IPMI带外管理接口或等效带外管理接口;
b) PXE装机:支持作为 PXE启动设备,通过网络对 DPU 进行装机;
c) 热迁移:支持虚拟机热迁移过程中的网络状态同步或快速重建;
d) DPU 硬件状态监控:支持对电压、温度、芯片状态、资源负载率等硬件状态进行监控并上报;
e) DPU 配置复位:支持通过管理接口将 DPU 的软件配置恢复至出厂默认状态,且该操作不应影响 DPU 固件版本;
f) 基准带宽保证:在拥塞条件下,为受保障的实体提供不低于承诺值的带宽;
g) 最高带宽限制:为实体设置带宽上限,确保其实际带宽不超过该限值;
h) 基准IOPS保证:在拥塞条件下,为受保障的实体提供不低于承诺值的IOPS;
i) 最高IOPS限制:为实体设置IOPS上限,确保其实际IOPS不超过该限值;
j) 共享带宽分配:支持按预设权重在共享组内的多个实体间分配总带宽;
k) 共享IOPS分配:支持按预设权重在共享组内的多个实体间分配总IOPS;
l) DPU 功耗设定及管理:支持服务器在独立供电时设置 DPU 功耗上限并进行功率管理,支持单位算力能效比的实时监测与上报。
7.4 可靠性与安全性
7.4.1 硬件可靠性与安全性
DPU 与服务器应用适配时,其硬件可靠性与安全性,应满足以下要求中的一种或多种:
a) 配置 DDR ECC:配置 DDR内存的 ECC纠错功能;
b) 单个 PCIe端点异常区分类型处理:能区分并处理不同类型的 PCIe端点错误;
c) FLR机制恢复异常:支持通过功能级复位机制从异常中恢复;
d) 不可恢复异常自动触发节点隔离:发生不可恢复异常时能自动触发节点隔离。
7.4.2 软件系统可靠性与安全性
DPU 与服务器应用适配时,其软件系统可靠性与安全性,应满足以下要求中的一种或多种:
a) 软件异常退出自动重启并恢复业务:DPU 关键软件组件异常退出后能自动重启并恢复业务;
b) 软件升级不中断业务:支持业务不中断的 DPU 软件升级;
c) 服务器与 DPU 间管理数据传输加密:服务器与 DPU 间的管理通道传输进行加密
8 数据处理单元应用要求
8.1 集群网络
DPU 应用在智能计算集群网络场景时,应满足以下一项或多项要求:
a) 集群网络拓扑感知:DPU 具备对智能计算集群网络拓扑的感知能力,支持适配包括但不限于胖树 (Fat-Tree) 、环形(Ring)等典型拓扑结构,并能根据拓扑特征优化流量转发路径;
b) 横向扩展:DPU 提供高速以太网横向扩展接口,支持跨节点的全域内存访问、可编程中断通知机制及协同调度能力。
8.2 资源调度管理
DPU 应用在智能计算集群管理平台场景时,应满足以下一项或多项要求:
a) 资源统一调度:DPU 提供可被智能计算集群管理平台统一调度的接口与能力,涵盖网络带宽、存储I/O、算力卸载等;
b) 资源池化:DPU 支持智能计算集群资源池化机制,能根据智能计算任务的实际需求实现动态、按需的资源分配;
c) 监控能力:DPU 具备对外暴露关键运行指标的能力,包括但不限于 CPU 负载、内存占用、网络流量统计、I/O 时延等,并支持审计日志的集中采集、存储与分析;
d) 集群级运维:DPU 支持智能计算集群对其实施批量运维操作,并能与监控告警系统联动,以适配大规模部署场景下的高效运维需求。
8.3 云平台
DPU 应用在智能计算集群云平台场景时,应满足以下一项或多项要求:
a) Virtio设备适配:DPU 支持将其虚拟化的网络与块存储资源以标准 Virtio设备形式提供给虚拟实例,并被智能计算集群管理平台统一纳管、调度与生命周期管理;
b) KVM 虚拟化:平台支持 KVM 虚拟机,DPU 支持 TPM 设备,并内置具备虚拟机客户代理功能的轻量级代理工具,用于虚拟机状态上报与指令交互;
c) 虚拟机生命周期旁路监控:若平台支持 KVM 虚拟机,DPU 支持以旁路方式感知虚拟机的生命周期事件(如创建、启动、停止、销毁),并据此动态调度 DPU 相关资源;
d) 安全容器运行时支持:若平台集成容器编排系统,DPU 支持基于虚拟化的安全容器运行时,并提供容器间及容器与宿主机之间的强隔离能力;
e) CNI插件兼容:兼容容器网络插件,支持容器网络资源的动态分配与隔离。
8.4 典型应用加速
8.4.1 人工智能应用加速
DPU 应用在人工智能场景时,宜支持:
a) 全交换引擎(All-to-All Engine):支持集合通信卸载,包括但不限于全交换(All-to-All)、全归约(AllReduce)、归约散射(ReduceScatter)等原语;
b) GDR:支持 GDR,实现网络接口直接读写 GPU 内存,不必经过主机 CPU/主存;
c) GDS: 支持 GDS,实现 GPU 直接访问 NVMe SSD数据。
8.4.2 其他计算应用加速
DPU 应用在其他计算应用加速场景时,宜支持:
a) MPI通信与 RoCEv2协议硬件加速:DPU 支持 MPI通信语义的硬件卸载,并实现 RoCEv2 及以上版本协议的硬件加速;
b) 大数据框架I/O 卸载与缓存加速:DPU 支持主流大数据分布式存储与计算框架的I/O 路径卸载与数据缓存加速功能,能优化数据分片的读取、传输与聚合过程,降低主机 CPU 占用率;
c) 通用计算任务硬件卸载:DPU 支持对加密/解密、数据压缩/解压缩等通用计算密集型任务的硬件卸载,并提供可配置的卸载策略(如按任务类型、优先级或资源配额),以适配不同智能计算任务。
9 数据处理单元测试
9.1 功能要求测试
9.1.1 网络功能要求测试
9.1.1.1 传统网络协议卸载测试
传统网络协议卸载测试的步骤和预期结果见表1。
9.1.1.2 覆盖网络协议卸载测试
覆盖网络协议卸载测试的步骤和预期结果见表2。
| 测试项目 | 覆盖网络协议卸载测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等,选择其中2台服务器,一台作为被测设备,另一台作为数据发送端(测试环境示例见附录A) |
| 测试步骤 | 1)在数据发送端配置测试工具,向被测设备发送基于虚拟可扩展局域网封装的传输控制协议流量;2)在被测设备侧使用抓包工具捕获内层传输控制协议报文,验证虚拟可扩展局域网解封装功能是否正常;3)监控被测设备的CPU占用率,并记录传输控制协议流量的吞吐量、延迟; 4)关闭覆盖网络协议卸载功能,重复步骤1~步骤3,对比性能差异 |
| 预期结果 | 1)内层传输控制协议连接建立成功,数据传输正常,无丢包;2)开启卸载功能时,CPU占用率降低,且吞吐量满足设计指标; 3)硬件流表规则命中计数与发送报文数匹配,验证卸载路径生效 |
9.1.1.3 基于流表的安全组策略测试
基于流表的安全组策略测试的步骤和预期结果见表3。
| 测试项目 | 基于流表的安全组策略测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别作为数据发送端和数据接收端;2) 2个PF的入向和出向安全组策略配置协议和IP全放通;3)在数据发送端向接收端持续发送报文;4)配置接收端PF安全组入向规则拒绝发送端发送的协议类型和IP地址 |
| 预期结果 | 1)安全组策略配置协议和IP全放通,接收端能收到发送端的报文;2)接收端PF安全组入向规则拒绝发送端发送的协议类型和IP地址后,接收端不能收到发送端的报文 |
9.1.1.4 精确匹配模式和基于硬件流表的报文操作测试
精确匹配模式和基于硬件流表的报文操作测试的步骤和预期结果见表4。
| 测试项目 | 精确匹配模式和基于硬件流表的报文操作测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端;2)下发流表,流表索引不做掩码,并为流表设定相应动作;3)在数据发送端发送符合索引的数据报文1;4)在数据发送端发送不符合索引的数据报文2;5)在数据接收端抓包 |
| 预期结果 | 1)数据报文1根据流表对应动作进行操作;2)数据报文2未根据流表对应动作进行操作 |
9.1.1.5 通配符匹配模式和基于软件流表的报文操作测试
通配符匹配模式和基于软件流表的报文操作测试的步骤和预期结果见表5
| 测试项目 | 通配符匹配模式和基于软件流表的报文操作测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端;2)下发流表,流表索引做部分掩码,并为流表设定相应动作;3)在数据发送端发送符合索引的数据报文1;4)在数据发送端发送符合索引的数据报文2,并在数据报文1的基础上调整掩码范围内的报文内容;5)在数据发送端发送符合索引的数据报文3,并在数据报文1的基础上调整掩码范围外的报文内容;6)在数据接收端抓包 |
| 预期结果 | 1)数据报文1根据流表对应动作进行操作;2)数据报文2根据流表对应动作进行操作;3)数据报文3未根据流表对应动作进行操作 |
9.1.1.6 报文统计测试
报文统计测试的步骤和预期结果见表6。
| 测试项目 | 报文统计测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端;2)数据发送端向数据接收端发送定向定量为N的同一网络报文;3)在数据接收端抓包;4)根据颗粒度查看报文统计个数 |
| 预期结果 | 报文统计个数为N。其中,首包触发流表创建并被正常接收,其余N-1个报文匹配流表快速转发,所有报文均被接收端正确接收并统计 |
9.1.1.7 流表老化和 CT老化测试
流表老化和 CT 老化测试的步骤和预期结果见表7。
| 测试项目 | 流表老化和CT老化测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端;2)确定宣称的老化时间T(如可设置,则设置老化时间为T);3)数据发送端向数据接收端持续发送同一网络报文;4)查看DPU硬件流表,有预期结果1; 5)停止数据发送端向数据接收端发送报文,时间大于T;6)查看DPU硬件流表,有预期结果2 |
| 预期结果 | 1)可查看到对应硬件流表;2)可查看到对应硬件流表被删除 |
9.1.1.8 RoCEv2协议支持测试
RoCEv2协议支持测试的步骤和预期结果见表8。
| 测试项目 | RoCEv2协议支持测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等,选择其中2台服务器,一台作为被测设备,另一台作为数据发送端(测试环境示例见附录A) |
| 测试步骤 | 1)数据发送端向被测设备发送网络报文;2)对被测设备进行抓包并分析 |
| 预期结果 | 1)报文正常转发;2)被测设备抓取的报文格式为RoCEv2相应格式 |
9.1.1.9 拥塞控制测试
拥塞控制测试的步骤和预期结果见表9。
| 测试项目 | 拥塞控制测试 |
| 预置条件 | 1)部署智能计算集群,选择其中一台配置待测DPU(被测设备),其中两台作为数据发送端,所有服务器均安装对应驱动等(测试环境示例见附录A);2)在数据发送端和被测设备间部署交换机,确保数据发送端与被测设备网络连通 |
| 测试步骤 | 1)交换机开启ECN功能; 2)多台数据发送端同时持续向被测设备发送网络报文,且交换机入口带宽大于交换机出口带宽;3)被测设备进行抓包并分析 |
| 预期结果 | 1)被测设备抓到的报文携带ECN信号则为类数据中心量化拥塞通知机制; 2)被测设备抓到的报文携带往返时间信号则为类基于往返时间的延迟驱动拥塞控制机制 |
9.1.1.10 网络数据平面可编程性测试
网络数据平面可编程性测试的步骤和预期结果见表10。
| 测试项目 | 网络数据平面可编程性测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端;2)编写一个包含自定义解析器、匹配表和基于匹配-动作(Match-Action)要素的可编程数据面逻辑;3)使用DPU配套工具链将程序编译为目标格式,并通过控制平面加载到DPU数据面流水线; 4)数据发送端向数据接收端发送不符合匹配表的测试流量,观察数据接收端行为1;5)数据发送端向数据接收端发送符合匹配表的测试流量,观察数据接收端行为2 |
| 预期结果 | 1) DPU成功加载自定义解析与匹配-动作逻辑; 2)行为1报文被丢弃;3)行为2报文被正确解析、匹配和执行操作 |
9.1.1.11 网络设备虚拟化测试
网络设备虚拟化测试的步骤和预期结果见表11。
| 测试项目 | 网络设备虚拟化测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡、对应驱动及虚拟化平台(如KVM)等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器通过虚拟化平台为VM添加Virtio-net设备; 2)启动VM并通过lspci命令验证设备识别; 3)验证基础网络连通性 |
| 预期结果 | DPU能作为Virtio-net后端 |
9.1.1.12 选择性重传测试
选择性重传测试的步骤和预期结果见表12。
| 测试项目 | 选择性重传测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等,选择其中2台服务器,一台作为被测设备,另一台作为数据发送端(测试环境示例见附录A);2)在数据发送端和被测设备间部署交换机,确保数据发送端与被测设备网络连通 |
| 测试步骤 | 1)交换机关闭模拟丢包功能;2)流量发送端持续向被测设备发送网络报文,流量为M;3)记录被测设备带宽,记录为BW0;4)交换机开启模拟丢包功能;5)数据发送端持续向被测设备发送网络报文,流量为M;6)记录被测设备带宽,记录为BW1 |
| 预期结果 | BW1相对BW0下降小于5% |
9.1.2 存储功能要求测试
9.1.2.1 直接挂接 NVMe SSD磁盘测试
直接挂接 NVMe SSD磁盘测试的步骤和预期结果见表13。
9.1.2.2 NVMe-oF技术访问远端存储系统测试
NVMe-oF技术访问远端存储系统测试的步骤和预期结果见表14。
9.1.2.3 弹性云盘热插拔测试
弹性云盘热插拔测试的步骤和预期结果见表15。
9.1.2.4 弹性云盘扩缩容测试
弹性云盘扩缩容测试的步骤和预期结果见表16。
| 测试项目 | 弹性云盘扩缩容测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)已创建一个运行中的VM,并挂载了一块由DPU提供的云盘 |
| 测试步骤 | 1)选择其中1台服务器创建VM;2)按热插拔流程挂载/dev/vdb,格式化为ext4/xfs,挂载一个初始云盘; 3)在VM内记录原始大小;4)通过厂商接口在DPU后端扩容云盘; 5)扩展文件系统;6)验证新容量可用 |
| 预期结果 | 1)扩容后VM能感知新容量;2)文件系统成功扩展;3)可写入超过原容量的数据;4)无元数据损坏或I/O错误 |
9.1.2.5 单设备多队列可配置,队列深度可配置测试
单设备多队列可配置,队列深度可配置测试的步骤和预期结果见表17。
| 测试项目 | 单设备多队列可配置,队列深度可配置测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) DPU已暴露一个块设备(如本地NVMe或NVMe-oF设备) |
| 测试步骤 | 1)选择其中1台服务器在主机侧连接NVMe-oF或扫描本地NVMe,识别设备; 2)使用"nvme id-ctrl"查看控制器能力,验证多队列支持; 3)启动多线程I/O,绑定到不同CPU核,观察是否使用多个硬件队列,执行多队列I/O测试 |
| 预期结果 | 1) DPU暴露的块设备支持多硬件队列; 2)用户可通过标准或厂商接口显式配置队列数与深度;3)配置后系统正确识别,I/O可并行分发至多个队列 |
9.1.2.6 存储设备虚拟化测试
存储设备虚拟化测试的步骤和预期结果见表18。
| 测试项目 | 存储设备虚拟化测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)部署KVM虚拟化平台并创建虚拟机 |
| 测试步骤 | 1)配置DPU作为虚拟输入输出块设备Virtio后端; 2)虚拟机挂载DPU提供的虚拟块设备; 3)对虚拟块设备执行读写、扩容等操作;4)监控主机CPU占用率及I/O性能 |
| 预期结果 | 1)虚拟机正常识别虚拟块设备;2) I/O操作性能稳定,主机CPU占用率低; 3)操作过程无数据丢失或错误 |
9.1.3 安全功能要求测试
9.1.3.1 硬件信任根测试
9.1.3.1.1 不可篡改测试
硬件信任根不可篡改测试的步骤和预期结果见表19。
9.1.3.1.2 完整性验证测试
硬件信任根完整性验证测试的步骤和预期结果见表20。
9.1.3.2 可信基线数据测试
可信基线数据测试的步骤和预期结果见表21。
| 测试项目 | 可信基线数据测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等,安装支持远程证明/基线管理的虚拟化平台(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器通过硬件管理协议从DPU获取基线数据; 2)验证哈希是否匹配原始固件;3)验证PCR是否可由启动日志复现; 4)将基线作为认证策略注入策略引擎;5)使用基线中指定的固件版本启动DPU; 6)虚拟化平台执行准入检查 |
| 预期结果 | 1)基线数据不可伪造,且与实际运行组件一致;23)) V平M台成接功受创该建基并线使作用为合DP法U白资名源单条目; |
9.1.3.3 硬件隔离测试
硬件隔离测试的步骤和预期结果见表22。
| 测试项目 | 硬件隔离测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)在其中一台服务器上创建两个VM,记为VM1和VM2,并为每个VM直通同一个DPU的VF |
| 测试步骤 | 1)在VM1和VM2分别向同一个外部服务器打流;2)在VM1中抓取数据包,尝试捕获VM的流量 |
| 预期结果 | 1)各自带宽正常,互不影响;2) VM1抓不到VM2的任何数据包;3) VM成功创建并使用DPU资源 |
9.1.4 管理控制要求测试
9.1.4.1 PF/VF设备资源的创建和删除测试
PF/VF设备资源的创建和删除测试的步骤和预期结果见表23。
| 测试项目 | PF/VF设备资源的创建和删除测试 |
| 预置条件 | 部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A) |
| 测试步骤 | 1)选择其中1台服务器创建实例;2)启动实例 |
| 预期结果 | 创建成功,并能正常进入系统 |
9.1.4.2 查看和修改网络设备 MTU测试
查看和修改网络设备 MTU 测试的步骤和预期结果见表24。
| 测试项目 | 查看和修改网络设备MTU测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)成功创建实例 |
| 测试步骤 | 1)选择其中1台服务器查看MTU,有预期结果1; 2)修改MTU值为MTU1; 3)查看MTU,有预期结果2 |
| 预期结果 | 1)得到MTU值; 2)得到MTU值为MTU1 |
9.1.4.3 修改网络设备队列个数测试
修改网络设备队列个数测试的步骤和预期结果见表25。
| 测试项目 | 修改网络设备队列个数测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)成功创建实例 |
| 测试步骤 | 1)选择其中1台服务器查看网络设备队列个数,有预期结果1;2)修改网络设备队列个数,值为队列个数1;3)查看网络设备队列个数,有预期结果2 |
| 预期结果 | 1)得到队列个数值;2)得到队列个数值为队列个数1 |
9.1.4.4 修改网络设备队列深度测试
修改网络设备队列深度测试的步骤和预期结果见表26。
| 测试项目 | 修改网络设备队列深度测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)成功创建实例 |
| 测试步骤 | 1)选择1台服务器,执行查询操作,获取并记录当前网络设备队列深度,有预期结果1;2)修改该服务器的网络设备队列深度,将值修改为"队列深度1";3)再次执行查询操作,查看该服务器的网络设备队列深度,有预期结果2 |
| 预期结果 | 1)得到队列深度值;2)得到队列深度值为"队列深度1" |
9.1.4.5 修改块设备队列个数测试
修改块设备队列个数测试的步骤和预期结果见表27。
| 测试项目 | 修改块设备队列个数测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)成功创建实例 |
| 测试步骤 | 1)选择其中1台服务器查看块设备队列个数,有预期结果1;2)修改块设备队列个数,值为队列个数1;3)查看块设备队列个数,有预期结果2 |
| 预期结果 | 1)得到队列个数值;2)得到队列个数值为"队列个数1" |
9.1.4.6 修改块设备队列深度测试
修改块设备队列深度测试的步骤和预期结果见表28。
| 测试项目 | 修改块设备队列深度测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)成功创建实例 |
| 测试步骤 | 1)选择其中1台服务器查看块设备队列深度,有预期结果1;2)修改块设备队列深度,值为队列深度1;3)查看块设备队列深度,有预期结果2 |
| 预期结果 | 1)得到队列深度值;2)得到队列深度值为"队列深度1" |
9.1.4.7 流量限速测试
流量限速测试的步骤和预期结果见表29。
| 测试项目 | 流量限速测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端 |
| 测试步骤 | 1)在DPU上配置限速规则,将流量限速为N; 2)数据发送端向数据接收端持续发送流量超N的网络报文;3)数据接收端根据颗粒度通过测试工具测试流量 |
| 预期结果 | 数据接收端对应颗粒度的报文流量与流量N一致,精度误差在5%以内 |
9.1.4.8 并发连接限速测试
并发连接限速测试的步骤和预期结果见表30。
| 测试项目 | 并发连接限速测试 |
| 预置条件 | 1)部署1台服务器,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端 |
| 测试步骤 | 1)在DPU上配置并发连接限速规则,限速值为X; 2)数据发送端向数据接收端发送并发连接速率超过X的网络报文;3)确认数据接收端并发连接速度 |
| 预期结果 | 数据接收端并发连接速度与X一致,精度误差在5%以内 |
9.1.4.9 DPU服务监控测试
DPU 服务监控测试的步骤和预期结果见表31。
| 测试项目 | DPU服务监控测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) DPU监控端点可访问 |
| 测试步骤 | 1)选择其中1台服务器,访问本地文件;2)通过服务网格访问DPU的指标端点; 3)查询DPU监控结果输出 |
| 预期结果 | 对DPU服务运行状态有监控能力 |
9.2 适配要求测试
9.2.1 硬件设计要求测试
9.2.1.1 PCIe接口兼容性测试
PCIe接口兼容性测试的步骤和预期结果见表32。
| 测试项目 | PCIe接口兼容性测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)操作系统正常可用,用户有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器,将DPU插入服务器的PCIe槽; 2)执行"lspci-vv-s"命令; 3)查看输出芯片LnkCap和LnkSta字段 |
| 预期结果 | 1) DPU能正常枚举; 2)链路速率协商为16 GT/s则为4.0,若协商速率为32 GT/s则为5.0 |
9.2.1.2 串口重定向测试
串口重定向测试的步骤和预期结果见表33。
| 测试项目 | 串口重定向测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,BMC网络配置完成,具备管理权限 |
| 测试步骤 | 1)通过BMC配置DPU串口重定向功能; 2)从BMC远程访问DPU串口; 3)执行DPU相关操作,验证串口输出与交互功能 |
| 预期结果 | 1)串口重定向配置成功;2)远程可通过BMC访问DPU串口,交互正常 |
9.2.1.3 DPU上/下电与复位测试
DPU 上/下电与复位测试的步骤和预期结果见表34。
| 测试项目 | DPU上/下电与复位测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,BMC网络配置完成,具有管理权限 |
| 测试步骤 | 1)通过IPMI或其他硬件管理协议查询当前DPU电源状态; 2)通过BMC发送DPU下电指令; 3)验证DPU是否成功下电; 4)通过BMC发送DPU上电指令; 5)验证DPU是否成功上电 |
| 预期结果 | 1) BMC能成功发送DPU上/下电指令; 2) DPU在下电后不再响应主机访问,上电后能重新初始化并被系统识别; 3) BMC能准确报告DPU当前电源状态; 4)整个过程不必重启主机或断开主电源 |
9.2.1.4 PCIe拓扑弹性管理测试
PCIe拓扑弹性管理测试的步骤和预期结果见表35。
| 测试项目 | PCIe拓扑弹性管理测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)操作系统正常可用,用户有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器,获取初始PCIe拓扑,记录DPU管理接口中当前启用的端口列表; 2)配置减少PCIe端口数量; 3)确认端口是否被移除;4)配置恢复或增加端口数量;5)确认端口是否恢复 |
| 预期结果 | 1)能通过软件/固件接口成功启用或禁用指定PCIe端口; 2)操作系统PCIe枚举结果与配置一致; 3)禁用端口后,其下游设备不可见且不可访问;4)启用端口后,设备可重新识别并正常工作 |
9.2.2 软件接口要求测试
9.2.2.1 带外管理接口测试
带外管理接口测试的步骤和预期结果见表36。
| 测试项目 | 带外管理接口测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,服务器管理控制器与DPU带外通道连通 |
| 测试步骤 | 1)通过标准带外管理通道访问DPU; 2)执行DPU状态查询、配置修改等操作; 3)验证操作执行结果与反馈 |
| 预期结果 | 1)带外管理通道通信正常;2)能通过通道成功执行DPU管理操作 |
9.2.2.2 开发套件接口支持测试
开发套件接口支持测试的步骤和预期结果见表37。
| 测试项目 | 开发套件接口支持测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) DPDK、SPDK开发环境已部署,用户有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器,通过查看DPU信息进行驱动识别DPDK/SPDK与绑定; 2)编译并运行标准DPDK/SPDK示例; 3)编写示例代码验证标准接口使用 |
| 预期结果 | 1) DPU设备可被DPDK/SPDK自动识别为标准设备类型; 2)开发者使用示例代码和标准接口即可驱动DPU |
9.2.2.3 端口管理测试
端口管理测试的步骤和预期结果见表38。
9.2.2.4 可编程框架支持测试
可编程框架支持测试的步骤和预期结果见表39。
| 测试项目 | 可编程框架支持测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) DPU厂商提供的SDK、工具链已安装 |
| 测试步骤 | 1)选择其中1台服务器创建2个PF,分别对应数据发送端和数据接收端;2)编写DPU用户态或内核态程序(如转发/修改特定字段/丢弃); 3)使用DPU SDK提供的交叉编译工具链编译该程序,生成可在DPU上运行的可执行文件或内核模块;4)将编译产物加载到DPU(通过PCIe、共享内存或远程加载机制),启动程序; 5)数据发送端发送测试流量;6)观察DPU是否按预期处理(如转发/修改特定字段/丢弃) |
| 预期结果 | DPU按预期处理 |
9.2.2.5 DPU算力扩展框架测试
DPU 算力扩展框架测试的步骤和预期结果见表40。
| 测试项目 | DPU算力扩展框架测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)可编程互联协议支持已启用 |
| 测试步骤 | 1)选择其中1台服务器编写一个自定义协议,在DPU或交换机上部署该协议; 2)发送自定义报文并在接收DPU上确认协议被正确解析; 3)开发协同应用并部署到两个DPU,启动任务并验证结果正确性 |
| 预期结果 | 1)自定义协议能被硬件/固件识别并触发DPU算力单元处理; 2)任务成功分发至2个DPU,并通过示例测试 |
9.2.3 运维管理要求测试
9.2.3.1 IPMI带外管理测试
IPMI带外管理测试的步骤和预期结果见表41。
| 测试项目 | IPMI带外管理测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) IPMI管理接口已配置 |
| 测试步骤 | 1)选择其中1台服务器通过IPMI配置管理网段; 2)通过IPMI远程重启DPU |
| 预期结果 | 1)提供独立或集成的IPMI管理接口; 2)支持IPMI 2.0标准命令集 |
9.2.3.2 PXE装机测试
PXE装机测试的步骤和预期结果见表42。
| 测试项目 | PXE装机测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) PXE服务器已部署并配置 |
| 测试步骤 | 1)选择其中1台服务器,进入BIOS设置; 2)启用网络协议栈;3)将DPU网口加入启动顺序; 4)保存并重启;5)在PXE服务器上抓包; 6)系统从网络下载完整镜像并安装到本地磁盘或NVMe; 7)安装完成后自动重启并从硬盘启动 |
| 预期结果 | 1) DPU网口可作为PXE启动设备; 2)支持标准动态主机配置协议(DHCP)/简单文件传输协议(TFTP)引导流程; 3)能加载主流引导程序;4)可完成完整操作系统安装;5)提供明确的厂商文档说明 |
9.2.3.3 热迁移测试
热迁移测试的步骤和预期结果见表43。
| 测试项目 | 热迁移测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)虚拟化平台已部署,支持热迁移 |
| 测试步骤 | 1)选择其中1台服务器,创建2个VM节点,VM-A为源节点,VM-B为目标节点;2)在VM-A启动VM;3)启动持续业务负载;4)触发热迁移;5)监控迁移过程;6)验证迁移后状态 |
| 预期结果 | 1)迁移全程用时小于2 s业务不可用窗口(理想小于1 s);2)网络业务会话不中断,应用无感知;3)存储业务I/O无错误,数据一致性保障;4)迁移后VM继续使用DPU加速; 5)支持多次往返迁移(A→B→A) |
9.2.3.4 DPU硬件状态监控测试
DPU 硬件状态监控测试的步骤和预期结果见表44。
| 测试项目 | DPU硬件状态监控测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) DPU硬件状态监控功能已启用 |
| 测试步骤 | 选择其中1台服务器,查看DPU相关状态信息 |
| 预期结果 | 可以看到DPU硬件状态信息,包括但不限于电压、电流、芯片状态、资源负载率 |
9.2.3.5 DPU配置复位测试
DPU 配置复位测试的步骤和预期结果见表45。
| 测试项目 | DPU配置复位测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2) DPU已进行个性化软件配置 |
| 测试步骤 | 1)选择其中1台服务器,通过管理接口执行DPU配置复位操作; 2)复位后检查软件配置是否恢复至出厂默认状态;3)验证DPU固件版本是否保持不变; 4)测试DPU基础功能可用性 |
| 预期结果 | 1)软件配置成功恢复至出厂默认;23)) D固P件U版基本础无功变能化正;常可用 |
9.2.3.6 基准带宽保证测试
基准带宽保证测试的步骤和预期结果见表46。
| 测试项目 | 基准带宽保证测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器已创建2个虚拟机,分别配置不同的QoS策略 |
| 测试步骤 | 1)创建2个VM,VM-A对应关键业务,VM-B对应干扰业务;2)为VM-A配置最小带宽保障,VM-B无保障;3) VM-A启动带宽测试,VM-B同时发起满带宽攻击;4)在VM-A侧记录接收/发送速率,持续观测60 s以上,覆盖突发状态和稳态 |
| 预期结果 | 1)在拥塞条件下,受保障实体VM-A始终获得大于或等于承诺带宽;2) VM-B带宽=总带宽-VM-A带宽 |
9.2.3.7 最高带宽限制测试
最高带宽限制测试的步骤和预期结果见表47。
| 测试项目 | 最高带宽限制测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,创建1个虚拟机并挂载DPU提供的云盘 |
| 测试步骤 | 1)为云盘配置最大带宽;2)发起高负载读取;3)监控实际带宽,持续30 s以上 |
| 预期结果 | 被限速实体的实测带宽稳定在配置上限附近,精度误差在5%以内 |
9.2.3.8 基准IOPS保证测试
基准IOPS保证测试的步骤和预期结果见表48。
| 测试项目 | 基准IOPS保证测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,创建2个虚拟机,分别配置不同的QoS策略 |
| 测试步骤 | 1)为VM-A配置最小IOPS保障,VM-B无保障; 2) VM-A运行超过配置的IOPS负载I/O,VM-B同时发起满负荷I/O攻击; 3)在VM-A侧监测IOPS,持续观测60 s以上,覆盖突发和稳态 |
| 预期结果 | 1)在拥塞条件下,受保障实体VM-A始终获得大于或等于承诺IOPS; 2) VM-B的IOPS=总IOPS-VM-A的IOPS |
9.2.3.9 最高IOPS限制测试
最高IOPS限制测试的步骤和预期结果见表49。
| 测试项目 | 最高IOPS限制 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,创建1个虚拟机并挂载DPU提供的云盘 |
| 测试步骤 | 1)为云盘配置最高IOPS; 2)发起超额I/O读写;3)验监控实际IOPS,持续30 s以上 |
| 预期结果 | 被限速实体的实测IOPS稳定在配置上限附近,精度误差在5%以内 |
9.2.3.10 共享带宽分配测试
共享带宽分配测试的步骤和预期结果见表50。
| 测试项目 | 共享带宽分配测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,创建2个虚拟机并配置为共享组 |
| 测试步骤 | 1)将2个VM创建为一个共享组,并分别配置带宽权重;2)发起满带宽流量;3)监控2个VM的实际带宽,持续观测60 s以上,计算平均值 |
| 预期结果 | 1) VM-A和VM-B的带宽按配置权重分享;2)系统整体带宽利用率在95%~100% |
9.2.3.11 共享IOPS分配测试
共享IOPS分配测试的步骤和预期结果见表51。
| 测试项目 | 共享IOPS分配测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,创建2个虚拟机并配置为共享组 |
| 测试步骤 | 1)将2个VM创建为一个共享组,并分别配置IOPS权重; 2)发起满负荷I/O;3)监控2个VM的实际IOPS,持续观测60 s以上,计算平均值 |
| 预期结果 | 1) VM-A和VM-B的IOPS按配置权重分享IOPS; 2)系统整体IOPS利用率在95%~100% |
9.2.3.12 DPU功耗设定及管理测试
DPU 功耗设定及管理测试的步骤和预期结果见表52。
| 测试项目 | DPU功耗设定及管理测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)选择其中1台服务器,DPU支持独立供电,用户有管理员权限 |
| 测试步骤 | 1)关闭服务器主机电源,仅保留DPU独立供电; 2)通过BMC/IPMI或网络尝试访问DPU; 3)查询DPU当前功耗与功率能力,并设置DPU功耗上限; 4)在设置功耗上限后,启动DPU高负载任务; 5)持续监控实际功耗;6)恢复默认功耗并验证解除限制;7)重新运行高负载任务;8)验证功耗可恢复至正常水平 |
| 预期结果 | 1) DPU管理接口可访问,返回设备状态; 2)可查询当前实时功耗,可查询最大/最小可设功耗值;3)实际功耗稳定,相对设定值误差在5%以内;4) DPU未发生过热关机或功能异常; 5)性能与功耗恢复正常,无残留限制 |
9.2.4 可靠性与安全性要求测试
9.2.4.1 配置 DDR ECC测试
配置 DDR ECC测试的步骤和预期结果见表53。
| 测试项目 | 配置DDR ECC测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)用户具有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器,通过DPU驱动或厂商工具,查询厂商提供的内存状态; 2)启用错误注入模式;3) DPU访问该地址; 4)检查是否自动纠正且无系统崩溃 |
| 预期结果 | 1)内存状态查询返回ECC使能信息; 2)系统正常运行,无异常或DPU复位 |
9.2.4.2 单个PCIe端点异常区分类型处理测试
单个 PCIe端点异常区分类型处理测试的步骤和预期结果见表54。
| 测试项目 | 单个PCIe端点异常区分类型处理测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)系统支持PCIe高级错误报告功能 |
| 测试步骤 | 1)部署1台DPU服务器; 2)确认系统支持PCIe高级错误报告功能; 3)依次主动注入不同类型的PCIe错误,包括可纠正错误(Correctable Error)、非致命错误(Non-Fatal Error)、致命错误(Fatal Error) |
| 预期结果 | 分别返回相应日志,且整机和其他PCIe不受影响 |
9.2.4.3 FLR机制恢复异常测试
FLR机制恢复异常测试的步骤和预期结果见表55。
| 测试项目 | FLR机制恢复异常测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)用户具有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器,查看DPU的PCIe功能; 2)在驱动中注入故障;3)通过命令setpci触发FLR恢复; 4)恢复流量;5)查询各种配置信息,如MAC、IP |
| 预期结果 | 1)返回信息包含FLReset+或独立FLR功能; 2)显示DPU错误计数增长; 3)网络功能完全恢复,吞吐/延迟正常;4)不丢失配置和数据 |
9.2.4.4 不可恢复异常应自动触发节点隔离测试
不可恢复异常应自动触发节点隔离测试的步骤和预期结果见表56。
| 测试项目 | 不可恢复异常应自动触发节点隔离测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)集群管理平台已部署 |
| 测试步骤 | 1)模拟不可恢复异常;2)查询节点状态;3)客户端持续向DPU发送TCP流量; 4)在流量稳定时触发DPU故障; 5)观察客户端状态;6)检查日志 |
| 预期结果 | 1) DPU管理接口无响应; 2)节点被标记为不可用;3)客户端无感知断连;4)新节点在500 ms内开始接收/发送数据包;5)日志生成结构化告警 |
9.2.4.5 软件异常退出自动重启并恢复业务测试
软件异常退出自动重启并恢复业务测试的步骤和预期结果见表57。
| 测试项目 | 软件异常退出自动重启并恢复业务测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)用户具有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器查看DPU相关服务; 2)模拟用户态数据面应用崩溃;3)实时监控服务状态;4)在异常触发前,启动持续业务流量,并观察流量业务状态 |
| 预期结果 | 1)关键组件配置了自动重启策略;2)进程自动重启;3)流量业务快速恢复 |
9.2.4.6 软件升级不中断业务测试
软件升级不中断业务测试的步骤和预期结果见表58。
| 测试项目 | 软件升级不中断业务测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)用户具有管理员权限 |
| 测试步骤 | 1)选择其中1台服务器客户端持续向DPU发送流量; 2)用户态数据面程序热升级;3)检查新版本是否生效 |
| 预期结果 | 1)分析流量日志;2)中断事件在1 s以内恢复;3)新版本完成更新 |
9.2.4.7 服务器与 DPU间管理数据传输加密测试
服务器与 DPU 间管理数据传输加密测试的步骤和预期结果见表59。
| 测试项目 | 服务器与DPU间管理数据传输加密测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)管理通道加密功能已启用 |
| 测试步骤 | 1)选择其中1台服务器执行管理操作,并抓包分析;2)检查DPU是否要求客户端证书; 3)测试TLS配置,验证加密算法合规性 |
| 预期结果 | 1)无明文敏感信息(如密码、密钥、配置);2)服务器与DPU互相验证证书; 3)确认可启用加密套件 |
9.3 应用要求测试
9.3.1 集群网络测试
9.3.1.1 集群网络拓扑感知测试
集群网络拓扑感知测试的步骤和预期结果见表60。
| 测试项目 | 集群网络拓扑感知测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等,配置胖树、环形、线性等不同拓扑网络(测试环境示例见附录A);2)安装完成测试工具 |
| 测试步骤 | 1)在集群中分别构建胖树、环形等典型拓扑;2)配置DPU参与集群网络转发路径; 3)通过流量注入工具验证DPU能否识别并适配不同拓扑下的转发路径; 4)验证流量在跨节点、多跳场景下是否正确转发;5)模拟拓扑变更(节点上下线),验证DPU是否能自动更新转发表并保持通信 |
| 预期结果 | 1) DPU能准确识别并适配不同拓扑下的转发路径; 2)流量在跨节点、多跳场景下正确转发,无丢包、错发情况;3)拓扑变更后DPU能自动更新转发表,通信保持正常,无中断 |
9.3.1.2 横向扩展测试
横向扩展测试的步骤和预期结果见表61。
| 测试项目 | 横向扩展测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)安装完成测试工具 |
| 测试步骤 | 1)部署多节点多DPU协同场景; 2)构造跨节点数据访问任务,验证DPU高速以太网接口是否支持横向扩展; 3)验证跨节点内存访问与数据共享是否正确;4)验证可编程中断或通知机制在多DPU场景下是否可用; 5)逐步增加DPU数量,验证系统吞吐与并发能力的线性或准线性扩展特性 |
| 预期结果 | 1) DPU高速以太网接口支持横向扩展,连接稳定; 2)跨节点内存访问与数据共享准确无误,无数据丢失或错误;3)可编程中断或通知机制正常可用,响应及时;4)系统吞吐与并发能力随DPU数量增加呈现线性或准线性扩展 |
9.3.2 资源调度管理测试
9.3.2.1 资源统一调度测试
资源统一调度测试的步骤和预期结果见表62。
| 测试项目 | 资源统一调度测试 |
| 预置条件 | 1)部署含调度、监控、日志模块的集群管理平台;2)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 3)安装完成测试工具;4)准备网络密集型、I/O密集型、混合型模拟智能计算任务 |
| 测试步骤 | 1)在集群管理平台中注册DPU资源; 2)创建不同资源需求(网络带宽、存储I/O、算力卸载维度)的智能计算任务;3)验证平台是否能按任务需求调度对应DPU资源; 4)在任务运行过程中,调整任务资源需求,验证资源分配是否可动态调整 |
| 预期结果 | 1)平台能按任务资源需求精准调度DPU资源,调度逻辑符合要求; 2)任务运行过程中资源分配可动态调整,无资源冲突或中断 |
9.3.2.2 资源池化测试
资源池化测试的步骤和预期结果见表63。
| 测试项目 | 资源池化测试 |
| 预置条件 | 1)部署含调度模块的集群管理平台;2)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 3)准备多批次模拟智能计算任务 |
| 测试步骤 | 1)将多台服务器的DPU资源纳入集群管理平台同一资源池; 2)向平台提交多批次不同类型的智能计算任务;3)观察平台是否能跨节点为任务分配DPU资源; 4)待任务执行完成后,验证资源是否自动回收;5)重新提交任务,验证回收的资源能否正常再分配,是否存在资源泄露或冲突 |
| 预期结果 | 1)平台能跨节点为任务分配DPU资源,分配逻辑合理; 2)任务执行完成后资源自动回收,无残留;3)回收资源可正常再分配,无资源泄露或冲突 |
9.3.2.3 监控能力测试
监控能力测试的步骤和预期结果见表64。
| 测试项目 | 监控能力测试 |
| 预置条件 | 1)部署含监控、日志模块的集群管理平台;2)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 3)运行模拟智能计算任务(网络密集型或I/O密集型) |
| 测试步骤 | 1)在集群管理平台中启用DPU监控功能,配置指标采集频率; 2)运行模拟智能计算任务,持续采集DPU的CPU负载、内存占用、流量统计、I/O时延等关键指标;3)验证监控数据是否支持可视化展示与多条件查询;4)查看审计日志存储状态,验证是否集中存储;5)尝试查询历史审计日志,验证是否支持时间范围回溯与分析 |
| 预期结果 | 1)关键指标采集完整、实时,无缺失或异常;2)监控数据可视化展示清晰,查询功能正常;3)审计日志集中存储,无分散或丢失;4)历史审计日志可回溯,支持分析 |
9.3.2.4 集群级运维测试
集群级运维测试的步骤和预期结果见表65。
| 测试项目 | 集群级运维测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)部署含运维、监控模块的集群管理平台;3)配置监控告警规则 |
| 测试步骤 | 1)在平台中发起DPU批量配置(如统一设置功耗上限)、批量固件升级、批量重启操作; 2)观察运维操作执行状态,验证是否全部节点执行成功,有无执行失败或超时;3)在运维操作过程中,触发监控告警条件(如DPU温度阈值),验证告警是否与运维动作联动; 4)持续监控大规模DPU节点下平台的响应速度与稳定性,有无卡顿或崩溃 |
| 预期结果 | 1)批量运维操作全部执行成功,无失败或超时;2)监控告警与运维动作正常联动,告警及时准确;3)大规模节点下平台响应稳定,无卡顿或崩溃 |
9.3.3 云平台测试
9.3.3.1 Virtio设备适配测试
Virtio设备适配测试的步骤和预期结果见表66。
| 测试项目 | Virtio设备适配测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)部署支持Virtio设备管理的云平台 |
| 测试步骤 | 1)在云平台中注册DPU提供的网络、块、文件类Virtio设备资源; 2)验证平台是否能识别所有Virtio设备,设备信息是否缺失; 3)创建虚拟机或容器实例,将Virtio设备绑定至实例; 4)在实例中测试Virtio设备功能(如网络连通性、块存储读写); 5)销毁虚拟机或容器实例,验证Virtio设备是否自动释放,可重新分配 |
| 预期结果 | 1)平台完整识别Virtio设备,信息准确; 2) Virtio设备成功绑定至实例,无绑定失败; 3)实例中Virtio设备功能正常,无故障; 4) Virtio设备自动释放,可重新分配,无资源占用残留 |
9.3.3.2 KVM 虚拟化测试
KVM 虚拟化测试的步骤和预期结果见表67。
| 测试项目 | KVM虚拟化测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)部署支持KVM的虚拟化平台 |
| 测试步骤 | 1)在KVM平台中创建虚拟机,配置DPU关联的TPM设备; 2)启动虚拟机,验证TPM设备是否能被虚拟机识别并正常使用; 3)在虚拟机中安装并运行虚拟机客户机代理类工具,验证工具是否正常通信;4)执行虚拟机启动、停止、暂停、恢复操作,观察DPU资源分配是否同步; 5)迁移虚拟机至其他节点,验证DPU资源是否随虚拟机迁移自动重新绑定 |
| 预期结果 | 1) TPM设备被虚拟机识别,功能正常; 2)虚拟机客户机代理类工具正常运行,通信无中断;3) DPU资源随虚拟机生命周期同步调整,无分配异常; 4)虚拟机迁移后DPU资源重新绑定成功,功能正常 |
9.3.3.3 虚拟机生命周期旁路监控测试
虚拟机生命周期旁路监控测试的步骤和预期结果见表68。
| 测试项目 | 虚拟机生命周期旁路监控测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)部署支持KVM的虚拟化平台 |
| 测试步骤 | 1)在平台中开启虚拟机生命周期旁路监控功能,不侵入虚拟机内部;2)创建虚拟机,验证平台是否能实时监控到"创建"状态;3)启动虚拟机并运行业务,验证平台是否能监控到"运行"状态,且DPU资源自动分配; 4)暂停、恢复虚拟机,验证平台是否能准确监控状态变更;5)销毁虚拟机,验证平台是否能监控到"销毁"状态,且DPU资源自动回收 |
| 预期结果 | 1)平台实时监控到虚拟机创建状态,无延迟;2)平台监控到运行状态,DPU资源自动分配; 3)平台准确监控状态变更,无误判;4)平台监控到销毁状态,DPU资源自动回收 |
9.3.3.4 安全容器运行时测试
安全容器运行时测试的步骤和预期结果见表69。
| 测试项目 | 安全容器运行时测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)部署容器编排系统,启用安全容器运行时;3)准备容器化应用 |
| 测试步骤 | 1)在容器编排系统中配置DPU资源作为可调度资源; 2)部署依赖DPU网络/存储资源的容器化应用,验证应用是否能正常访问DPU资源; 3)测试容器间DPU资源隔离性(如网络带宽隔离、存储IO隔离); 4)运行性能测试工具,验证容器中DPU资源性能是否稳定; 5)执行容器扩缩容操作,验证DPU资源是否随容器实例数量动态分配与回收 |
| 预期结果 | 1)容器化应用正常访问DPU资源,无访问失败; 2)容器间DPU资源隔离性良好,无资源抢占; 3) DPU资源性能稳定,无波动或衰减; 4) DPU资源随容器扩缩容动态分配回收,无资源不足或浪费 |
9.3.3.5 CNI插件兼容测试
CNI插件兼容测试的步骤和预期结果见表70。
| 测试项目 | CNI插件兼容测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)操作系统正常可用,用户有管理员权限;3)安装完成测试软件 |
| 测试步骤 | 1)配置DPU与容器网络插件的协同参数; 2)创建部署容器应用,指定使用DPU网络资源; 3)验证容器网络连通性,同节点容器互ping、跨节点容器互ping; 4)测试容器网络资源动态分配,调整容器网络带宽,验证生效;5)检查CNI插件日志,确认与DPU协同无错误 |
| 预期结果 | 1) DPU与CNI插件兼容,无配置冲突或启动失败; 2)容器网络连通性正常,丢包率为0;3)网络资源动态分配生效,带宽调整误差≤5%;4) CNI插件日志无报错,协同流程正常 |
9.3.4 典型应用加速测试
9.3.4.1 人工智能应用加速测试
9.3.4.1.1 All-to-All Engine测试
All-to-All Engine测试的步骤和预期结果见表71。
9.3.4.1.2 GDR测试
GDR测试的步骤和预期结果见表72。
| 测试项目 | GDR测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)操作系统正常可用,用户有管理员权限;3)安装完成测试软件 |
| 测试步骤 | 1)构建GPU间跨节点RDMA通信测试环境,指定GDR模式,确认DPU已识别GPU内存地址空间;2)设置测试数据量为10GB,运行测试程序,通过测试工具监控数据传输路径;3)重复测试3次,记录每次传输的平均带宽、延迟及CPU I/O等待时间; 4)验证数据传输路径及性能指标 |
| 预期结果 | 1)数据直接从源GPU内存经DPU传输至目标GPU内存,无主存读写操作; 2)获得单链接带宽,CPU无明显数据拷贝开销 |
9.3.4.1.3 GDS测试
GDS测试的步骤和预期结果见表73。
| 测试项目 | GDS测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等(测试环境示例见附录A); 2)操作系统正常可用,用户有管理员权限;3)安装完成测试软件 |
| 测试步骤 | 1)在NVMe SSD中生成100GB随机测试数据,通过DPU配置工具将NVMe SSD与GPU直接映射,关闭CPU内存缓存; 2)编程开发测试程序,设置读取块大小为64MB~1GB,顺序读取模式;3)运行测试程序,通过性能测试工具监控数据传输路径;4)每个块大小配置下重复测试3次,记录读取吞吐量和延迟;5)验证零拷贝(zero-copy)功能及吞吐量指标 |
| 预期结果 | 1)无CPU/内存参与数据拷贝,实现zero-copy读取; 2)读取吞吐量接近NVMe SSD硬件极限,延迟稳定 |
9.3.4.2 其他计算应用加速测试
9.3.4.2.1 MPI通信与 RoCE协议硬件加速测试
MPI通信与 RoCE协议硬件加速测试的步骤和预期结果见表74。
9.3.4.2.2 大数据框架I/O卸载与缓存加速测试
大数据框架I/O 卸载与缓存加速测试的步骤和预期结果见表75
9.3.4.2.3 通用计算任务硬件卸载测试
通用计算任务硬件卸载测试的步骤和预期结果见表76
| 测试项目 | 通用计算任务硬件卸载测试 |
| 预置条件 | 1)部署智能计算集群,安装待测DPU卡及对应驱动等,支持国际通用对称加密算法或国密对称加密算法,支持压缩算法(测试环境示例见附录A)2)主机可调用DPU卸载接口; 3)安装测试工具,智能计算集群系统可监控CPU使用率; 4)准备标准测试数据集 |
| 测试步骤 | 1)使用测试工具对数据加密,压缩相同数据,记录CPU占用与耗时; 2)通过DPU接口启用对应硬件加速,重复上述操作; 3)分别配置"高吞吐"和"低延迟"卸载策略,运行小包高频加密与大块压缩任务;4)通过DPU管理工具确认任务由硬件处理,并记录CPU负载变化 |
| 预期结果 | 1)开启卸载后,CPU占用率降低,任务吞吐提升; 2)不同策略下性能表现符合预期;3) DPU能正确识别并处理卸载任务,主机无明显计算开销 |
附 录 A (资料性)测试环境示例
数据处理单元测试环境示例见图 A.1。













评论