导读|云计算时代,承当服务器之间数据传输工作的交换机成了数据中心的“神经枢纽”,一旦出故障将波及下层业务。然而单个交换机故障时,腾讯云的新一代高性能网络却能够在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、公布变更又快又稳?腾讯运维工程师教训首发