使用eRDMA
eRDMA的能力實現需要基于支持eRDMA能力的實例規格,掛載彈性RDMA網卡(ERI),安裝eRDMA驅動,從而實現具有大規模RDMA的網絡服務能力,體驗RDMA帶來的超低延遲。
ECS實例使能eRDMA
選擇支持eRDMA的實例規格
企業級CPU實例:請參見支持eRDMA的企業級實例規格。
GPU實例:請參見支持eRDMA的GPU實例規格。
為ECS實例綁定ERI
您可以在創建實例的時候為主網卡開啟彈性RDMA接口,或者在實例創建后為實例綁定開啟了彈性RDMA接口的ERI。
購買實例時候為網卡開啟彈性RDMA接口
具體操作,請參見隨實例創建ERI。
修改ECS實例已綁定的彈性網卡屬性,啟用ERI
具體操作,請參見修改已創建彈性網卡的RDMA接口。
通過OpenAPI創建開啟了ERI的輔助彈性網卡并綁定到實例
如果您是通過OpenAPI的方式創建并綁定輔助彈性網卡,則操作如下:
通過OpenAPI創建ERI。
您可以通過CreateNetworkInterface 創建一個彈性網卡,并設置NetworkInterfaceTrafficMode參數的值為HighPerformance,即創建一個開啟了ERI的彈性網卡。
調用成功后,請記錄返回數據中生成的彈性網卡ID(即
NetworkInterfaceId
對應的返回值)。調用AttachNetworkInterface,指定NetworkInterfaceId為上一步返回的網卡ID,指定InstanceId為目標實例ID,即將創建的開啟了ERI的彈性網卡綁定到目標實例上。
重要如果您的實例規格支持綁定多個ERI,為了獲取最大網絡帶寬,建議您在綁定時候為每張ERI指定不同的NetworkCardIndex,實現將不同的ERI綁定到不同的通道。詳細信息,請參見請求參數。
為ECS實例安裝eRDMA驅動
eRDMA驅動軟件由阿里云自研,由阿里云提供技術支持。
eRDMA驅動的安裝可能需要一段時間,請您耐心等待。
驅動程序安裝包
版本
發布時間
下載地址
校驗和
變更內容
1.4.0
2024年9月27日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.4.0.tar.gz
MD5:
77135d946dddc015000c8f3ea4e6c586
SHA256:
8613d3d81e8eb3b78bf840c37cbe02c79f62631df36cdc8b2c7c101f49f5af29
優化異構GPU場景下的性能
1.3.3
2023年10月09日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.3.tar.gz
MD5:
51ffb06266255139554275bc86fa4caa
SHA256:
5aad6d006662bd902ef5e913fb97d2a6623aadeeacd06f1c3f1c74cbd1f57ded
更新最新補丁包
1.3.2
2023年09月08日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.2.tar.gz
MD5:
8492016fc96eece6a60687b0e4ea66dd
SHA256:
89ab265dc9fa8d56f1b2d8b13d7f50032390a265eddb2e04eeee3aa86fd169ce
更新最新補丁包
1.3.1
2023年08月18日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.1.tar.gz
MD5:
b9b90212e6ba49d57b81d3c5d4210deb
SHA256:
4ebe31760443613f8f61fcdbef7a85b277dabc59039d048898536ea4fe5d8d4a
允許在驅動側配置底層的傳輸模式為強保序。強保序模式下,數據包只能按序提交到內存
1.3.0
2023年06月26日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.0.tar.gz
MD5:
2da0c65643b5e2ffb61d75e1b5e5a7ab
SHA256:
cce03aac0e07d0890884c35ad4f10e9d15f587535d788c8fc97ea268312ad4a9
注冊MR時,支持多級頁表
驅動支持IPv6特性(完整的IPv6需要底層硬件同時支持)
支持Ubuntu 22.04
更新最新補丁包
1.2.3
2023年05月30日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.3.tar.gz
MD5:
7496a6324f3872469d7194c2e234b19f
SHA256:
16c2de0d90da6906db91c2e2469aaad9e24131c44ce52b9464036f1c3747f8a2
更新最新補丁包
1.2.2
2023年05月04日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.2.tar.gz
MD5:
f449d3961a41ff6a97a53cfa29e20d6c
SHA256:
11fdb4b3c778762ad0bdf2d0327008aa2ecb22dc508c9f9fae3568b41ae5462b
支持Ubuntu 22.04
1.2.1
2023年04月04日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.1.tar.gz
MD5:
e080103934da76ce83924da789aecece
SHA256:
be3a89e57143d7544cf968052250df92f911aebb035f07b06ebeb8c5f13bf976
更新最新補丁包
1.2.0
2023年03月09日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.0.tar.gz
MD5:
c8d440a6e35ec6d2aaf1a568affea876
SHA256:
d484997e28e29f862dc580c112b55b389a00faf88dc6aa89eea588ee1369a8ca
支持兼容模式
更新最新補丁包
1.1.0
2023年01月16日
http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.1.0.tar.gz
MD5:
1fea69d819919a77384f902213eb681e
SHA256:
176c3bb35d5584e8c8e43eba9b1824b8cb2b43a19d802c4e469363ed8e33fea6
更新最新補丁包
安裝eRDMA驅動
您可以選擇在購買實例的時候勾選安裝eRDMA驅動,或者為已購買的支持eRDMA的實例手動安裝eRDMA驅動。
企業級CPU實例:請參見在企業級實例上配置eRDMA。
GPU實例:請參見在GPU實例上配置eRDMA。
eRDMA內核驅動
完成eRDMA驅動安裝后,您可以通過
eadm ver
,查詢eRDMA的內核驅動版本。目前最新版本1.4.0的安裝程序包,對應的erdma內核驅動版本為0.2.37。
驗證eRDMA配置的正確性
ibv_devinfo
可以幫助用戶驗證RDMA功能是否正常工作。通過執行 ibv_devinfo
命令,用戶可以獲取到設備的硬件屬性、端口狀態、支持的功能等信息。如果RDMA相關組件已經正常運行,至少會有一個端口的狀態是 PORT_ACTIVE
,這表明RDMA功能已經激活并且可以正常使用。詳細信息,請參見測試RDMA 操作。
ibv_devinfo
命令還可以通過 -v
參數來輸出更詳細的設備信息,包括設備的硬件版本、支持的最大消息大小、隊列數、內存窗口大小等。這些信息對于診斷和優化RDMA網絡性能非常有用。
您可以通過在實例上執行ibv_devinfo
驗證實例eRDMA是否配置正確:
eRDMA配置正確:為實例的網卡開啟彈性RDMA接口并且已正確安裝eRDMA驅動。
說明如果您的實例支持且綁定了多張彈性RDMA網卡,則實例的每個eRDMA設備的端口
state
均為PORT_ACTIVE
時,表示eRDMA網卡狀態正常。如果eRDMA設備的端口
state
為invalid state
時,表示該eRDMA網卡狀態異常,建議先檢查輔助網卡是否配置正確。例如,通過執行ifconfig
命令查看所有網卡配置是否存在,所有網卡IP地址是否存在。詳細信息,請參見配置輔助彈性網卡。
實例未綁定ERI:實例已安裝eRDMA驅動,但是網卡未開啟彈性RDMA接口。您需要為ECS實例綁定ERI。
未正確安裝eRDMA所需驅動程序:實例網卡開啟彈性RDMA接口,但是未正確安裝eRDMA驅動。您需要為ECS實例安裝eRDMA驅動。
您還可以使用diagnose工具對eRDMA的基礎功能進行診斷測試,詳細信息,請參見使用diagnose工具檢測eRDMA。
eRDMA網絡性能測試
perftest
是一個用于性能測試的工具集,它提供了多種測試選項,可以針對不同的網絡操作進行測試,比如發送、接收、讀寫等。perftest允許用戶測量不同RDMA操作的性能,如延遲和帶寬。這些測試通常用于評估RDMA設備和網絡的性能,幫助用戶優化配置或解決潛在問題。更多信息,請參見perftest相關文檔。
perftest測試集
perftest包括如下測試,您可以根據實際需求,通過perftest進行網絡帶寬測試或網絡延遲測試,以評估網絡的性能。
RDMA操作 | 帶寬測試程序 | 延遲測試程序 |
Send | ib_send_bw(發送帶寬測試) | ib_send_lat(發送延遲測試) |
RDMA Read | ib_read_bw(讀帶寬測試) | ib_read_lat(讀延遲測試) |
RDMA Write | ib_write_bw(寫帶寬測試) | ib_write_lat(寫延遲測試) |
RDMA Atomic | ib_atomic_bw(原子帶寬測試) | ib_atomic_lat(原子延遲測試) |
Native Ethernet | raw_ethernet_bw(原生以太網帶寬測試) | raw_ethernet_lat(原生以太網延遲測試) |
安裝perftest
您可以選擇開通公網通過官方倉庫下載并安裝,或者直接通過yum/apt源進行安裝。
通過官方倉庫下載并安裝
為ECS實例開通公網,詳細信息,請參見為ECS實例開通公網。
訪問perftest官方倉庫下載并安裝perftest工具。
通過yum/apt源安裝
不同Linux發行版的軟件源中包含的perftest版本可能不一致,在通信時可能存在兼容性問題。建議您通信的實例使用相同的Linux發行版,否則請通過官方倉庫下載并安裝。
Alibaba Cloud Linux 3/CentOS/Anolis OS
sudo yum install perftest -y
Ubuntu
sudo apt install perftest -y
使用perftest示例
您可以將每一個測試程序作為一個獨立的命令執行,比如ib_send_lat
運行發送延遲測試。
在使用 perftest
進行性能測試時,設置正確的測試參數是非常重要的,通過合理配置這些參數,您可以更精確地控制 perftest
的行為,以滿足特定的測試需求,并獲取更準確的測試結果。以下是一些關鍵的參數設置指南,可以幫助您更有效地配置和運行 perftest
。
您可以通過<子命令> -h 查看各類測試具體的參數說明。
測試類別 | 測試參數 |
延遲測試 |
|
帶寬測試 |
|
發送測試 |
|
其他高級選項 |
|
網絡延遲測試:示例操作,請參見在企業級實例上配置eRDMA。
網絡帶寬測試:示例操作,請參見在GPU實例上配置eRDMA。
相關文檔
如果您是在實例當中使用容器方式部署您的應用,希望將eRDMA功能引入容器,實現大規模數據傳輸和高性能網絡通信,您可以參考在容器(Docker)中配置eRDMA。
您也可以在ACK(Alibaba Cloud Container Service for Kubernetes)集群中使用eRDMA,可以為運行在集群上的所有服務和應用提供低延遲、高吞吐量的網絡通信能力。具體操作,請參見使用eRDMA加速容器網絡。
如需監測或診斷eRDMA,方便您對eRDMA的運行狀態進行實時監控。具體操作,請參見監測和診斷eRDMA。
如需將eRDMA集成到您的TCP應用中,請參見應用適配概述。