eRDMA
彈性RDMA(Elastic Remote Direct Memory Access,簡稱eRDMA),是阿里云提供的低延遲、大吞吐、高彈性的高性能RDMA網絡服務。eRDMA的能力實現需要基于支持eRDMA能力的實例規格,創建掛載支持彈性RDMA能力的網卡,才能夠實現具有大規模RDMA的網絡服務能力。本文為您介紹什么是eRDMA、eRDMA的功能優勢、應用場景以及使用限制等。
功能簡介
什么是eRDMA
彈性RDMA(Elastic Remote Direct Memory Access,簡稱eRDMA)是阿里云自研的云上彈性RDMA網絡,底層鏈路復用VPC網絡,采用全棧自研的擁塞控制CC(Congestion Control)算法,享有傳統RDMA網絡高吞吐、低延遲特性的同時,可支持秒級的大規模RDMA組網。可兼容傳統HPC應用,以及傳統TCP/IP應用。
基于eRDMA,您既可以將HPC應用軟件部署在云上,以獲取成本更低、彈性更好的高性能應用集群;也可以將VPC網絡替換成eRDMA網絡,以加速您其他的應用性能。
如何實現eRDMA的能力
eRDMA的能力實現需要基于在支持eRDMA能力的實例規格上,創建掛載支持彈性RDMA能力的網卡,就實現具有大規模RDMA的網絡服務能力。
彈性RDMA網卡(Elastic RDMA Interface),簡稱ERI,是一種可以綁定到ECS實例的虛擬網卡,ERI必須依附于彈性網卡(ENI)開啟RDMA設備。ERI完全復用了彈性網卡所屬的網絡,讓您無需改變業務組網,即可在原有網絡下使用RDMA功能,體驗RDMA帶來的超低延遲。
功能優勢
eRDMA能力主要具有以下產品優勢:
高性能
RDMA繞過內核協議棧,將數據直接從用戶態程序轉移到HCA中進行網絡傳輸,極大地降低了CPU負載和延遲。eRDMA具有傳統RDMA網卡的優點,同時將傳統的RDMA技術應用到VPC網絡下。超低的延遲讓用戶在云網絡中體驗到RDMA帶來的優越性能。
普惠
無償啟用eRDMA。您只需在購買實例時,勾選eRDMA選項,即可實現eRDMA網絡的開啟,無需再額外付費。
規模部署
傳統的RDMA依賴于網絡的無損特性,規模部署成本高、規模部署困難。而eRDMA在實現中采用了自研的擁塞控制CC算法,容忍VPC網絡中的傳輸質量變化(延遲、丟包等),在有損的網絡環境中依然擁有良好的性能表現。
彈性擴展
不同于傳統的RDMA網卡需要單獨一個硬件網卡,eRDMA是基于神龍架構的一款原生帶有云屬性的RDMA HCA卡,可以在使用ECS的過程中動態添加設備,支持熱遷移,部署十分靈活。
共享VPC網絡
eRDMA依附于彈性網卡(ENI),網絡可完全復用,可以在不改變業務組網的情況下,即可在原來的網絡下激活RDMA功能,體驗到RDMA的優勢。
應用場景
傳統的TCP/IP一直是業界主流的網絡通信協議,眾多應用都是基于TCP/IP構建的,但隨著數據中心相關的業務蓬勃發展,應用對于網絡的性能需求(如延遲、吞吐)越來越高,受限于TCP/IP的局限性(如拷貝開銷大、協議棧處理厚、CC算法復雜、上下文切換頻繁等),TCP/IP的網絡通信性能已經成為應用性能提升的瓶頸。
RDMA解決了這些痛點問題。相對于TCP/IP,RDMA實現了零拷貝、內核旁路等特性,避免了拷貝、頻繁的上下文切換等開銷,相對于TCP/IP的通信,做到了低延遲、高吞吐以及低CPU占用。但是昂貴的價格以及運維成本讓很多應用望而卻步,RDMA的受眾相對較少。
阿里云的eRDMA從設計之初就是要做云上普惠的能力,既要滿足客戶對RDMA低延時的需求,又要降低大眾化場景的適配門檻,讓更多的應用可以上云體驗到更好的性能。普惠的RDMA網絡帶來了應用場景的豐富化,相對于傳統的線下RDMA的應用場景,eRDMA可以用在更加豐富的場景,例如緩存數據庫(Redis)、大數據(Spark)、HPC(WRF)、AI訓練等。并且在這些領域內,均取得了可觀的性能收益。
使用限制
在使用eRDMA時,需確保實例滿足一些約束條件。
ECS實例:配置約束請參見在企業級實例上配置eRDMA。
GPU實例:配置約束請參見在GPU實例上配置eRDMA。