EFI 是什麼
EFI 有什麼優勢特點
-
低延遲。傳統 RDMA 將數據傳輸到網絡上不需要經過 Kernel 以及無內存拷貝,從而實現低延遲。EFI 具有傳統 RDMA 網卡的優點,超低的延遲讓用戶在雲網絡中體驗到 RDMA 帶來的優越性能。
-
高吞吐。為達到高帶寬的目的,傳統 RDMA 將可靠傳輸協議和內存地址轉換卸載到 HCA 中,以降低 CPU 和內存帶寬開銷。EFI 採用相似的技術路線實現高吞吐目標。
-
高可用性。EFI 設備底層採用騰訊自研傳輸協議,其包含高可用設計:在網絡設備故障時,可在數毫秒內感知故障並自動規避,從而降業務層長尾延遲。
-
規模部署。傳統 RDMA 基於無損網絡,規模部署成本高且困難。EFI 僅依賴有損的以太網絡,基於自研的擁塞控制算法實現類似無損網絡,從而實現規模化部署。
EFI 功能點
-
Message:Message 是一種基於 RDMA 的點對點通信模式,用於在兩個節點之間進行消息傳遞。在 Message 模式下,發送方將消息寫入本地內存,然後通過 RDMA 操作將消息發送到接收方的內存中。接收方可以通過 RDMA 操作讀取消息,並進行相應的處理。
-
Memory:Memory 是一種基於 RDMA 的內存訪問模式,用於在兩個節點之間進行內存讀取和寫入。在 Memory 模式下,發送方可以直接訪問接收方的內存,從而實現高效的內存讀取和寫入。
-
Event:Event 是一種高效的 RDMA 操作模式,可以在不阻塞 CPU 的情況下進行 RDMA 操作。在 Event 模式下,EFI 可以直接將 RDMA 操作的結果通知給應用程序,而不需要 CPU 的干預。
-
Inline data:Inline data 是一種高效的 RDMA 操作模式,可以將數據直接嵌入到 RDMA 操作中,從而避免了數據傳輸的額外開銷。在 Inline data 模式下,EFI 可以直接將數據寫入到內存中,而不需要通過 DMA(Direct Memory Access)操作進行數據傳輸。
功能 | 支持情況 |
---|---|
RDMA語義 | – Message: Send, Send with IMM – Memory: Write, Write with IMM, Read, Atomic |
QP類型 | Reliable Connection(RC) |
Event模式 | 支持 |
Inline Data模式 | 支持 |
EFI 性能表現
EFI 最佳實踐
-
NCCL(Nvidia Collective Communications Library):NCCL 是一種由 Nvidia 開發的集合通信庫,可以實現多個 GPU 之間的通信和協同計算。EFI 可以與 NCCL 庫配合使用,提供高效的 GPU 集合通信能力,從而加速深度學習和機器學習的訓練速度和效率。 -
TensorFlow-Parameter Server:TensorFlow-Parameter Server 是一種用於分佈式訓練的架構,可以將模型參數存儲在一個或多個參數服務器上,並將訓練任務分配給多個工作節點進行並行計算。在 TensorFlow-Parameter Server 架構中,參數服務器負責存儲和更新模型參數,而工作節點負責計算梯度和更新模型參數。