簡(jiǎn)述:摘要:遠(yuǎn)程直接內(nèi)存訪問(wèn)(即RemoteDirectMemoryAccess)是一種直接內(nèi)存訪問(wèn)技術(shù),它將數(shù)據(jù)直接從一臺(tái)計(jì)算機(jī)的內(nèi)存?zhèn)鬏數(shù)搅硪慌_(tái)計(jì)算機(jī),無(wú)需雙方操作系統(tǒng)的介入。RDMA簡(jiǎn)介傳統(tǒng)的TCP/IP技術(shù)在數(shù)據(jù)包處理過(guò)程中,要經(jīng)過(guò)操作系
摘要:遠(yuǎn)程直接內(nèi)存訪問(wèn)(即RemoteDirectMemoryAccess)它是一種直接內(nèi)存訪問(wèn)技術(shù),它直接將數(shù)據(jù)從一臺(tái)計(jì)算機(jī)的內(nèi)存?zhèn)鬏數(shù)搅硪慌_(tái)計(jì)算機(jī),而無(wú)需雙方操作系統(tǒng)的干預(yù)。
RDMA簡(jiǎn)介
傳統(tǒng)的TCP/IP在數(shù)據(jù)包處理過(guò)程中,通過(guò)操作系統(tǒng)的服務(wù)器資源和內(nèi)存總線帶寬,數(shù)據(jù)在系統(tǒng)內(nèi)存、處理器緩存和網(wǎng)絡(luò)控制器緩存之間來(lái)回復(fù)制和移動(dòng)CPU內(nèi)存造成沉重負(fù)擔(dān)。特別是網(wǎng)絡(luò)帶寬、處理器速度和內(nèi)存帶寬”不匹配性”,網(wǎng)絡(luò)延遲效應(yīng)加劇。
RDMA是一種新的內(nèi)存訪問(wèn)技術(shù),RDMA在沒有處理器耗時(shí)處理的情況下,計(jì)算機(jī)可以直接訪問(wèn)其他計(jì)算機(jī)的內(nèi)存。RDMA在不影響操作系統(tǒng)的情況下,將數(shù)據(jù)從系統(tǒng)快速移動(dòng)到遠(yuǎn)程系統(tǒng)存儲(chǔ)器。RDMA技術(shù)原理及其和TCP/IP如下圖所示,
因此,RDMA它可以簡(jiǎn)單地理解為直接讀寫服務(wù)器2的內(nèi)存,最終達(dá)到高帶寬、低延遲、低資源利用率的效果。如下圖所示,應(yīng)用程序不需要參與數(shù)據(jù)傳輸過(guò)程,只需指定內(nèi)存讀寫地址,打開傳輸并等待傳輸完成。
支持哪些網(wǎng)絡(luò)協(xié)議?RDMA
InfiniBand(IB):從一開始就支持RDMA新一代網(wǎng)絡(luò)協(xié)議。由于這是一種新的網(wǎng)絡(luò)技術(shù),需要支持網(wǎng)卡和交換機(jī)。
RDMA以太網(wǎng)以太網(wǎng)(RoCE):允許通過(guò)以太網(wǎng)進(jìn)行RDMA網(wǎng)絡(luò)協(xié)議。其較低的網(wǎng)絡(luò)頭為以太網(wǎng)頭,其網(wǎng)絡(luò)頭(包括數(shù)據(jù))為InfiniBand頭部。這允許用于標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施(交換機(jī))RDMA。只有NIC應(yīng)該是特殊的,并支持它RoCE。
互聯(lián)網(wǎng)廣域RDMA協(xié)議(iWARP):允許通過(guò)TCP執(zhí)行RDMA網(wǎng)絡(luò)協(xié)議。在IB和RoCE中存功能,iWARP不支持這些功能。這允許用于標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施(交換機(jī))RDMA。只有NIC應(yīng)該是特殊的,并支持它iWARP(如果使用CPU卸載),否則一切iWARP堆棧都可以SW實(shí)現(xiàn)并丟失了大部分RDMA性能優(yōu)勢(shì)。
RDMA優(yōu)勢(shì)
在實(shí)現(xiàn)上,RDMA它實(shí)際上是一種智能網(wǎng)卡和軟件架構(gòu)完全優(yōu)化的遠(yuǎn)端內(nèi)存直接高速訪問(wèn)技術(shù)RDMA協(xié)議固化于硬件,以及支持零復(fù)制網(wǎng)絡(luò)技術(shù)和內(nèi)核內(nèi)存旁路技術(shù)這兩種途徑來(lái)達(dá)到其高性能的遠(yuǎn)程直接數(shù)據(jù)存取的目標(biāo)。
(1)零復(fù)制:零復(fù)制網(wǎng)絡(luò)技術(shù)使網(wǎng)卡能夠直接與應(yīng)用內(nèi)存?zhèn)鬏敂?shù)據(jù),從而消除應(yīng)用內(nèi)存與內(nèi)核之間復(fù)制數(shù)據(jù)的需要。因此,傳輸延遲將顯著減少。
(2)內(nèi)核旁路:內(nèi)核協(xié)議棧旁路技術(shù)可以向網(wǎng)卡發(fā)送命令,無(wú)需內(nèi)核內(nèi)存調(diào)用。在沒有任何內(nèi)核內(nèi)存參與的情況下,RDMA請(qǐng)求從用戶空間發(fā)送到本地網(wǎng)卡,并通過(guò)網(wǎng)絡(luò)發(fā)送到遠(yuǎn)程網(wǎng)卡,減少了內(nèi)存空間與用戶空間之間的環(huán)境切換次數(shù)。
(3)沒有CPU參與:應(yīng)用程序可以訪問(wèn)遠(yuǎn)程內(nèi)存而不占用遠(yuǎn)程機(jī)器中的任何內(nèi)存CPU。遠(yuǎn)程存儲(chǔ)器將被讀取,遠(yuǎn)程過(guò)程(或處理器)無(wú)需任何干預(yù)。CPU緩存不會(huì)被訪問(wèn)的內(nèi)存填滿。
(4)基于消息的事務(wù):數(shù)據(jù)被視為離散消息而不是流,消除了應(yīng)用程序?qū)⒘鞣譃椴煌?事務(wù)的需要。
(5)支持分散/收集項(xiàng)目:RDMA支持本地處理多個(gè)分散/收集項(xiàng)目,即讀取多個(gè)內(nèi)存緩沖區(qū),將其作為一個(gè)流或獲取一個(gè)流,并將其寫入多個(gè)內(nèi)存緩沖區(qū)。
在具體的遠(yuǎn)程內(nèi)存讀寫中,RDMA遠(yuǎn)程虛擬內(nèi)存地址用于讀寫操作,包括RDMA遠(yuǎn)程應(yīng)用程序所要做的就是在其本地網(wǎng)卡中注冊(cè)相應(yīng)的內(nèi)存緩沖區(qū)。遠(yuǎn)程節(jié)點(diǎn)CPU除了連接建立、注冊(cè)調(diào)用等。RDMA在數(shù)據(jù)傳輸過(guò)程中不提供服務(wù),因此不會(huì)帶來(lái)任何負(fù)載。
RDMA的不同實(shí)現(xiàn)
常見的RDMA基于以太網(wǎng)集成的虛擬接口架構(gòu)實(shí)現(xiàn)RDMA(RoCE)、[8][9]InfiniBand、iWARP。如下圖所示,RDMA實(shí)現(xiàn)主要分為InfiniBand和Ethernet兩種傳輸網(wǎng)絡(luò)。在以太網(wǎng)上,可以根據(jù)與以太網(wǎng)融合的協(xié)議棧的差異進(jìn)行劃分iWARP和RoCE(包括RoCEv1和RoCEv2)。
其中,InfiniBand是最早實(shí)現(xiàn)RDMA高性能計(jì)算廣泛應(yīng)用于網(wǎng)絡(luò)協(xié)議。InfiniBand和傳統(tǒng)TCP/IP網(wǎng)絡(luò)差異很大,需要特殊的硬件設(shè)備,價(jià)格昂貴。有鑒于此,這是錯(cuò)誤的InfiniBand討論太多。
以下是基于以太網(wǎng)的版本的重點(diǎn)選擇RoCEv討論。RoCEv2協(xié)議棧包括IB傳輸層、TCP/UDP、IP和Ethernet,其中使用了后三層TCP/IP相應(yīng)層次的封包格式。RoCEv如下圖所示。
其中,UDP目的端口號(hào)為4791,即包頭RoCEv2幀。IBBTH即InfiniBandBaseTransportHeader,定義了IB相應(yīng)的頭部字段傳輸層。IBPayload即新聞負(fù)載。ICRC和FCS冗余檢測(cè)和幀校驗(yàn)分別對(duì)應(yīng)。
IBBTH格式和字段定義如下圖所示。其中,Opcode用來(lái)表示包type或IBPayLoad中高層協(xié)議類型。S是SolicitedEvent縮寫表明回應(yīng)者應(yīng)該發(fā)生事件。M是MigReq一般用于遷移狀態(tài)的縮寫。Pad表示填充了多少額外字節(jié)IBPayLoad中。TVer即TransportHeaderVersion,顯示包的版本號(hào)。PartitionKey用于表征和本Packet邏輯內(nèi)存分區(qū)相關(guān)。rsvd是reserved該字段保留了縮寫。DestinationQP表明目的端QueuePair序號(hào)。A是AcknowledgeRequest,表示該packet響應(yīng)者可以調(diào)度響應(yīng)。PSN是PacketSequenceNumber,用于檢測(cè)丟失或重復(fù)的數(shù)據(jù)包。
最后,順便說(shuō)一下RDMA網(wǎng)卡的出包。如前文所述,RDMA它是一種智能網(wǎng)卡和軟件架構(gòu)完全優(yōu)化的遠(yuǎn)端內(nèi)存直接高速訪問(wèn)技術(shù)RDMA在網(wǎng)卡上實(shí)現(xiàn)技術(shù)固化,即RoCEv2協(xié)議棧中,IBBTH、UDP、IP以及EthernetLayer都固化在網(wǎng)卡上。用戶空間的Application通過(guò)OFAStack(或其他組織編寫的)RDMAstack)提供的verbs編程如WRITE、READ、SEND等)形成IBpayload,然后直接進(jìn)入硬件,從RDMA網(wǎng)卡實(shí)現(xiàn)負(fù)載層層封裝。
騰佑科技(www.mubashirfilms.com)成立于2009年,總部位于河南鄭州,是一家集互聯(lián)網(wǎng)基礎(chǔ)設(shè)施及軟硬件于一體化的高新技術(shù)企業(yè),具有IDC/ISP/ICP/云牌照、雙軟等資質(zhì),并擁有多個(gè)國(guó)家版權(quán)局認(rèn)證。公司自成立以來(lái),一直致力于發(fā)展互聯(lián)網(wǎng)IDC數(shù)據(jù)中心DataCenter、云計(jì)算Cloud、大數(shù)據(jù)BigDate、人工智能AI、內(nèi)容加速CDN、互聯(lián)網(wǎng)安全、軟件定制開發(fā)等產(chǎn)品服務(wù)及行業(yè)客戶技術(shù)一體化智能解決方案;2018年成為百度智能云AI河南服務(wù)中心。
售前咨詢熱線:400-996-8756
備案提交:0371-89913068
售后客服:0371-89913000
搜索詞
熱門產(chǎn)品推薦