什么是RDMA
在介紹RDMA網(wǎng)絡之前,我們先來了解下什么是DMA 。DMA(Direct Memory Access)是一種允許外部IO設備直接訪問內(nèi)存,而不需要通過CPU的技術。DMA技術可以顯著提高數(shù)據(jù)傳輸?shù)男屎退俣?,因為它避免了CPU和Memory之間的數(shù)據(jù)拷貝,從而減少了CPU的負擔,并提高了數(shù)據(jù)傳輸?shù)男?。RDMA(Remote Direct Memory Access )則是允許一臺服務器直接訪問其他服務器上的Memory 。在智算時代,RDMA技術被廣泛應用于大規(guī)模分布式訓練和推理場景中。
為什么要使用 RDMA
隨著AI大模型的快速發(fā)展,模型參數(shù)量、數(shù)據(jù)量的不斷增加,單個GPU服務器已經(jīng)難以滿足模型訓練和推理的算力資源要求,分布式多機多卡的訓練與推理已經(jīng)成為必然。多機多卡的訓推場景對算力網(wǎng)絡提出了以下要求:
1. 高吞吐量:大模型參數(shù)量、數(shù)據(jù)量巨大,每一次訓練推理都是幾百G,甚至幾十T的數(shù)據(jù)量;
2. 低延遲:大模型訓練推理過程中,數(shù)據(jù)的傳輸延遲對訓練推理的效率影響很大,當網(wǎng)絡延遲成為瓶頸時,會導致GPU空閑等待數(shù)據(jù)傳輸完成,從而降低整體的訓練效率,進而造成算力的浪費;
3. 高可靠性 :大模型訓練推理過程中,數(shù)據(jù)的傳輸可靠性對訓練推理的效率影響很大,當網(wǎng)絡有丟包重傳時,會導致所有GPU閑置,同樣造成算力的巨大浪費。
傳統(tǒng)以太網(wǎng)的設計和實現(xiàn)無法滿足以上要求,已經(jīng)成為大模型訓推場景下算力集群的瓶頸?;赗DMA 技術的網(wǎng)絡從底層技術原理和設計實現(xiàn)上,滿足了高吞吐、低延遲、無丟包的要求,從而提升了算力集群的效率。
RDMA的網(wǎng)絡實現(xiàn)
在AI大模型訓推場景中使用 RMDA技術的網(wǎng)絡包括:
? In?niband簡稱IB網(wǎng)絡;
? RoCE(RDMA over Coveraged Ethernet)網(wǎng)絡
IB網(wǎng)絡
IB網(wǎng)絡設計為無損網(wǎng)絡,在發(fā)送端會動態(tài)監(jiān)測接收端的緩存能力,只有在接收端緩存區(qū)有足夠空間時,才會發(fā)送數(shù)據(jù)。這得益于其完全區(qū)別于傳統(tǒng)以太網(wǎng)的,自定義的4層網(wǎng)絡架構(物理層、鏈路層、網(wǎng)絡層、傳輸層)。在鏈路層集成了流控協(xié)議,保障發(fā)送端速率不會超出接收端的接收速率。傳輸層中創(chuàng)建的虛擬通道可直接被上層應用使用,不再需要通過操作系統(tǒng)協(xié)議棧。
*圖片來源于IBTA(InfiniBand Trade Association )
IB網(wǎng)絡的主要廠商是已經(jīng)被英偉達收購的Mellanox公司,其擁有IB網(wǎng)絡的核心技術專利,占有全球將近90%的市場份額,是高性能計算集群的首選。IB網(wǎng)絡的優(yōu)勢在于超低延遲,高吞吐,交付部署簡單,但需要專門的網(wǎng)卡和交換機支持。IB網(wǎng)絡的發(fā)展路線圖如下:
*圖片來源于IBTA(InfiniBand Trade Association )
對應英偉達公司的產(chǎn)品線如下:
RoCE網(wǎng)絡
RoCE由IBTA(In?niBand Trade Association)制定,通過ECN和PFC實現(xiàn)流量控制,進而實現(xiàn)無損網(wǎng)絡。市場上很多網(wǎng)絡設備廠商都有提供相應的產(chǎn)品。特點是兼容現(xiàn)有以太網(wǎng),成本相對較低,交付部署相對復雜。
Spectrum是英偉達公司的RoCE網(wǎng)絡交換機,其產(chǎn)品線如下: