关于前端:全网首次揭秘微秒级复活网络的HARP协议及其关键技术

5次阅读

共计 5427 个字符,预计需要花费 14 分钟才能阅读完成。

导读|云计算时代,承当服务器之间数据传输工作的交换机成了数据中心的“神经枢纽”,一旦出故障将波及下层业务。然而单个交换机故障时,腾讯云的新一代高性能网络却能够在 100 微秒内找到新的通路实现 0 断链,做到高可用、高可扩大、高性能,从而保障业务不受影响。本文邀请到了腾讯云资深网络专家金峰及其率领的 IaaS 前沿技术钻研团队来揭秘背地的武器——高性能网络传输协定 HARP。通过本文心愿能够带你理解传统网络传输协定面临的艰难和挑战、HARP 是如何应答并全网首次解析其中 4 个关键技术。

腾讯云始终在自研一款高性能网络协议——HARP(Highly Available and Reliable Protocol)。目前,HARP 已在腾讯云的块存储等业务上逐渐落地,并已成为腾讯自研银杉智能网卡及玄灵芯片的标准化能力 。在单个交换机故障时,腾讯云的新一代高性能网络,能够在 100 微秒内找到新的通路,实现 0 断链,从而保障下层业务不受影响。本篇中,咱们团队将回顾云时代下数据中心网络应答的艰难卡点,提出一个 高性能传输协定 HARP 计划 并对其中 4 个关键技术点做全网首度解析。

数据中心网络的问题与挑战

为了满足数据中心的利用规模和性能要求日益增长的需要,数据中心的网络传输面临着微小挑战:

1)无奈保障可靠性

数据中心的交换机尽管已相当稳固,但依然不可漠视它们呈现亚健康的概率(设施软硬件故障或网络变更异样)。例如在咱们的某个生产环境中,每年交换机硬件故障的比例约为 0.15%。交换机的亚健康会间接影响到通过该交换机的业务利用的服务质量,轻则使得业务的吞吐降落和响应延时减少,重则造成连贯中断,导致业务超时或失败。在一些对可靠性有严苛要求的利用,如高性能网络存储中,进步网络传输的可靠性曾经火烧眉毛。

2)性能瓶颈

数据中心近年来涌现出很多具备高性能需要的利用,这些性能需求次要体现在 高网络带宽,超低且统一的通信时延,超大的网络规模 等方面。高带宽需要的利用,如大规模 AI 训练、高性能网络存储、分布式大数据利用等,促使着数据中心网络基础设施疾速迈入 100Gbps 甚至 400Gbps 的时代。

然而要充沛、稳固地利用好这些根底能力,网络传输在软硬件设计和老本管制上都面临着极大挑战。同时,数据中心里的 时延敏感 的利用,如内存数据库、传统 HPC 等,在时延上的极致需要给拥塞管制提出了严苛的挑战。最初,大规模数据中心利用(如分布式大数据利用和 HPC)带来的大量的并发数据传输对网络传输协定的可扩展性也提出了更高的要求。

罕用传输协定的问题

以后,TCP 与 RoCE v2(RDMA over Converged Ethernet v2)是数据中心网络中的支流传输协定。面对上述挑战,传统的 TCP 与 RoCE v2 传输协定曾经无奈应答。首先,为了充分利用 100Gbps 甚至 400Gbps 的网络带宽能力,基于软件实现的通用协定栈(比方内核 TCP 协定栈)往往会占用过高的 CPU 负载。而且其还会受到操作系统大内核的机制及其他运行软件的影响,导致性能不稳固。

其次,硬件卸载的网络协议栈(比方 RoCE v2)尽管能够在升高 CPU 开销的同时取得较好的传输性能,然而因为老本的限度,其片上能够被用于存储连贯的状态的资源非常无限。这意味着实现 RoCE v2 的网卡往往有着并发连贯规模小的问题,导致其部署的规模及应用的场景会受到极大的限度。此外,TCP 和现有的 RoCE v2 实现都面临拥塞管制性能有余(动静时延和尾时延大)和可靠性欠佳的问题

而 RoCE v2 作为 RDMA 技术在数据中心的利用,曾经被大量部署在生产零碎。但其在可靠性和连贯故障复原方面的能力尚难满足利用需要。一方面,RoCE v2 的多路径计划 MP-RDMA(Multi-path RDMA)目前仅停留在学术界的钻研,离理论落地还很边远。另一方面,智能网卡上无限的片上资源始终制约着 RoCE v2 在单卡上的并发连接数,也就是其在大规模并发连贯场景下的传输性能会急剧下降,减少多路径传输只会让其雪上加霜。

为进步 TCP 对于网络故障的容忍度,行业内近年来始终在关注 MPTCP(Multipath TCP)计划。只管在广域网开始部署利用,MPTCP 利用在数据中心网络时、在门路切换、抉择和聚合时存在显著的性能瓶颈 。同时,因为它是基于 TCP 内核工作,在可扩展性方面亦存在较大的缺点。此外,TCP 协定栈更为简单,很难把全功能稳固地实现在智能网卡上,这也导致其 无奈在内网场景取得极致的性能

因而,咱们须要设计一套新的网络传输协定,既能满足下层利用对于高牢靠网络传输的要求,又能提供高带宽、低时延的数据传输服务,还能放弃在大规模部署下的网络性能。

HARP 与 TCP、RoCE v2 的个性比照

注:MPTCP(Multi-path TCP)计划未被宽泛采纳。MP-RDMA(Multi-path RDMA)计划停留在实验室阶段。HARP 既有智能网卡版本的实现,也有用户态库版本的实现。TCP 指最常被应用的内核 TCP 协定栈。

HARP 是什么

HARP 是腾讯云齐全自研的数据中心高性能传输协定,次要针对上述可靠性、软硬件设计、拥塞管制和可扩展性等难点进行攻克。在保障端到端数据报文牢靠传输的同时,HARP 能够为下层利用提供高牢靠、高性能(高带宽和低时延)、高可扩大的网络传输服务。就目前曾经公开的传输协定而言,HARP 是首个可能同时提供高可用和高扩展性的高性能传输协定。为达到高牢靠传输,HARP 采纳了确定性多路径出传输,采纳多条具备不重叠物理门路的通道进行并行传输,进步了对网络故障的抵抗力。

同时,为了达成高带宽和低时延的性能,HARP 采纳了软硬件分层设计来进步传输效率,并利用自研的拥塞控制算法(PEAD)保障了低劣的数据流公平性和超低的网络排队。最初,为取得对大规模网络的高度扩展性,HARP 采纳了粒度可控的连贯共享模式。通过把一条 HARP 连贯复用来承接多条利用连贯的流量,HARP 可轻松反对大规模网络应用。

HARP 关键技术点

HARP 次要有以下四点的关键技术点:

1)软硬件的事务拆散与能力联合

HARP 采纳软硬件分层的事务层和牢靠传输层设计,以兼顾硬件可实现性、牢靠传输的效率和音讯事务的灵活性,如图所示。软硬件拆散的架构设计为高效传输和低成本实现引入了新的可能性。在此架构下,牢靠传输层能够专一于实现报文粒度的端到端牢靠传输,而把更粗粒度的事务处理分化到了软件事务层。

特地地,HARP 通过自研的报文编号计划追踪每个报文的发送和接管状态,以极低的开销反对乱序接管和选择性重传。同时,软件事务层能够提供高度灵便(贴合业务个性需要)的音讯解决,而不占用低廉的硬件资源。得益于此架构,HARP 的软硬件零碎能够在维持老本竞争力的前提下,提供业界当先的网络与业务性能。最终,HARP 能够反对在 10000 节点的网络规模的业务中,提供最高性能输入。

2)粒度可配置的共享连贯

为了满足多种业务环境的应用需要(裸金属,VM,CBS 等)和大规模组网要求,HARP 反对裸连贯、VM 级共享、主机级共享等粒度的连贯模式。通过共享连贯,HARP 能够大幅缩小连贯数量,升高硬件实现的资源耗费,实现高度的可扩展性,轻松反对 10K+ 级节点的大规模组网。在领有 N 个服务器的大规模网络中,HARP 可工作于主机级(IP 对)共享模式,如图 2 所示。假设每个服务器的通信过程数为 P,为应答最重大情景的过程 fullmesh 通信,传统的 TCP 或 RoCEv2 在单服务器上须要 N *P* P 个连贯,而 HARP 须要的连接数为 N。可见 HARP 的连贯规模与通信过程数无关,其在大规模网络有低劣的扩展性。例如在 100 个服务器,每个服务器运行 100 个过程的场景,TCP/RoCEv2 须要的连接数为 100*100*100=1000K,这个数字曾经远远超出高效率的硬件网卡可高性能反对的范畴。

咱们留神到业界最先进的 RoCEv2 网卡在 10K 连接数左近就曾经可观测到重大吞吐损失。而 HARP 在此场景只须要 N =100 条连贯。在大规模场景,如 10K 节点,每节点 100 过程,HARP 须要的连接数也只有 10K 条(与过程数无关)。对于此数量的连贯,在分离式优化架构和共享连贯的加持下,HARP 的硬件化网卡仍可达到最高吞吐。从下面可见,HARP 在大规模高性能计算场景把反对的网络规模进步了两个数量级。

3)自研高性能拥塞管制

鉴于现有的拥塞管制难以满足咱们多样化且高性能的业务需要,HARP 采纳深度自研的拥塞控制算法 PEAD。PEAD 基于交换机广泛反对的概率性 ECN(显式拥塞告诉)性能通过定制配置准确地感知网络拥塞,在维持高吞吐的同时,带来更偏心的流吞吐、更通顺的网络和更精确的网络状态感知能力。相较于 TCP,PEAD 的音讯实现工夫 FCT 的中位数升高了 35%(高带宽体现),p99 分位值升高了 70%(公平性体现),同时 PEAD 网络排队时延的 p99 分位值升高了 90%(网络通顺性体现),如图所示。另外,HARP 也反对应用基于网卡 RTT 探测的自研算法 DARC,可在无任何交换机性能反对的网络中实现高性能拥塞管制。

4)确定性多路径并行传输及疾速的故障门路切换

为进步连贯对网络热点的躲避能力,加重网络负载不均衡性的影响和加强连贯对网络故障的抵抗力,HARP 在每个连贯内采纳多路径传输,如图 4 所示。在 HARP 中,每条门路有独立的拥塞探测能力,连贯会依据门路的发送能力(拥塞状况)进行调度发送报文。当某条门路有设施故障时,连贯依然能够通过其余门路持续进行传输。同时,得益于自研拥塞控制算法低劣的网络管制和感知能力,连贯的门路治理模块能够疾速牢靠地检测到门路故障,并在百微秒级工夫内从新探测一条新的可用门路。例如当有单个 Spine 交换机故障时,其所在网络的 TCP 连贯的断链概率为 24%,而 HARP 连贯的断链概率为 0。而当有单个 Edge 交换机故障时,其所在机架的 TCP 连贯的断链概率为 75%,而 HARP 连贯的断链概率依然为 0。同时 TCP 的典型重连复原工夫约为 1s,而 HARP 的门路即便遭逢故障,也能够在百微秒级的工夫内探测到新的门路恢复正常,复原工夫相比 TCP 减小了 99.9% 以上。HARP 的疾速故障检测次要得益于自研拥塞控制算法能把网络排队管制得非常低。从而咱们能够在百微秒级的工夫内以高置信度判断网络呈现了故障,继而触发门路切换。

与传统的基于 ECMP(等价多路径)哈希的多路径计划不同的是,HARP 采纳的是确定性多路径传输。起因在于,基于 ECMP 随机生成的多路径尽管能肯定水平上防止网络热点问题,但其不可控的门路走向并不能最大化地施展多物理门路带来的高带宽和高可靠性后劲。确切地说,一方面,在 ECMP 多路径计划下,一条连贯的多条门路可能会在网络中的一段或多段链路中产生重叠,这会导致连贯的无效可用带宽升高;另一方面,若重叠门路的节点产生故障,可能会导致连贯的所有门路都故障(局部门路的数据传输和其余门路的 ACK 传输通过同一个故障设施),如图所示。

为了躲避 ECMP 多路径的缺点,在腾讯网络团队带来的自研门路控制能力反对下,HARP 的确定性多路径最大限度地应用了非重叠门路的聚合带宽和它们带来的独立冗余性。在有 4 个 Spine 交换机的网络测试中,在单 Spine 交换机故障时,比照相较于基于 ECMP 的随机多路径的 96% 的连贯存活率,HARP 能够达到 100% 的连贯存活率,如图 5 所示。而在 2 个 Spine 交换机故障时,HARP 相比 ECMP 多路径能够进步 55% 的连贯存活率。

HARP 特点与劣势

“高可用”:次要面向对服务可靠性极高的存储业务(如腾讯的云硬盘服务(CBS,Cloud Block Storage)),当网络产生故障时下层业务依然可用且其性能抖动小。

高可扩大”:次要面向传统的高性能计算业务(如汽车制造商对于汽车流体力学的仿真),当参加计算的处理器核数一直增多时,零碎的性能可能放弃近似线性增长。

高性能”:这是该协定的根本指标,次要体现在尽可能防止网络拥塞,并在各种负载时都能取得极高的传输带宽和最小的时延(包含均匀时延和尾时延)。

腾讯云独创的“确定性多路径传输”、“自适应连贯复用”、“自研拥塞控制算法”及“协定栈 Offload”等技术,是 HARP 实现“高可用”、“高可扩大”、“高性能”等指标的要害。


HARP 的典型利用

除面向云硬盘(CBS)与高性能计算(HPC)等根底场景外,HARP 作为一个高性能的通信底座,还能够被利用于数据中心对网络性能要求较高的业务中,如 AI 训练、键值存储、分布式大数据利用、VPC 网络等。

HARP 倒退瞻望

以后,腾讯云正一直地欠缺 HARP 的高性能通信库,包含应用 Socket、IB Verbs、libfabric、UCX 等通信接口接入 HARP 传输协定,以扩充 HARP 的生态。在硬件层面,腾讯云既能够基于友商规范以太网卡使能 HARP 的高可用、高可扩大的个性,又能够通过硬件卸载的模式将 HARP 全协定栈运行于自研银杉、玄灵智能网卡,以实现最高性能。此外,在虚拟化场景下,与 AWS 将 EFA 构建于 SRD 之上相似,HARP 还将作为虚构服务器间的高性能网络传输底座。随着 HARP 生态的不断完善,“HARP for Everything”的指标最终会实现。

腾讯工程师技术干货中转:

1、H5 开屏从龟速到闪电,企微是如何做到的

2、只用 2 小时,开发足球射门游戏

3、闰秒终于要勾销了!一文详解其起源及影响

4、公布变更又快又稳?腾讯运维工程师教训首发

正文完
 0