400-638-8808
|
微信公眾號




穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術
易管理 免維護


摘要:遠程直接內(nèi)存訪問(即Remote Direct Memory Access)是一種直接內(nèi)存訪問技術,它將數(shù)據(jù)直接從一臺計算機的內(nèi)存?zhèn)鬏數(shù)搅硪慌_計算機,無需雙方操作系統(tǒng)的介入。
RDMA簡介
傳統(tǒng)的TCP/IP技術在數(shù)據(jù)包處理過程中,要經(jīng)過操作系統(tǒng)及其他軟件層,需要占用大量的服務器資源和內(nèi)存總線帶寬,數(shù)據(jù)在系統(tǒng)內(nèi)存、處理器緩存和網(wǎng)絡控制器緩存之間來回進行復制移動,給服務器的CPU和內(nèi)存造成了沉重負擔。尤其是網(wǎng)絡帶寬、處理器速度與內(nèi)存帶寬三者的嚴重”不匹配性”,更加劇了網(wǎng)絡延遲效應。
RDMA是一種新的內(nèi)存訪問技術,RDMA讓計算機可以直接存取其他計算機的內(nèi)存,而不需要經(jīng)過處理器耗時的處理。RDMA將數(shù)據(jù)從一個系統(tǒng)快速移動到遠程系統(tǒng)存儲器中,而不對操作系統(tǒng)造成任何影響。RDMA技術的原理及其與TCP/IP架構(gòu)的對比如下圖所示。

因此,RDMA可以簡單理解為利用相關的硬件和網(wǎng)絡技術,服務器1的網(wǎng)卡可以直接讀寫服務器2的內(nèi)存,最終達到高帶寬、低延遲和低資源利用率的效果。如下圖所示,應用程序不需要參與數(shù)據(jù)傳輸過程,只需要指定內(nèi)存讀寫地址,開啟傳輸并等待傳輸完成即可。

哪些網(wǎng)絡協(xié)議支持RDMA
InfiniBand(IB): 從一開始就支持RDMA的新一代網(wǎng)絡協(xié)議。由于這是一種新的網(wǎng)絡技術,因此需要支持該技術的網(wǎng)卡和交換機。
RDMA過融合以太網(wǎng)(RoCE): 一種允許通過以太網(wǎng)進行RDMA的網(wǎng)絡協(xié)議。其較低的網(wǎng)絡頭是以太網(wǎng)頭,其上網(wǎng)絡頭(包括數(shù)據(jù))是InfiniBand頭。這允許在標準以太網(wǎng)基礎架構(gòu)(交換機)上使用RDMA。只有NIC應該是特殊的,并支持RoCE。
互聯(lián)網(wǎng)廣域RDMA協(xié)議(iWARP): 允許通過TCP執(zhí)行RDMA的網(wǎng)絡協(xié)議。在IB和RoCE中存在功能,iWARP不支持這些功能。這允許在標準以太網(wǎng)基礎架構(gòu)(交換機)上使用RDMA。只有NIC應該是特殊的,并支持iWARP(如果使用CPU卸載),否則所有iWARP堆棧都可以在SW中實現(xiàn),并且丟失了大部分的RDMA性能優(yōu)勢。
RDMA優(yōu)勢
在實現(xiàn)上,RDMA實際上是一種智能網(wǎng)卡與軟件架構(gòu)充分優(yōu)化的遠端內(nèi)存直接高速訪問技術,通過在網(wǎng)卡上將RDMA協(xié)議固化于硬件,以及支持零復制網(wǎng)絡技術和內(nèi)核內(nèi)存旁路技術這兩種途徑來達到其高性能的遠程直接數(shù)據(jù)存取的目標。
(1)零復制:零復制網(wǎng)絡技術使網(wǎng)卡可以直接與應用內(nèi)存相互傳輸數(shù)據(jù),從而消除了在應用內(nèi)存與內(nèi)核之間復制數(shù)據(jù)的需要。因此,傳輸延遲會顯著減小。
(2)內(nèi)核旁路:內(nèi)核協(xié)議棧旁路技術使應用程序無需執(zhí)行內(nèi)核內(nèi)存調(diào)用就可向網(wǎng)卡發(fā)送命令。在不需要任何內(nèi)核內(nèi)存參與的條件下,RDMA請求從用戶空間發(fā)送到本地網(wǎng)卡并通過網(wǎng)絡發(fā)送給遠程網(wǎng)卡,這就減少了在處理網(wǎng)絡傳輸流時內(nèi)核內(nèi)存空間與用戶空間之間環(huán)境切換的次數(shù)。
(3)沒有CPU參與: 應用程序可以訪問遠程內(nèi)存,而不占用遠程機器中的任何CPU。遠程存儲器將被讀取,無需任何干預的遠程進程(或處理器)。遠程CPU中的緩存將不會被訪問的內(nèi)存內(nèi)容填滿。
(4)基于消息的事務:數(shù)據(jù)被作為離散消息處理,而不是作為流,這消除了應用將流分成不同消息/事務的需要。
(5)分散/收集條目支持: RDMA支持本地處理多個分散/收集條目,即讀取多個內(nèi)存緩沖區(qū)并將其作為一個流或獲取一個流并將其寫入多個內(nèi)存緩沖區(qū)。
在具體的遠程內(nèi)存讀寫中,RDMA操作用于讀寫操作的遠程虛擬內(nèi)存地址包含在RDMA消息中傳送,遠程應用程序要做的只是在其本地網(wǎng)卡中注冊相應的內(nèi)存緩沖區(qū)。遠程節(jié)點的CPU除在連接建立、注冊調(diào)用等之外,在整個RDMA數(shù)據(jù)傳輸過程中并不提供服務,因此沒有帶來任何負載。
RDMA的不同實現(xiàn)
常見的RDMA實現(xiàn)包括虛擬接口架構(gòu)、基于融合以太網(wǎng)的RDMA(RoCE)、[8][9]InfiniBand、iWARP。如下圖所示,RDMA的實現(xiàn)方式主要分為InfiniBand和Ethernet兩種傳輸網(wǎng)絡。而在以太網(wǎng)上,又可以根據(jù)與以太網(wǎng)融合的協(xié)議棧的差異分為iWARP和RoCE(包括RoCEv1和RoCEv2)。

其中,InfiniBand是最早實現(xiàn)RDMA的網(wǎng)絡協(xié)議,被廣泛應用到高性能計算中。但是InfiniBand和傳統(tǒng)TCP/IP網(wǎng)絡的差別非常大,需要專用的硬件設備,承擔昂貴的價格。鑒于此,這里不對InfiniBand做過多的討論。
在基于以太網(wǎng)的版本中,下面重點選擇RoCEv2來討論?梢钥闯觯琑oCEv2的協(xié)議棧包括IB傳輸層、TCP/UDP、IP和Ethernet,其中,后面三層都使用了TCP/IP中相應層次的封包格式。RoCEv2的封包格式如下圖所示。

其中,UDP包頭中,目的端口號為4791即代表是RoCEv2幀。IB BTH即InfiniBand Base Transport Header,定義了IB傳輸層的相應頭部字段。IB Payload即為消息負載。ICRC和FCS分別對應冗余檢測和幀校驗。
IB BTH格式和字段定義如下圖。其中,Opcode用于表明該包的type或IB PayLoad中更高層的協(xié)議類型。S是Solicited Event的縮寫,表明回應者產(chǎn)生應該產(chǎn)生一個事件。M是MigReq的縮寫,一般用于遷移狀態(tài)。Pad表明有多少額外字節(jié)被填充到IB PayLoad中。TVer即Transport Header Version,表明該包的版本號。Partition Key用來表征與本Packet關聯(lián)的邏輯內(nèi)存分區(qū)。rsvd是reserved的縮寫,該字段是保留的。Destination QP表明目的端Queue Pair序號。A是Acknowledge Request,表示該packet的應答可由響應者調(diào)度。PSN是Packet Sequence Number,用來檢測丟失或重復的數(shù)據(jù)包。

最后,順帶說下RDMA網(wǎng)卡的出包。如前文所述,RDMA是一種智能網(wǎng)卡與軟件架構(gòu)充分優(yōu)化的遠端內(nèi)存直接高速訪問技術,通過將RDMA技術固化于網(wǎng)卡上實現(xiàn),即,在RoCEv2協(xié)議棧中,IB BTH、UDP、IP以及Ethernet Layer全是固化在網(wǎng)卡上的。用戶空間的Application通過OFA Stack(亦或其他組織編寫的RDMA stack)提供的verbs編程接口(比如WRITE、READ、SEND等)形成IB payload,接下來便直接進入硬件,由RDMA網(wǎng)卡實現(xiàn)負載的層層封裝。
產(chǎn)品與服務
香港服務器 香港高防服務器 美國服務器 韓國服務器 新加坡服務器 日本服務器 臺灣服務器云服務器
香港云主機 美國云主機 韓國云主機 新加坡云主機 臺灣云主機 日本云主機 德國云主機 全球云主機高防專線
海外高防IP 海外無限防御 SSL證書 高防CDN套餐 全球節(jié)點定制 全球?qū)>GPLC關于我們
關于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團隊建設 加入天下數(shù)據(jù) 媒體報道 榮譽資質(zhì) 付款方式關注我們
微信公眾賬號
新浪微博
天下數(shù)據(jù)手機站 關于天下數(shù)據(jù) 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務器、美國服務器、海外云主機、海外vps主機租用托管以及服務器解決方案-做天下最好的IDC服務商
《中華人民共和國增值電信業(yè)務經(jīng)營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運營)聯(lián)合版權
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務熱線:4006388808香港服務電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務代理北京新網(wǎng)數(shù)碼信息技術有限公司的產(chǎn)品