腾讯网平团队宣布开源了 UCL-MPComm 通信库,并将作为transport接入Mooncake TENT。该通信库针对AI Memory池化场景的数据传输需求进行了深度优化,能够实现数据中心内大规模计算节点间多种内存类型的高性能通信。
UCL-MPComm将作为一种传输引擎接入Mooncake TENT,实现零拷贝传输性能提升30%、非零拷贝传输性能最高提升5倍。UCL-MPComm底层基于自研UCL-Engine通信引擎,后续腾讯网平将持续开源更多基于UCL-Engine的高性能通信组件。

腾讯网平团队在UCL-MPComm中实现了一个独立于业务线程的全局通信引擎(Engine),并实现了以下三点:
- NUMA感知拓扑发现 初始化时先探测出整台机器的拓扑,明确每张网卡属于哪个NUMA。数据从哪个NUMA出发,就优先走本区的网卡,避免无谓的跨区绕路,从根源上消除”跨区总线”瓶颈。
- 多网卡动态负载均衡 不做静态平均分配,而是实时追踪每张网卡的负载,把数据块调度到当前最空闲的网卡——快卡多承担、慢卡少承担,不让慢卡拖累整体。两台机器建链时,按网卡速率让”快卡配快卡、慢卡配慢卡”,避免一快一慢互相拖累。得益于这些优化,UCL-MPComm能把原本被浪费的乡道、省道都利用起来。
- Two-Stage通信流水线 在实际业务中,上层框架临时分配的内存往往无法直接参与零拷贝RDMA传输。为此UCL-MPComm提供putCopy与getCopy接口,通过NUMA节点上的预建”中转仓”(一批一次性完成RDMA注册与host-pinned锁页、可反复复用的暂存槽),让CPU拷贝与分块RDMA相互重叠、流水推进,在非零拷贝场景下性能提升最高5倍。同时这些接口是同步阻塞语义,远端无感知,能够与另一端的零拷贝接口在协议层无缝互通。


一些性能测评结果如下:
