全網首次揭祕:微秒級“復活”網絡的HARP協議及其關鍵技術

圖片

導讀|雲計算時代,承擔服務器之間數據傳輸工作的交換機成了數據中心的“神經樞紐”,一旦出故障將波及上層業務。然而單個交換機故障時,騰訊雲的新一代高性能網絡卻可以在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、發佈變更又快又穩?騰訊運維工程師經驗首發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章