全网首次揭秘:微秒级“复活”网络的HARP协议及其关键技术
导读|云核算时代,承担服务器之间数据传输作业的交换机成了数据中心的“神经枢纽”,一旦出毛病将涉及上层事务。但是单个交换机毛病时,腾讯云的新一代高功用网络却能够在100微秒内找到新的通路完结0断链,做到高可用、高可扩展、高功用,然后确保事务不受影响。本文约请到了腾讯云资深网络专家金峰及其带领的IaaS前沿技能研究团队来揭秘背后的武器——高功用网络传输协议HARP。经过本文期望能够带你了解传统网络传输协议面对的困难和应战、HARP是怎么应对并全网首次解析其中4个关键技能。

腾讯云一直在自研一款高功用网络协议——HARP(Highly Available and Reliable Protocol)。现在,HARP已在腾讯云的块存储等事务上逐步落地,并已成为腾讯自研银杉智能网卡及玄灵芯片的标准化才能。在单个交换机毛病时,腾讯云的新一代高功用网络,能够在100微秒内找到新的通路,完结0断链,然后确保上层事务不受影响。本篇中,咱们团队将回顾云时代下数据中心网络应对的困难卡点,提出一个高功用传输协议HARP计划并对其中4个关键技能点做全网首度解析。

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

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

为了满意数据中心的使用规划和功用要求日益增加的需求,数据中心的网络传输面对着巨大应战:

1)无法确保牢靠性

数据中心的交换机尽管已相当安稳,但依然不可忽视它们呈现亚健康的概率(设备软硬件毛病或网络改变异常)。例如在咱们的某个生产环境中,每年交换机硬件毛病的份额约为0.15%。交换机的亚健康会直接影响到经过该交换机的事务使用的服务质量,轻则使得事务的吞吐下降和响应延时添加,重则造成衔接中止,导致事务超时或失利。在一些对牢靠性有苛刻要求的使用,如高功用网络存储中,进步网络传输的牢靠性现已火烧眉毛。

2)功用瓶颈

数据中心近年来涌现出很多具有高功用需求的使用,这些功用需求首要表现在高网络带宽,超低且一致的通讯时延,超大的网络规划等方面。高带宽需求的使用,如大规划AI练习、高功用网络存储、分布式大数据使用等,促进着数据中心网络根底设施快速迈入100Gbps乃至400Gbps的时代。

但是要充分、安稳地使用好这些根底才能,网络传输在软硬件规划和本钱操控上都面对着极大应战。一起,数据中心里的时延敏感的使用,如内存数据库、传统HPC等,在时延上的极致需求给拥塞操控提出了苛刻的应战。最终,大规划数据中心使用(如分布式大数据使用和HPC)带来的很多的并发数据传输对网络传输协议的可扩展性也提出了更高的要求。

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

常用传输协议的问题

当时,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协议及其关键技术

HARP与TCP、RoCE v2的特性比照

注:MPTCP(Multi-path TCP)计划未被广泛选用。MP-RDMA(Multi-path RDMA)计划停留在实验室阶段。HARP既有智能网卡版别的完结,也有用户态库版别的完结。TCP指最常被使用的内核TCP协议栈。

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

HARP是什么

HARP是腾讯云完全自研的数据中心高功用传输协议,首要针对上述牢靠性、软硬件规划、拥塞操控和可扩展性等难点进行攻克。在确保端到端数据报文牢靠传输的一起,HARP能够为上层使用供给高牢靠、高功用(高带宽和低时延)、高可扩展的网络传输服务。就现在现已公开的传输协议而言,HARP是首个能够一起供给高可用和高扩展性的高功用传输协议。为到达高牢靠传输,HARP选用了确定性多途径出传输,选用多条具有不堆叠物理途径的通道进行并行传输,进步了对网络毛病的抵抗力。

一起,为了到达高带宽和低时延的功用,HARP选用了软硬件分层规划来进步传输效率,并使用自研的拥塞操控算法(PEAD)确保了优秀的数据流公平性和超低的网络排队。最终,为取得对大规划网络的高度扩展性,HARP选用了粒度可控的衔接同享形式。经过把一条HARP衔接复用来承接多条使用衔接的流量,HARP可轻松支撑大规划网络使用。

全网首次揭秘:微秒级“复活”网络的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,可在无任何交换机功用支撑的网络中完结高功用拥塞操控。

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

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传输经过同一个毛病设备),如图所示。

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

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

为了躲避ECMP多途径的缺陷,在腾讯网络团队带来的自研途径操控才能支撑下,HARP的确定性多途径最大限度地使用了非堆叠途径的聚合带宽和它们带来的独立冗余性。在有4个Spine交换机的网络测试中,在单Spine交换机毛病时,比照相较于根据ECMP的随机多途径的96%的衔接存活率,HARP能够到达100%的衔接存活率,如图 5所示。而在2个Spine交换机毛病时,HARP比较ECMP多途径能够进步55%的衔接存活率。

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

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

HARP特点与优势

“高可用”:首要面向对服务牢靠性极高的存储事务(如腾讯的云硬盘服务(CBS,Cloud Block Storage)),当网络产生毛病时上层事务依然可用且其功用颤动小。

高可扩展”:首要面向传统的高功用核算事务(如轿车制造商关于轿车流体力学的仿真),当参加核算的处理器核数不断增多时,体系的功用能够坚持近似线性增加。

高功用”:这是该协议的基本方针,首要表现在尽可能避免网络拥塞,并在各种负载时都能取得极高的传输带宽和最小的时延(包含平均时延和尾时延)。

腾讯云独创的“确定性多途径传输”、“自适应衔接复用”、“自研拥塞操控算法”及“协议栈Offload”等技能,是HARP完结“高可用”、“高可扩展”、“高功用”等方针的关键。

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


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

HARP的典型使用

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

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

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

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、发布改变又快又稳?腾讯运维工程师经历首发

阅读原文