導讀:常見的 TCP / IP 協議、RoCE 協議之外,騰訊云正在自研一套全新的高性能傳輸協議 HARP。
12 月 21 日消息,在常見的 TCP / IP 協議、RoCE 協議之外,騰訊云正在自研一套全新的高性能傳輸協議 HARP。借助這套協議,數據中心內部可以輕松支持 10000 + 節(jié)點的大規(guī)模組網,以及微秒級“復活”故障網絡,實現 0 斷鏈。
HARP 是一個完全自研的數據中心高性能傳輸協議。在保證端到端數據報文可靠傳輸的同時,HARP 可以為上層應用提供高可用、高可擴展、高性能的網絡傳輸服務。
市面上已經有各種各樣的網絡傳輸協議,騰訊云為什么從 0 到 1 開始自研新的傳輸協議呢?主要原因是,隨著應用規(guī)模和需求的不斷發(fā)展,數據中心網絡的可靠性和性能面臨著巨大的挑戰(zhàn),之前的協議漸漸無法滿足現有業(yè)務的發(fā)展。
首先,可靠性上,數據中心內部的交換機不可避免地會出現亞健康狀況,這種狀況輕則使得業(yè)務的響應延時增加,重則導致業(yè)務超時斷鏈。其次,性能上,帶寬敏感型應用、時延敏感的應用與日俱增,而且數據中心應用的部署規(guī)模越來越大,集合通信場景下往往會產生大量的并發(fā)的數據傳輸,這對現有網絡傳輸協議的可擴展性提出了更大的要求。
因此,騰訊需要重新設計一套新的傳輸協議,既能滿足上層應用對于高可用網絡傳輸的要求,又能提供高帶寬、低時延的數據傳輸服務,還能保持在大規(guī)模部署下的網絡性能。
HARP 主要有三高特性:
“高可用”:通過多路徑并行傳輸及實時的鏈路檢測,微秒級切換故障鏈路,使得網絡發(fā)生故障時上層業(yè)務完全無感知,沒有明顯的性能抖動。
“高可擴展性”:通過共享連接的設計和協議本身的優(yōu)化,使得大規(guī)模組網狀況下依然維持著極低的硬件資源消耗,輕松支持 1w + 節(jié)點組網下節(jié)點間通信性能無明顯下跌,大大優(yōu)于傳統 ROCE 網絡的組網能力。
“高性能”:自研擁塞控制算法,對網絡能力無明顯依賴的前提下,實現各種負載時都能獲得極高的傳輸帶寬和穩(wěn)定的時延(包括平均時延和長尾時延)。
技術上如何實現的
1、粒度可配置的共享連接,最大支持 10000 + 節(jié)點組網
為了滿足多種業(yè)務環(huán)境的使用需求(裸金屬,VM,CBS 等)和大規(guī)模組網要求,HARP 支持裸連接、VM 級共享、主機級共享等粒度的連接模式。通過共享連接,HARP 可以大幅減少連接數量,降低硬件實現的資源消耗,實現高度的可擴展性,輕松支持 10000 + 級節(jié)點的大規(guī)模組網。
2、軟硬件事務分離,提供 200Gbps 最高性能輸出
HARP 采用軟硬件分層的事務層和可靠傳輸層設計,分工明確:硬件負責需要高效和可靠傳輸的報文級事務;軟件部分則提供高度靈活、貼合業(yè)務特性需求的消息處理,而不占用有限的硬件資源。
最終,HARP 可以支持在 10000 + 節(jié)點的網絡規(guī)模的業(yè)務中,提供 200Gbps 的最高性能輸出,對于 AI 訓練、鍵值存儲、分布式大數據應用等場景具有獨特價值。
3、自研擁塞控制算法,讓消息完成時間中位數降低 35%
HARP 采用自研的擁塞控制算法 PEAD,精確地感知網絡擁塞,在維持高吞吐的同時,保證網絡流的通暢。相較于 TCP,HARP 消息完成時間的中位數降低了 35%,同時保證 99% 數據包的網絡排隊時延降低 90%。
4、確定性多路徑傳輸、實現微秒級路徑切換
騰訊云 HARP 協議吸收包括 TCP 和 UDP 的優(yōu)勢,通過自研的報文編號方案追蹤每個報文的發(fā)送和接收狀態(tài),HARP 以極低開銷支持亂序接收和選擇性重傳,保證了報文的可靠傳輸。
同時,HARP 通過確定性多路徑傳輸和微秒級路徑切換,為上層應用提供高可用網絡服務。
HARP 在每個連接內采用多路徑傳輸,每條路徑有獨立的擁塞探測能力。基于自研擁塞控制算法優(yōu)良的網絡控制和感知能力,HARP 的路徑管理模塊會根據路徑的擁塞情況進行調度,快速可靠地檢測到路徑故障,并在 100 微秒時間內重新探測一條新的可用路徑,保證在單個交換機故障時的斷鏈概率為 0。相比起 TCP 遭遇故障的典型重連恢復時間(約為 1s),HARP 減少了 99.9%。
IT之家了解到,HARP 最初是面向存儲與高性能計算的場景而設計,目前也已經落地在騰訊的云硬盤(CBS)與彈性 RDMA(EFI)業(yè)務中。作為一個高性能的通信底座,HARP 可以被應用于數據中心對網絡性能要求較高的業(yè)務中,比如 AI 訓練、鍵值存儲、分布式大數據應用等。
當前騰訊云的工程師還正在不斷地完善其高性能通信庫,包括使用 Socket、IB Verbs、libfabric、UCX 等通信接口接入 HARP 傳輸協議,從而不斷擴大 HARP 的生態(tài)。