日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

首頁 云服務器 ECS 操作指南 網絡 彈性RDMA(eRDMA)

彈性RDMA(eRDMA)

更新時間: 2024-11-21 15:09:56

相對于傳統的線下RDMA的應用場景,阿里云普惠的彈性RDMA網絡可以用在更加豐富的場景,例如緩存數據庫(Redis)、大數據(Spark)、HPC(WRF)、AI訓練等。基于彈性RDMA,您既可以將HPC應用軟件部署在云上,以獲取成本更低、彈性更好的高性能應用集群;也可以將VPC網絡替換成彈性RDMA網絡,以加速您其他應用的性能。

什么是彈性RDMA

彈性RDMA(Elastic Remote Direct Memory Access,簡稱eRDMA)是阿里云自研的云上彈性RDMA網絡,底層鏈路復用VPC網絡,采用全棧自研的擁塞控制CC(Congestion Control)算法,享有傳統RDMA網絡高吞吐、低延遲特性的同時,可支持秒級的大規模RDMA組網。可兼容傳統HPC應用、AI應用以及傳統TCP/IP應用。

為什么需要彈性RDMA

傳統的TCP/IP一直是業界主流的網絡通信協議,眾多應用都是基于TCP/IP構建的,但隨著數據中心相關業務的蓬勃發展,應用對網絡的性能需求(如延遲、吞吐量)越來越高,受限于TCP/IP的局限性(如拷貝開銷大、協議棧處理厚、CC算法復雜、上下文切換頻繁等),TCP/IP的網絡通信性能已經成為應用性能提升的瓶頸。

RDMA解決了這些痛點問題。相對于TCP/IP,RDMA實現了零拷貝、內核旁路等特性,避免了拷貝、頻繁的上下文切換等開銷,相較于TCP/IP的通信,達到了低延遲、高吞吐量以及低CPU占用。但是昂貴的價格以及運維成本讓很多應用望而卻步,RDMA的受眾相對較少。

阿里云的eRDMA從設計之初就是要做云上普惠的能力,既要滿足客戶對RDMA低延時的需求,又要降低大眾化場景的適配門檻,讓更多的應用可以上云體驗到更好的性能。

彈性RDMA的功能優勢

  • 高性能

    RDMA繞過內核協議棧,將數據直接從用戶態程序轉移到HCA中進行網絡傳輸,極大地降低了CPU負載和延遲。eRDMA具有傳統RDMA網卡的優點,同時將傳統的RDMA技術應用到VPC網絡下。超低的延遲讓用戶在云網絡中體驗到RDMA帶來的優越性能。

    說明

    HCA(Host Channel Adapter)是一種通常以網絡接口卡(NIC)形態出現的硬件設備,用于連接服務器與網絡,并提供對RDMA技術的支持。

  • 普惠

    無償啟用eRDMA。您只需在購買實例時,勾選eRDMA選項,即可實現eRDMA網絡的開啟,無需再額外付費。

  • 規模部署

    傳統的RDMA依賴于網絡的無損特性,規模部署成本高、規模部署困難。而eRDMA在實現中采用了自研的擁塞控制CC算法,容忍VPC網絡中的傳輸質量變化(延遲、丟包等),在有損的網絡環境中依然擁有良好的性能表現。

  • 彈性擴展

    不同于傳統的RDMA網卡需要單獨一個硬件網卡,eRDMA是基于神龍架構的一款原生帶有云屬性的RDMA HCA卡,可以在使用ECS的過程中動態添加設備,支持熱遷移,部署十分靈活。

  • 共享VPC網絡

    eRDMA依附于彈性網卡(ENI),網絡可完全復用,可以在不改變業務組網的情況下,在原來的網絡下激活RDMA功能,體驗到RDMA的優勢。

如何實現彈性RDMA通信

  • ECS實例使能eRDMA:阿里云提供了靈活方便的配置選項,方便您快速為ECS配置eRDMA,實現VPC網絡下激活RDMA功能,建立RDMA連接進行通信。詳細信息,請參見eRDMA使用方法

  • 應用快速適配eRDMA:如果您希望在應用程序中實現和配置RDMA相關的邏輯,以滿足低延遲、高帶寬和低CPU占用等場景,您可以通過NetACC、SMC等方式對應用進行適配。詳細信息,請參見應用適配概述

彈性RDMA的基礎能力和規格

在RDMA網絡通信中,QP(Queue Pair)、CQ(Completion Queue)、MR(Memory Region)和verbs Opcode是幾個核心的組件,它們在RDMA通信中扮演著重要的角色,共同確保了RDMA網絡通信的高效性和低延遲性。

當您在應用中使用eRDMA時,需要確保應用滿足產品的能力規格約束,否則可能會導致您的應用無法正常工作。

隊列對(QP)

QP(Queue Pair)是RDMA中的基本通信實體,由一個發送隊列(Send Queue,SQ)和一個接收隊列(Receive Queue,RQ)組成。QP負責管理發送和接收的數據。

  • 作用:QP允許應用程序發送和接收數據,它是RDMA通信的核心。QP的狀態機管理著連接的狀態,從初始化到終止。

  • eRDMA QP的基本規格:

    規格名稱

    規格

    說明

    建鏈方式

    RDMA_CM

    • RDMA_CM用于管理RDMA連接的建立、維護和關閉,簡化了RDMA連接的管理過程,使應用程序可以更方便地使用RDMA功能。常用于MPI、SMC-R、PolarDB SCC等場景下。詳細信息,請參見Linux rdma_cm

    • eRDMA提供了兼容模式(compat mode)用于OOB場景下的應用,如Tensorflow、NCCL、BRPC等。

      重要

    QP類型

    RC

    RC類型的QP提供可靠的連接服務。它支持send操作、RDMA write操作、RDMA read操作和atomic操作。

    SRQ(Shared Receive Queue)

    不支持

    無。

    最大QP數目max_qp_num

    和實例規格族有關,最大支持131,071

    • 指的是一個RDMA設備或網絡接口上可以創建的最大隊列對(QP)數量。

    • 它決定了RDMA網絡可以支持的最大并發連接數,從而影響網絡的擴展性和并發處理能力。

    最大的發送WR深度max_send_wr

    8,192

    • 表示一個QP發送隊列的最大工作請求(Work Request)數量。

    • 它決定了QP可以同時發起的發送操作的數量,影響QP的發送性能和吞吐量。

    最大的接收WR深度max_recv_wr

    32,768

    • 表示一個QP接收隊列的最大工作請求數量。

    • 它決定了QP可以同時處理的接收操作的數量,影響QP的接收性能和吞吐量。

    最大的發送SGE數目max_send_sge

    說明

    Sge是指散射-聚集元素(Scatter-Gather Element)。

    6

    • 單個send wr支持的離散地址數目。

    • 它決定了QP在一次發送操作中可以處理的最大內存片段數量,影響數據傳輸的效率和靈活性。

    最大的接收SGE數目max_recv_sge

    1

    • 單個recv wr支持的離散地址數目。

    • 它決定了QP在一次接收操作中可以處理的最大內存片段數量,影響數據接收的效率和靈活性。

完成隊列(CQ)

CQ(Completion Queue)用于通知應用程序工作請求(Work Request,WR)的完成情況。當RDMA操作(如發送或接收)完成時,相關的完成信息會被放入CQ。

  • 作用:CQ是RDMA中異步操作完成通知的關鍵,它幫助應用程序管理異步事件和錯誤處理。它提供了一種機制,讓應用程序能夠知道哪些操作已經完成,這對于異步操作的管理至關重要。

  • eRDMA CQ的基本規格:

    規格名稱

    規格

    說明

    CQ(Completion Queue)數目

    依據實例規格,最大CQ數為QP數的兩倍

    CQ的完成向量數目vector_num

    依據實例規格(CPU和QP數有關),最大不超過31

    • 每個vector會對應一個硬件中斷。實際使用中,每個CPU配置至多一個vector就可以滿足通信需求。

    • 每個vector會關聯一個eRDMA內部的CEQ(Completion Event Queue)隊列。

    最大CEQ深度

    4096

    • 0.2.34版本的CEQ深度為256。

    • 如果使用event模式,建議每個vector綁定的CQ隊列數不超過4096,否則可能出現CEQ隊列溢出的風險。

    最大CQ隊列深度

    1,048,576

    無。

RDMA內存管理

MR(Memory Region)和MW(Memory Window)是RDMA中用于內存管理的兩個重要概念。

  • MR(Memory Region):代表一塊可以被RDMA訪問的內存區域。通過注冊MR,應用程序可以讓RDMA硬件直接訪問這塊內存區域。

    • 作用:MR使得RDMA能夠直接在遠程主機的內存上執行操作,如讀寫操作,這是RDMA零拷貝特性的基礎。

    • eRDMA MR的基本規格:

      規格名

      規格

      MR數目

      依據實例規格,最大MR數為QP數的兩倍

      Max MR size

      依據底層硬件,最小支持2 GB、最大支持64 GB

  • MW(Memory Window):阿里云目前不支持MW。

verbs接口

verbs是RDMA編程的基礎,它定義了一組接口,用于控制RDMA設備的行為。Opcode是這些接口中用于指定具體操作類型的代碼。

  • 作用:Opcode定義了RDMA操作的類型,如發送(SEND)、接收(RECEIVE)、讀取(READ)、寫入(WRITE)等,它們告訴RDMA硬件需要執行的具體動作,允許應用程序直接與RDMA硬件交互,實現高效的數據傳輸。

  • Opcode支持情況

    Opcode

    支持情況

    RDMA Write

    支持

    RDMA Write with Immediate

    支持

    RDMA Read

    支持

    Send

    支持

    Send with Invalidate

    支持

    Send with Immediate

    支持

    Send with Solicited Event

    支持

    Local Invalidate

    支持

    Atomic Operation

    支持

上一篇: Windows實例彈性網卡配置失效處理方法 下一篇: 彈性RDMA網卡(ERI)
阿里云首頁 云服務器 ECS 相關技術圈