基于 DCU-RDMA 的容器化基带数据透传方法
2026-05-09 15:13:00 来源: 作者:liunanfang
摘要:传统的透传方法在基带数据传输中存在软件路径长、虚拟化开销大以及专用硬件适配度差等问题,无法满足 5G基站基带数据的传输要求。
摘 要 :传统的透传方法在基带数据传输中存在软件路径长、虚拟化开销大以及专用硬件适配度差等问题,无法满足 5G基站基带数据的传输要求。基于此,本文提出了一种基带专用计算单元(DCU)—远程直接内存访问(RDMA)的容器化基带数据透传方法,采用 PCIe SR-IOV 实现容器与 DCU 和 RDMA 硬件的直通访问,并采用 RDMA 零拷贝传输路径进行基带数据流转的优化处理,构建了 DCU 和 RDMA 的协同调度机制,并通过 QoS 保障基带数据传输的实时性。该方式能够有效降低端到端的容器网络延时,降低 CPU 占用率,并支持容器化部署的动态调度,有效满足 ePCRI 协议下的基带数据透传需求。
关键词 :基带数据透传 ;DCU ;RDMA ;容器化 ;SR-IOV ;零拷贝
引言
随着 5G 技术的应用,基站基带数据传输面临带宽需求激增、延时约束严苛等问题。DCU 是基带处理的专用加速单元,具有并行计算能力和基带协议硬件加速功能,可以有效提升基带数据的传输效率 ;RDMA 技术能够通过内核旁路和零拷贝方式降低数据传输中的延时 ;容器化技术能够通过资源隔离和快速部署方式更好地满足基站的云需求。但是,将三种技术进行融合时,存在以下问题 :容器默认无法直接访问 DCU/RDMA 硬件,虚拟化中间层引入额外开销 ;基带数据的实时性需求与容器网络的动态性存在冲突 ;DCU 与 RDMA 的内存访问未协同,导致数据在设备间拷贝次数增加。本文针对上述问题,设计了基于 DCU-RDMA 的容器化基带数据透传方法,旨在实现容器化环境下基带数据的高效透传。
1 DCU、RDMA 以及容器化技术概述
DCU 是指面向基站基带处理的加速硬件,能够支持 CPRI/eCPRI 帧解析、IQ 数据滤波等基带协议的加速,并具有独立的设备内存和 PCIe 4.0 接口,可以直接参与主机内存、RDMA 网卡的互交,支持实时任务调度,适配基带数据的低抖动需求。RDMA 技术是一种通过零拷贝和内核旁路降低信息传输延时的技术,能够通过 verbs 接口实现用户直接访问网库的 API,并通过注册内存方式提前向 RDMA 网卡进行内存域的注册,实现硬件的直接访问,避免访问过程中出现数据拷贝情况。同时可以采用 UD 模式来降低延时, 适配基带数据的流传输特性。容器技术是通过 Linux namespace 和cgroup 实现资源的隔离和限制,但是容器网络存在传统桥接或者 overlay 网络转发延时较高问题,同时存在无法直接访问物理硬件,需要通过设备映射或者虚拟化技术适配的情况 [1]。
2 基于 DCU-RDMA 的容器化基带数据透传方法设计
2.1 整体架构设计
本次研究采用了硬件层 + 中间层 + 应用层的设计方式进行基于 DCU-RDMA 的容器化基带数据透传方法设计。硬件层由 DCU、RDMA 网卡和主机内存组成,并通过 PCIe 4.0 总线互联,实现硬件之间的数据交互 ;中间层由 DCU 设备驱动、RDMA Verbs 驱动、容器硬件直通模块、透传控制模块组成,实现硬件资源管理和数据传输调度工作 ;应用层则部署 BBU 基带处理应用、 RRU 数据采集应用等容器化基带应用,通过中间层提供的接口直接进行 DCU 和 RDMA 等硬件的调用,实现基带数据的透传 [2]。
2.2 容器与 DCU/RDMA 的硬件直通设计
本次研究采用了单根 I/O 虚拟化(PCIe SR-IOV)技术实现容器与 DCU/RDMA 硬件的直通。首先需要对DCU 和 RDMA 网卡进行物理功能的配置,启用 SR-IOV功能并创建虚拟功能(VF),本文为 RDMA 网卡创建了4 个 VF,为 DCU 创建了 2 个 VF,同时为每个 VF 配置了独立的 PCIe 资源。其次, 采用 lspc 命令进行 VF 状态的验证,确保每个 VF 均处于可分配状态。在容积设备绑定过程中, 采用 Kubernetes Device Plugin 机制进行 DCU/RDMA VF 的管理插件开发,实现 VF 的动态发现和动态分配 ;容器创建时,通过 kubectl appl 配置resourceRequests 方式进行所需 VF 的制定,并通过插件将 VF 绑定到容器的 PID namespace 实现硬件独占访问 ;容器内采用 ibv_devinfo 命令进行 RDMA VF 的识别, 通过 dcu_open() 等 DCU 驱动接 口进行 DCU VF 的访问。该方案借助 SR-IOV 实现了硬件资源物理隔离和直接访问,消除了虚拟化中间层开销,使 DCU/ RDMA 硬件访问延迟降至原生硬件的 95% 以下。
2.3 基于 RDMA 的基带数据透传路径优化设计
本次研究充分考虑了穿透透传路径设计中存在的多拷贝问题,设计了一套容器内应用→ RDMA/DCY 硬件→远端硬件的零拷贝透传路径。内存布局上,采用容器内申请与基带数据帧长度相匹配的 RDMA 注册内存方式,并通过环形缓冲内存方式进行连续帧数据的存储 ;通过 ibv_reg_mr 函数将内存域数据注册到 RDMA 网卡中,获取内存密钥 ;通过 DCU 驱动将内存的物理地址告知 DCU,实现 DCU 和容器对同一内存区域的共享和访问。基带数据透传过程中,发射端通过 DCU 采用 RRU 进行基带数据的采集,直接存储到共享的 RDMA注册内存中 ;容器内基带则通过调用 RDMA verbs 接口的 ibv_post_send 向远端的 RDMA 网卡发送数据 ; RDMA 网卡不需要主机 CPU 进行干预,直接读取注册内存中的数据信息,通过 PCIe 总线进行数据的发送。接收端的远端 RDMA 网卡接收到数据后,直接将数据写入本地容器的 RDMA 注册内存中, DCU 通过硬件中断感知数据,不需要进行数据信息的拷贝,直接从注册内存中读取相关数据进行基带处理。该方式能够有效实现基带数据的零拷贝传输,有效降低基带数据透传过程中的延迟 [3]。
2.4 DCU 与 RDMA 的协同调度机制设计
为了避免基带数据透传过程中 DCU 处理与 RDMA传输存在时序冲突,本次研究基于中断与信号量的协同调度策略进行 DCU 与 RDMA 的协同调度机制设计。内存访问同步方面,将共享内存区域划分为空闲区、DCU处理区、RDMA 传输区,通过信号量管理区域状态, DCU 仅可写入空闲区, RDMA 仅可读取 DCU 处理区,避免数据竞争。同时, DCU 处理完一帧数据后,通过硬件中断通知 RDMA 网卡数据就绪, RDMA 网卡立即启动传输, 无需 CPU 轮询。任务优先级调度上, 在 DCU驱动中配置实时调度算法,将基带数据处理任务优先级设为最高,确保 DCU 优先处理透传数据不被其他任务抢占 ;通过 ibv_modify_qp 将 RDMA QP 配置为高优先级队列并设置流量类别,使 RDMA 网卡优先调度该 QP传输任务,保障基带数据传输时延。该协同调度机制能够使 DCU 处理与 RDMA 传输的并行度提升,将数据在设备间迁移时间缩短至 5μs 以内。
2.5 容器化环境下的 Qos 保障设计
本次研究充分结合基带数据的实时性需求,分别从带宽保障、时延控制和抖动控制三个方面进行 Qos 机制的设计。首先,在带宽保障方面,基于 Linux Traffic Control, 通过 tc qdisc add 命令, 为承载基带数据的RDMA 流创建 HTB 队列并配置带宽限制,确保基带数据独占带宽,不受其他容器流量干扰,同时,在 RDMA网卡端启用带宽整形功能,限制非基带 QP 最大传输速率,避免带宽抢占。其次, 在时延控制方面,配置 RDMA QP为 UD 模式,减少 RC 模式握手开销,使传输时延降至10μs 以内,且优化 RDMA 网卡中断聚合参数,将中断间隔设为 1μs,避免中断延迟导致帧堆积。最后,在抖动控制方面,容器内采用帧间隔控制,基带应用按固定周期向 RDMA 提交传输请求,避免数据突发,接收端 DCU采用帧缓冲对齐策略,将接收帧按时间戳排序并通过环形缓冲区平滑抖动,确保帧处理间隔波动小于 5μs[4]。
3 实验验证与结果分析
对本文所述的基于 DCU-RDMA 的容器化基带数据透传方法进行实验分析。实验中,主机硬件为 2 台 Intel Xeon Gold 6330、128G DDR4、PCIe 4.0 插 槽 的 X86 服务器;DCU 采用 GDDR616GB、支持 eCPRI 协议解析、SR- IOV VF 数量为 2 的基带加速卡;RDMA 网卡为 25Gbps 端口、 支持 SR-IOV、VF 数 量 为 8 的 Mellanox ConnectX-7网卡;软件环境为 Kubernetes 1.26, Docker 24.0, RDMA驱动 MLNX_OFED 5.8, DCU 驱动 V2.1 ;基带数据模拟工具为自定义 eCPRI 帧生成器,支持帧速率 1000 帧 /s ~ 10000 帧 /s, 帧长度 512~2048 字节 ;测试工具为 ibv_ ud_pingpong(RDMA 时延测试)、iperf3(带宽测试)、 tcpdump(帧分析)。
对本文所述的基于 DCU-RDMA 透传方法与传统容器网络 + 软件 TCP 传输、容器 RDMA 网络 + 无 DCU协同透传方法进行对比,测试指标包括端到端延迟、吞吐量、CPU 占用率以及抖动等指标。三种方法端到端延迟对比如表 1 所示。结果表明,本文所述透传方法能够通过 SR-IOV 硬件直通方式消除虚拟化开销,并通过零拷贝路径和 DCU-RDMA 协同方式减少数据迁移的时间,有效降低了端对端传输的延迟,不仅能够满足eCPRI 协议的时延要求,还显著优于其他两种透传方法。三种透传方法吞吐量与 CPU 占用率比较如表 2 所示。结果表明,本文所述方法的吞吐量基本接近链路线速,且CPU 占用率较低,显著优于其他两种方法,这是因为RDMA 的零拷贝传输与 DCU 的硬件加速能够有效降低对 CPU 的干预 ;在 25Gbps 链路,帧长度为 1024 字节场景下,本文所述方式的抖动为 8.3μs,显著低于容器RDMA 网络 + 无 DCU 协同方法的 22.7μs 和传统容器网络 + 软件 TCP 传输方法的 45.2μs, 这是因为本文采用的 Qos 基质能够有效进行帧传输波动的抑制,能够更好地满足基带数据传输的低抖动需求 [5]。

4 结语
综上所述, 本文提出的基于 DCU-RDMA 的容器化基带数据透传方法通过 SR-IOV 硬件直通、RDMA 零拷贝路径、DCU-RDMA 协同调度及 QoS 保障,满足容器化环境下基带数据透传的低时延、高带宽、高可靠需求。实验表明,该方法端到端延迟小于 55μs,吞吐量达线速, CPU 占用率小于 5%,可满足 5G 基站的基带传输需求。
参考文献
[1] 彭冬乔,王建新,苏攀.基于FPGA的数据透传方法在Small Cell中的应用[J].电子设计工程,2016(1):159-161.
[2] 中国电子科技集团公司第三十研究所.一种基于服务的窄带通信网络数据透明传输方法及其系统:CN202011143786.4[P]. 2022-02-08.
[3] 张大海,魏强,杨益新.基于短脉冲信号设计的导流罩模型宽带透声性能测试方法[J].舰船科学技术,2015(4):79-83.
[4] 中国电子科技集团公司第三十研究所.一种基于服务的窄带通信网络数据透明传输方法及其系统:CN202011143786.4[P]. 2021-01-29.
[5] 陈明生.宽带消色差超透镜设计及优化方法研究[D].合肥:安徽大学,2024.