網路內計算

網路內計算,In-Network computing一般譯作網路計算,是Mellanox提出的一個概念。

網路內計算(In-Network Computing)是當前高性能計算和人工智慧領域的前沿課題,它是InfiniBand網路面向新一代分散式並行計算體系結構,套用協同設計理念,開發出的一種通信加速技術。網路計算有效地解決了AI和HPC套用中的集合通信和點對點瓶頸問題,為數據中心的可擴展性提供了新的思路和方案。

它利用網卡、交換機等網路設備,在數據傳輸過程中,同時進行數據的線上計算,以達到降低通信延遲、提升整體計算效率等。成為和GPU和CPU同等重要的計算單元。

基本介紹

  • 中文名:網路內計算
  • 外文名:In-Network computing
技術簡介,關鍵技術,套用,

技術簡介

在過去的幾年,以雲計算,大數據,HPC和AI等為代表的現代數據中心全面進化到分散式並行處理架構,數據中心的所有資源如CPU,記憶體,存儲等分布在整個數據中心,使用高速網路技術把所有的資源連線起來,協同設計分工合作,共同完成數據中心的數據處理任務。在現代數據中心內,一切以業務數據為導向,構造均衡的系統體系架構,沿著業務數據流動的方向,CPU計算,GPU計算,存儲計算,網路計算等各個部分合縱連橫,分進合擊,共同構成了以數據為核心的新一代數據中心繫統架構。
作為連線現代數據中心所有資源的關鍵部件,以InfiniBand為代表的高速網路技術取得了突飛猛進的發展。隨著1999年IBTA(InfiniBand Trade Association)組織成立並發布InfiniBand規範後,InfiniBand高速網路技術得到快速發展並在HPC領域獲得廣泛的套用。如今在通向E級計算的道路上,網路計算技術正成為影響系統整體均衡的核心技術,成為分散式計算單元的一部分,協同CPU/GPU構建分散式計算池,協同存儲構建分散式的記憶體池。
作為高效的可擴展智慧型互連技術, InfiniBand將網路計算技術深入融入到產品實踐中,實現無縫集成,通過網路計算解決通信瓶頸的問題,通過將各種通信相關的計算從CPU/GPU卸載到網路中來,將CPU和GPU的資源釋放出來,讓套用獲得更多的計算資源,從整體套用的性能上得以提升,幫助企業應對數據挑戰。

關鍵技術

1.網路協定卸載
提高數據的傳送和接收性能一直是網路計算的基礎。業界常見的TCP/IP協定棧,使用作業系統核心提供的軟體實現協定棧的處理過程,需要大量擠占CPU的處理資源。在網路頻寬越來越大,應用程式對性能要求越來越高的數據中心,越來越成為整體性能的瓶頸。
InfiniBand網卡和交換機通過ASIC硬體完整實現了網路通信的物理層、鏈路層、網路層和傳輸層,因此在通信過程中,數據流不需要額外的軟體和CPU處理開銷,極大地提高了通信性能。
2.遠程直接記憶體訪問(RDMA)
RDMA(Remote Direct Memory Access)是一種核心旁路技術,它提供了網卡硬體的抽象層verbs,運行用戶空間的進程繞過核心直接訪問RDMA網卡,實現高效快速通訊。RDMA源於InfiniBand網路技術,由IBTA組織對其進行標準化定義和維護。在硬體層面,RDMA硬體在傳送和接收端雙方向都通過DMA技術直接對用戶態記憶體進行讀寫,通過使用網卡內置的網路協定卸載引擎,實現數據傳輸過程中的完整協定處理,在幾乎不消耗CPU的情況下,實現高通量的網路通信。
3.GPUDirect RDMA
業界廣泛使用GPU作為高性能計算或人工智慧平台的計算核心,GPU之間的通信性能嚴重影響GPU機群的整體效率。GPUDirect技術把InfiniBand的RDMA能力套用到GPU節點之間的通信,加速GPU Cluster在HPC計算或AI訓練過程中的GPU通信效率。它實現了RDMA網卡對GPU記憶體(GPU Memory)的直接讀寫,當GPU機群中兩個節點GPU上的進程需要進行通信時,RDMA網卡可以在兩邊的GPU Memory之間直接實現RDMA數據搬移,消除了CPU對數據拷貝的參與,消除了不必要數據拷貝,減少了PCIe匯流排的訪問次數,提高了通信性能。
4.可擴展分層次聚合和歸約協定(SHARP)
SHARP(Scalable Hierarchical Aggregation and Reduction Protocol)是一種集合通信網路卸載技術。
在各種HPC和AI計中,常常有很多集合類通信,這些集合類通信由於涉及全局,常常對應用程式並行效率產生巨大的影響。業內有很多研究使用多種軟體方法來最佳化聚合類通信的效率,但依然需要在網路中進行多次通信才能完成整體聚合操作,且很容易引入網路擁塞。與點對點通信對比,經過多種方法最佳化後,集合類通信的延遲仍然比點對點通信高一個數量級以上。
針對這種情況,NVIDIA Mellanox從EDR InfiniBand交換機開始引入了SHARP技術,在交換機晶片中集成了計算引擎單元,可以支持16位、32位及64位定點計算或浮點計算,可以支持求和,求最小值,求最大值,求與,求或及異或等計算,可以支持Barrier、Reduce、All-Reduce等操作。
在多交換機組成的機群環境下,Mellanox定義了一整套的可擴展分層次聚合和歸約協定(SHARP)[3]卸載機制,由聚合管理器(Aggregation Manager)在物理拓撲中構造一個邏輯的SHARP樹,由SHARP樹中的多個交換機並行分散式處理集合類通信操作。當主機需要進行全局通信例如allreduce時,所有主機把通信數據提交到各自連線的交換機,第一級交換機收到數據後,會使用內置的引擎對數據進行計算和處理,然後把結果數據提交到SHARP樹的上一級交換機,上一級交換機也使用自己的引擎對從若干個交換機收上來結果數據做聚合處理,並繼續向SHARP樹的上一級遞交。到達SHARP樹的根交換機後,根交換機做最後計算並把結果回發給所有的主機節點。通過SHARP方式,可以大幅降低集合通信的延遲,減少網路擁塞,並提升機群系統的可擴展性。
產品分類
- SHARPv1,在Switch-IB2 EDR InfiniBand上實現,最大支持256 Byte集合通信卸載
- SHARPv2,Quantum HDR InfiniBand上實現,最大支持2G Byte集合通信卸載

套用

高性能計算(HPC)
高性能計算領域大部分是計算密集型套用,計算過程中大量消耗CPU/GPU計算資源,且通常伴隨著多種類型的點對點和集合通信,對通信的頻寬、時延性能很敏感,需要通信協定卸載以減少CPU/GPU資源爭搶,廣泛套用了RDMA、GPUDirect及SHARP技術,提升整體計算性能。
人工智慧(AI)
人工智慧是熱點的技術之一,如何快速高效完成訓練得到高準確率的模型是人工智慧平台的關健技術之一。業界廣泛使用GPU或專用AI晶片作為人工智慧的訓練平台計算核心以加速訓練過程。人工智慧訓練也是典型的計算密集型套用,需要套用通信協定卸載以降低延遲。同時GPUDirect RDMA技術有效提升了GPU機群間的通信頻寬,降低通信延遲。
大規模分散式訓練中,比較流行的數據並行深度神經網路算法,需要利用多個神經網路並行訓練,並在每個神經網路訓練完一個疊代後,在所有神經網路之間進行模型同步。模型同步操作常常使用集合類通信例如all-reduce實現,其性能的好壞成為的成為影響分散式機器學習性能的關鍵因素。通過使用SHARP技術,可以明顯提升AI訓練的allreduce通信性能,加快通信模型同步過程,大幅提升機群的整體訓練性能。

相關詞條

熱門詞條

聯絡我們