IT之家 12 月 21 日消息,在常见的 TCP / IP 协议、RoCE 协议之外,腾讯云正在自研一套全新的高性能传输协议 HARP。借助这套协议,数据中心内部可以轻松支持 10000 + 节点的大规模组网,以及微秒级“复活”故障网络,实现 0 断链。
HARP 是一个完全自研的数据中心高性能传输协议。在保证端到端数据报文可靠传输的同时,HARP 可以为上层应用提供高可用、高可扩展、高性能的网络传输服务。
市面上已经有各种各样的网络传输协议,腾讯云为什么从 0 到 1 开始自研新的传输协议呢?主要原因是,随着应用规模和需求的不断发展,数据中心网络的可靠性和性能面临着巨大的挑战,之前的协议渐渐无法满足现有业务的发展。
首先,可靠性上,数据中心内部的交换机不可避免地会出现亚健康状况,这种状况轻则使得业务的响应延时增加,重则导致业务超时断链。其次,性能上,带宽敏感型应用、时延敏感的应用与日俱增,而且数据中心应用的部署规模越来越大,集合通信场景下往往会产生大量的并发的数据传输,这对现有网络传输协议的可扩展性提出了更大的要求。
因此,腾讯需要重新设计一套新的传输协议,既能满足上层应用对于高可用网络传输的要求,又能提供高带宽、低时延的数据传输服务,还能保持在大规模部署下的网络性能。
HARP 主要有三高特性:
“高可用”:通过多路径并行传输及实时的链路检测,微秒级切换故障链路,使得网络发生故障时上层业务完全无感知,没有明显的性能抖动。
“高可扩展性”:通过共享连接的设计和协议本身的优化,使得大规模组网状况下依然维持着极低的硬件资源消耗,轻松支持 1w + 节点组网下节点间通信性能无明显下跌,大大优于传统 ROCE 网络的组网能力。
“高性能”:自研拥塞控制算法,对网络能力无明显依赖的前提下,实现各种负载时都能获得极高的传输带宽和稳定的时延(包括平均时延和长尾时延)。
技术上如何实现的
1、粒度可配置的共享连接,最大支持 10000 + 节点组网
为了满足多种业务环境的使用需求(裸金属,VM,CBS 等)和大规模组网要求,HARP 支持裸连接、VM 级共享、主机级共享等粒度的连接模式。通过共享连接,HARP 可以大幅减少连接数量,降低硬件实现的资源消耗,实现高度的可扩展性,轻松支持 10000 + 级节点的大规模组网。
2、软硬件事务分离,提供 200Gbps 最高性能输出
HARP 采用软硬件分层的事务层和可靠传输层设计,分工明确:硬件负责需要高效和可靠传输的报文级事务;软件部分则提供高度灵活、贴合业务特性需求的消息处理,而不占用有限的硬件资源。
最终,HARP 可以支持在 10000 + 节点的网络规模的业务中,提供 200Gbps 的最高性能输出,对于 AI 训练、键值存储、分布式大数据应用等场景具有独特价值。
3、自研拥塞控制算法,让消息完成时间中位数降低 35%
HARP 采用自研的拥塞控制算法 PEAD,精确地感知网络拥塞,在维持高吞吐的同时,保证网络流的通畅。相较于 TCP,HARP 消息完成时间的中位数降低了 35%,同时保证 99% 数据包的网络排队时延降低 90%。
4、确定性多路径传输、实现微秒级路径切换
腾讯云 HARP 协议吸收包括 TCP 和 UDP 的优势,通过自研的报文编号方案追踪每个报文的发送和接收状态,HARP 以极低开销支持乱序接收和选择性重传,保证了报文的可靠传输。
同时,HARP 通过确定性多路径传输和微秒级路径切换,为上层应用提供高可用网络服务。
HARP 在每个连接内采用多路径传输,每条路径有独立的拥塞探测能力。基于自研拥塞控制算法优良的网络控制和感知能力,HARP 的路径管理模块会根据路径的拥塞情况进行调度,快速可靠地检测到路径故障,并在 100 微秒时间内重新探测一条新的可用路径,保证在单个交换机故障时的断链概率为 0。相比起 TCP 遭遇故障的典型重连恢复时间(约为 1s),HARP 减少了 99.9%。
IT之家了解到,HARP 最初是面向存储与高性能计算的场景而设计,目前也已经落地在腾讯的云硬盘(CBS)与弹性 RDMA(EFI)业务中。作为一个高性能的通信底座,HARP 可以被应用于数据中心对网络性能要求较高的业务中,比如 AI 训练、键值存储、分布式大数据应用等。
当前腾讯云的工程师还正在不断地完善其高性能通信库,包括使用 Socket、IB Verbs、libfabric、UCX 等通信接口接入 HARP 传输协议,从而不断扩大 HARP 的生态。