基于RDMA高速网络的高性能分布式系统
基于RDMA高速網絡的高性能分布式系統
魏星達,陳榕,陳海波
上海交通大學并行與分布式系統研究所,上海 200240
摘要:高速的RDMA網絡設備已經被廣泛部署在現代數據中心。RDMA可以從兩方面加速分布式系統:首先可以提供一種快速的消息處理機制,其次RDMA提供了新的硬件原語。這極大地提升了處理器的利用率以及對RDMA的使用率,但是需要重新設計系統。介紹了RDMA的研究進展,概述了近年來利用RDMA加速分布式系統的工作,包括基于RDMA重新設計的系統以及如何更好地利用RDMA的設計,并給出了未來的研究方向。
關鍵詞:?分布式系統;鍵值存儲系統;圖處理系統;聯機事務處理系統;遠程過程調用
論文引用格式:
魏星達, 陳榕, 陳海波. 基于RDMA高速網絡的高性能分布式系統[J]. 大數據, 2018, 4(4): 3-14.
WEI X?D, CHEN R, CHEN H?B. Optimizing distributed systems with remote direct memory access[J]. Big Data Research, 2018, 4(4): 3-14.
1? 引言
?對于分布式系統而言,如何加速網絡通信一直以來都是一個非常重要的問題。例如此前的研究指出,將一個單機鍵值存儲系統應用到基于客戶機—服務器(client-server)模式的分布式環境中,即便使用了批量處理(batching)等優化技術,仍然會造成大幅的性能下降。分布式系統依賴網絡通信完成節點間的協作,因此通信開銷很大程度上決定了應用程序的整體性能。傳統的網絡協議棧(如TCP/IP)并不是針對高性能應用場景設計的,因此難以提供高效的通信支持,系統調用和內存復制等操作都會帶來巨大的性能開銷。
?遠程直接內存訪問(remote direct memory access,RDMA)技術是一種最早應用于高性能計算領域的網絡通信協議,當前已在數據中心逐漸普及。RDMA允許用戶程序繞過操作系統內核,直接和網卡交互進行網絡通信,從而提供高帶寬和極小時延。此外,RDMA還提供了one-sided原語(one-sided primitive),即網卡可以在沒有遠端節點幫助的情況下,由網卡直接發起和完成對遠程內存的讀寫請求,在提升CPU利用率的同時,為分布式系統的設計提供了更多的可能。從系統軟件設計的角度而言,可以直接將RDMA視為一種更快的網絡,并通過模擬TCP/IP的方式(即IBoIP模式)直接加速現有應用。然而這樣無法完全利用RDMA提供的性能優勢。近幾年來,學術界以及工業界提出了一系列基于RDMA的分布式系統,探索了如何通過對現有系統的再設計充分發揮出RDMA的硬件性能,實現數量級的性能提升。下面首先對RDMA技術進行簡要介紹,并進一步從RDMA優化技術、遠程過程調用實現、分布式鍵值存儲系統、分布式事務處理系統等方面介紹當前領域的研究進展以及筆者在這些領域中的一些工作。
2 RDMA概述
? ??RDMA網絡協議允許用戶程序繞過操作系統內核直接進行網絡通信。這樣既避免了用戶空間到系統空間的復制開銷,也可以省去進入內核處理的開銷,極大地降低了網絡時延,并且提高了吞吐量。此外, RDMA技術還提供了新的網絡原語,網卡可以繞過處理器直接處理對服務器內存的讀寫請求。網卡提供了對遠程內存的讀(read)、寫(write)和原子(atomics)操作,可以極大地提升遠程服務器的CPU使用效率。圖1展示了使用不同網絡架構讀取服務器端內存中數據的操作流程。圖1(a)展示了如何利用RDMA的one-sided特性來減少服務器端的開銷,服務器的網卡使用直接內存存取(direct memory access, DMA)讀取用戶需要的內存數據,并返回給用戶。圖1(b)展示了如何利用RDMA的消息原語(send/recv)來加速數據傳遞過程。客戶端可以直接發送請求給網卡,網卡使用direct請求讀回,并發送給遠端服務器。這樣節省了用戶程序進入內核以及內存復制的開銷。圖1(c)展示了使用傳統網絡消息機制(TCP/IP)處理讀寫請求的過程。可以看到,用戶程序首先進入操作系統內核,將請求復制到內核的緩沖區,內核再給網卡發送請求。服務端接收到用戶請求后,讀取內存內容,再以相同的步驟讀取的內存發回給客戶端。?
圖1RDMA與傳統網絡的對比
? 表1總結了RDMA支持的3種操作。send/recv操作支持傳統消息通信的方法:一臺機器可以用send操作給另一臺機器發送消息,同時它可以用recv操作接收其他機器發送給它的消息。一臺機器可以利用write請求對其他機器的內存進行寫操作,使用read請求進行讀操作。atomics操作包括原子比較再替換(compare and swap,CAS)以及讀再增加(fetch and add,FAD)操作。這里筆者區分了read/atomics操作和send/write操作,這是由于send/write操作不需要返回遠端服務器端的狀態,而read/atomics操作需要將遠端服務器的內存內容返回(CAS操作會將比較的值返回給用戶程序)。
表1RDMA的連接模式以及支持的操作
? ?RDMA使用預先建立好的連接對(queue pair,QP)完成網絡通信。一個連接擁有兩個隊列(queue):一個發送隊列和一個接收隊列。發送隊列記錄著需要網卡發送的請求,接收隊列記錄其他網卡的請求以及發送隊列中請求完成的事件。RDMA支持創建多種不同種類的連接,每種連接支持不同的RDMA請求種類,表1總結了不同種類的QP以及其所支持的操作類型。可靠連接(reliable connection, RC)支持RDMA的所有操作類型。不可靠連接(unreliable connection,UC)只支持send/recv操作和write操作,而不可靠數據報(unreliable datagram,UD)只支持send/recv操作。RC的QP有可靠性的保證,請求的完成狀態會被返回給用戶,因此RC的QP是最為常用的RDMA連接。然而,在特定場景中其他QP可以用來提升系統的性能。
當前流行的RDMA實現主要有3種:InfiniBand、RoCE和iWARP。InfiniBand是針對RDMA特性設計的,較早出現在高性能計算領域,并且近幾年開始在數據中心得到普及。RoCE和iWARP可以在傳統以太網環境中實現RDMA的特性。 ? ? ? ? ? ? ? ? ? ? ? ? ?
3 RDMA研究進展? ?
? ? 目前學術界對RDMA在分布式場景中的應用主要涉及兩個方面:一是如何更加高效地配置和使用RDMA技術本身;二是如何利用RDMA特性加速現有系統。
3.1 RDMA優化技術
現有的RDMA優化工作主要集中在如何優化網卡資源的使用上。現有網卡一般使用DMA對內存數據進行操作。除了使用DMA對 數據進行讀取以外,網卡還需要使用DMA讀取元數據,比如QP的信息以及和用戶態內存相關的信息,一般被稱為內存注冊(memory registration,MR)。這些元數據的DMA操作會顯著地影響RDMA的使用性能,網卡會使用自帶的內存來緩存QP和MR的信息。然而網卡的內存大小比較有限,通常無法緩存所有的元數據。因此用戶程序需要仔細地管理QP和MR創建的數量和使用方式。
MR記錄了用戶態虛擬內存地址到物理內存的頁表。為了減少網卡需要注冊的頁表的數量,FaRM使用了2GB的物理頁對RDMA進行注冊,從而顯著地減少了網卡需要存儲的虛擬內存翻譯項(page translation entry)。當需要注冊大量內存時,該方法能夠顯著提升系統的性能。
對于RC和UC模式的QP來說,一個客戶端線程需要使用不同的QP與不同服務器進行鏈接。這樣當服務器數量和客戶端線程數量上升的時候,通常一臺機器會建立許多QP,從而造成網卡緩存的缺失。QP的操作是線程安全的,因此FaRM讓線程之間共享QP,以減少需要創建的QP的總數量。由于共享QP需要額外的同步開銷,FaRM利用群組來減少同步開銷。
當一臺機器運行多個RDMA應用時,應用需要建立單獨的MR,而運行多個應用時會注冊大量MR,造成網卡資源緊張。LITE利用一個內核層管理RDMA內存注冊。所有的應用進入內 核發送R DMA請求,內核負責監測應用RDMA請求的讀寫權限。這樣一臺機器只需要一個MR即可注冊所有的內存,極大地減少了在網卡上建立的MR的數量。
此外,應用需要使用內存映射I/O (memory-mapped I/O,MMIO)給網卡發送請求,而MMIO通常有比較大的開銷。卡耐基梅隆大學的研究人員提出,多個RDMA請求可以被批量提交給網卡,這樣只需要一個MMIO就能發送多個請求給網卡,其他請求的內容網卡可以使用DMA自行讀取。doorbell batching技術能夠更好地利用網卡和處理器間的PCIe帶寬,同時減少了發送端的處理器開銷,因此具有更好的性能。需要注意的是,只有一個QP的請求才能夠以doorbell batching的方式發送給網卡。
3.2 遠程過程調用實現
遠程過程調用(remote procedure call,RPC)是分布式計算中最基礎的機器間的交互方式。一臺機器可以像調用一個本地函數一樣調用遠端機器的函數。高效實現RPC的核心是實現一個消息傳輸機制:調用方(客戶端)需要將調用的函數以及參數發送給處理方(服務器端),而服務器端需要通過消息傳輸機制將函數執行的結果返回給調用方。
RDMA的QP直接提供send/recv接口實現RPC通信,然而send/recv操作在網卡端需要復雜的邏輯進行處理,通常性能沒有直接使用R DMA one-sided操作好。最近學術界和工業界提出了一系 列基于RDMA的對RPC通信的優化。
FaRM使用one-sided RDMA write發送消息,服務器通過輪詢內存內容來接收消息。FaRM利用RDMA提供的緩存一致性和順序寫的特性保證服務器能完整地收到消息。使用FaRM消息機制的吞吐量相比傳統網絡(TCP/IP),最高能有一個數量級的提升。Herd優化了RPC在非對稱環境下的性能。非對稱環境指的是一個服務器需要和多個客戶端進行交互的環境。Herd在客戶端使用one-sided RDMA write發送消息,這是因為one-sided操作的接收端(in-bound)性能最好。Herd使用基于UD的send/recv操作從服務器端向客戶端回復,這是由于UD的QP的連接數比RC的QP少,從而具有更好的可擴展性和發送端(out-bound)性能。FaSST進一步將基于UD的send/recv操作應用到一個對稱的場景中,利用doorbell batching對UD提升比較大的特性,FaSST RPC對發送方具有更好的性能。這對于一些發送消息不大的場景(如事務處理場景)非常有效。基于one-sided RDMA write的消息存在接收方的輪詢開銷隨著機器數增加而增加的問題,這是由于每臺發送方在接收方這里都需要有一個獨立的緩存來存儲消息。Octopus提出的RPC實現了使用RDMA one-sided write-with-IMM操作來發送消息,通過在接收方產生一個write完成事件,不同服務器的寫請求事件可以被接收方一次性地獲取,從而避免了不必要的輪詢。Su M等人提出了一種新的思路——遠程獲取范式(remote fetching paradigm,RFP)來實現消息傳輸,服務器將請求的回復緩存在本地內存中,客戶端使用one-sided RDMA read來讀取消息。這樣盡可能地利用了RDMA的性能,因為RDMA out-bound的性能比in-bound的性能差。
3.3 分布式鍵值存儲系統優化
內存鍵值存儲(key-value store)是分布式系統的一個重要組件。它可以作為一個單獨數據庫,也可以作為一個緩存層來加速基于磁盤的存儲系統。鍵值數據庫被廣泛部署在大規模網絡服務商,如Amazon和Facebook等。鍵值數據庫一般提供兩種操作:Get(key)操作是指給定一個數據的key(鍵),返回數據的值;Put(key,value)操作將key對應的數據值更新為value。
鍵值數據庫的操作都是簡單的讀寫操作,因此可以有效地利用RDMA。Pliaf使用one-sided讀操作來實現Get操作,從而達到高性能和高處理 器利用率。直接使用read操作有一個問題,即一個Get/Put的查找通常需要進行多次內存讀操作,造成多次網絡通信。為了減少查詢的網絡通信次數,Pliaf利用Cuckoo Hash表作為其底層的索引實現。Pliaf的Put操作發送給服務器處理,同時使用自驗證(selfverifying)數據結構來確保one-sided讀操作讀回的數據在有并發的Put操作的情況下是一致的。FaRM-KV使用了一個優化過的HopscotchHash表來同時達到比較好的存儲利用率和單詞查找需要的讀操作。Herd利用Herd-RPC優化鍵 值存儲系統。通過優化,RPC可以擁有與read操作相似或者比read操作更好的性能,并且RPC有更少的網絡傳輸次數。因此一個為鍵值存儲優化過的RPC比基于多次onesided讀操作的查詢操作有更好的性能。Cell提供了一種可以用one-sided讀操作實現Get的B樹方案,從而使鍵值存儲系統支持范圍搜索(range query)。雖然B樹的查找需要多個RDMA read,使用RDMA read在服務器負載比較高的情況下仍然能夠獲得性能優勢。
3.4 分布式事務處理系統優化
許多電子商務系統依賴在線事務處理(on-line transaction processing, OLTP)作為后端支持。在分布式事務處理中,事務需要給多臺機器發送消息進行數據同步,同時服務器需要一直處理事務請求。如何高效地處理事務中的網絡請求對系統性能的影響非常重要。
FaRM利用一個混合的處理方式來執行事務,如數據讀取和驗證步驟使用RDMA read操作執行,其余的操作使用FaRM RPC實現。FaSST使用一個針對RDMA優化過的RPC庫來支持事務處理。Zamanian E等人提出了一個新的基于RDMA的執行架構——NAM(networkattached-memory),在NAM架構中客戶端在大部分情況下只用RDMA和服務器交互。他們在NAM架構中優化了快照隔離(snapshot isolation,SI)協議,從而使得基于SI的分布式事務處理系統能夠借助RDMA擴展到大規模集群中。
3.5 其他利用RDMA的系統
除了鍵值存儲系統和事務處理系統外,還有許多根據RDMA特性設計的系統。GraM利用一個對多核和RDMA感知的通信棧來優化分布式圖分析系統。Octopus是一個基于RDMA的分布式文件系統,利用RDMA 來加速文件系統的文件讀取修改操作,同時使用基于RDMA優化的RPC方法來管理文件系統的元數據。DrTM+B是一個高效的在線數據遷移系統,利用RDMA read進行數據遷移,由于read操作繞過了處理器,數據遷移的過程基本不影響正常請求的處理。最后,還有一系列使用RDMA技術來加速一致性協議實現的工作。APUS使用基于RDMA的一致性(consensus)協議將用戶的請求進行備份 ,在不修改服務器程序的情況下提供高效的可用性。
4 RDMA的應用
4.1 分布式鍵值存儲系統:DrTM-KV
? ?DrTM-KV是一個基于one-sided RDMA操作的高效鍵值存儲系統,能夠為分布式事務處理系統提供數據存儲支持。在事務處理系統中,處理器的計算資源被大量地用在請求處理上,因此提高服務器處理器的利用率非常重要。
4.1.1Cluster hashing
DrTM-KV使用Hash表來索引鍵值數據庫,數據會根據數據鍵(key)來Hash到對應的內存地址,快速找到數據所在的位置。DrTM-KV只使用RDMA read和write操作實現Get和Put操作,這樣就減少了處理器對數據查詢的開銷。這在事務處理的場景中非常重要,因為事務處理場景是一個處理器密集的應用場景。DrTM-KV的設計考慮了減少單次Get和Put操作所需要的內存讀寫次數,以減少對應的網絡通信次數。傳統的基于鏈表的Hash結構使用鏈表來存儲具有相同Hash的數據值,以解決Hash沖突(Hash collision)問題。這樣一次查找操作可能需要多次內存訪問才能夠找到所需的數據值。這種情況對于基于RDMA的實現不是很友好,因為多次訪問對應了多次RDMA read請求。即使RDMA比傳統網絡快一個數量級,one-sided請求仍然比內存訪問慢一個數量級。這使得發送多次one-sided請求的效率低于發送一個網絡消息讓服務器幫忙處理的效率。此外,為了減少每次Get以及Put操作所需的on e-sided RDMA操作次數,DrTM-KV使用聚集(clustering)來減少有Hash沖突的情況下所需的one sided操作次數。整個Hash表基于傳統的鏈式Hash表的結構。為了支持使用RDMA的查詢,DrTM-KV將RDMA注冊的區域分為兩個部分:索引結構和數據部分。每個索引部分的bucket記錄了數據的鍵和其對應的值(在數據部分的地址)。
在DrTM-KV中,一個Get/Put操作首先通過Hash函數找到key所在的索引部分的bucket。如果在bucket中找到了key,那么可以直接從bucket中的地址讀取數據的值。否則,需要遍歷下一個bucket中的數據。為了減少每個查詢bucket鏈的次數, DrTM-KV將多個鍵聚集到一個bucket中,這樣有效地減少了鏈表的長度。將數據和索引分開會造成讀取索引內容的不一致問題,在查找完數據地址到數據讀取內容期間,數據的地址可能會被修改。這將導致查找時讀取的數據地址和實際數據的位置不對應。DrTM-KV使用一個校驗機制使得Get/Put操作可以檢測出數據不一致的情況。數據會記錄一個額外的校驗碼,這個校驗碼也會存儲在索引的bucket中。為了節省空間,bucket中只存儲校驗碼的14個bit,通常情況下這樣足夠檢測出不一致的情況。在插入或刪除數據時, bucket和數據的校驗碼會被更新。這樣DrTM-KV通過檢測校驗碼是否一致來檢測數據是否被刪除。
4.1.2 基于數據位置的緩存
經過Cluster hashing的優化,DrTMKV能夠有效地減少Get/Put操作需要查找索引的RDMA read次數。然而在最優情況下,DrTM-KV仍然需要2次RDMA read操作將數據的值讀回:一次查找索引,一次讀取數據的值。為了能夠實現一次RDMA操作便能將數據讀取回來,DrTM-KV在每臺機器上使用了一個緩存來緩存數據鍵對應的值的地址。這樣,當數據的地址被緩存在本地時,本地機器可以直接使用一次RDMA read操作將數據讀回。需要注意的是,DrTM-KV并不緩存數據的值,而只緩存數據的地址,這樣不需要進行數據值的同步。否則,每次數據的更新都需要將其他機器緩存的值更新,這在分布式環境下具有非常大的開銷。
DrTM-KV的緩存在數據被插入或者刪除時才需要更新。為了檢測數據被刪除或插入的情況,DrTM-KV的緩存也借助校驗碼來檢測機器緩存的位置是否失效。緩存中同樣存儲著數據的校驗碼,當從緩存中的位置讀回的數據校驗碼和緩存中的校驗碼不一致時,緩存被認為無效。這時應用需要重新利用RDMA遍歷索引把數據讀回。
通常不需要很大的緩存就能夠記錄很多數據的位置。首先,地址的大小通常比數據的大小小很多;其次,在真實應用場景中數據的訪問模式都是不均勻分布的,也就是說某一小部分數據被訪問的頻率會比其他數據高很多。這樣經常被訪問的數據可以被緩存起來。DrTM-KV利用傳統的緩存驅逐(eviction)機制(如LRU)來控制緩存的大小。
4.2 分布式圖數據查詢系統:Wukong
Wukong是一個高效的分布式資源描述框架(resource description framework,RDF)圖查詢系統。RDF是一種描述網絡資源的框架,被廣泛用來描述網絡中的數據集,例如Google公司的knowledge graph。圖2展示了Wukong的架構。RDF的數據集被劃分后,部署在多臺機器中,其中每臺機器的每個核都共享這個圖。一個用戶請求需要訪問多臺機器的數據。Wukong針對RDMA的特性進行了一系列的優化來加速在RDF上的查詢。首先,Wukong利用一個對RDMA和RDF友好的數據庫來存儲RDF數據,這樣RDF圖能通過RDMA高效地進行查詢。其次,Wukong利用RDMA優化圖查詢的規劃,使用全歷史剪枝(full-history pruning)的方法優化查詢的步驟。最后, Wukong利用RDMA擴展了傳統分布式執行的fork-join模式,提出了in-place模式,并采用in-place和fork-join混合的方法來優化執行。??
圖2Wukong的系統架構
4.2.1 RDMA友好的數據存儲
圖查詢系統一般使用鍵值數據庫來存儲RDF圖。Wukong使用DrTM-KV作為其底層的鍵值存儲系統,這樣Wukong可以直接利用DrTM-KV的許多針對RDMA的優化,例如cluster Hashing和基于位置的緩存。
傳統的RDF存儲使用圖頂點的ID作為數據的鍵,然而這會造成很多冗余的數據傳輸:因為一個頂點會有很多條邊,這些邊都會被劃分到這個頂點的數據中。這樣直接利用頂點ID查詢圖會讀取很多不需要的邊。在數據量很大時,RDMA的性能會急劇下降,因為這時網絡的帶寬會成為制約因素。Wukong采用更細粒度的劃分方式,將圖頂點的ID和邊的方向作為數據庫的鍵。這樣一次查詢只需要返回需要的點和邊,極大地減少了單個查詢所需要的數據傳輸量。
4.2.2 全歷史剪枝方法
一個對RDF的查詢通常會檢索到很大一部分圖數據,因此適當地對要檢索的圖的空間進行剪枝會極大地提升查詢的效率。傳統的方法通常使用單步剪枝法,然而這樣帶來的并發性并不高,下一步查詢需要等到當前查詢的結果完成之后才能進行。Wukong基于RDMA的一個非常有趣的觀察是:RDMA網絡read操作發送1 byte和2 KB時,請求完成的時延幾乎相同。Wukong可以發送更多的消息用來方便剪枝操作,卻不會帶來網絡性能的明顯下降。因此Wukong使用全歷史剪枝技術,在跨機器查詢時,將查詢的歷史完整地發送給對方機器。這樣,在每臺機器執行查詢的時候,所有任務可以依照歷史信息進行獨立剪枝,通過異步執行來提高查詢的并發性。
4.2.3 RDMA友好的執行模式
在傳統分布式計算中,當查詢涉及多臺機器時,服務器利用一個fork-join的模式來計算:服務器發送請求給所有涉及的機器進行計算(fork),然后再匯總結果(join)。fork-join模式是一種自然的分布式計算方式,然而fork-join計算的時延與參與處理機器的負載情況非常相關。此外,總時延是由參與處理的最慢的機器決定的,容易造成較長的尾時延(long tail latency)。長尾效應在實際應用場景中對系統的性能影響非常大,有研究表明渲染一個用戶頁面通常可能會存在幾千個子請求。
Wukong利用RDMA來減少長尾效應對圖查詢處理時延的影響,在可能的情況下,Wukong會利用RDMA read操作繞過處理器進行圖查詢。這被稱為in-place執行模式。當查詢可以直接用RDMA onesided操作處理時,這個請求的時延基本恒定,不會被服務器處理器的負載所影響。同時one-sided操作相比等價的消息處理,具有更低的時延。雖然使用inplace模式可以完全繞過處理器,但是它只能處理比較簡單的讀數據請求,無法處理復雜的請求,比如聚合(join)等。因此, Wukong采取的是一種混合的模式,即當請求在一臺機器上涉及的數據比較多時, Wukong采用fork-join模式來執行,否則,采用in-phace模式執行。Wukong同時使用RDMA write操作來加速fork-join模式下的消息傳輸。
5 未來方向
隨著硬件技術的發展,最新的RDMA網卡已經可以達到200 GB的帶寬,并且one-sided操作的時延可以低至600 ns。同時,RDMA網卡開始支持更多的one-sided操作。Mellanox的Connect-X5網卡提供了新的NVMeF(NVMe over fabrics)特性,使得RDMA one-sided操作可以直接操作固態存儲設備。這讓RDMA可以直接用來加速分布式的日志 系統。同時學術界提出了一系列針對RDMA one-sided操作的新特性。例如,Sabres使用了原子的one-sided read操作,這個操作可以用來加速基于one-sided read的鍵值存儲系統。這些更加高效的硬件給新的分布式系統設計帶來新的挑戰,因為網絡將不再是性能的瓶頸。
除了利用RDMA網卡來加速現有分布式系統以外,現有系統開始使用多種硬件結合來進一步地獲取性能提升。由于RDMA支持更加通用的網絡操作,onesided操作只支持簡單的讀寫語義,這樣直接用來實現系統(如鍵值存儲)會帶來不必要的開銷。KV-direct利用可編程網卡將鍵值存儲數據庫操作直接下陷到網卡中,在KV-direct中鍵值數據庫的性能只被網絡或者PCIe限制。隨著摩爾定律增長變得緩慢,未來的分布式系統將更加依賴于定制化的硬件來獲得新的性能提升。
6 結束語
? 本文介紹了如何利用新型快速網絡RDMA來優化典型的分布式系統。首先介紹了如何利用RDMA來優化消息傳輸機制,從而對分布式系統進行通用的優化,并進一步介紹了在多個領域基于RDMA技術的優化工作,包括鍵值存儲系統和事務處理系統等,展示了如何基于RDMA特性來進行系統的重新設計。
《大數據》期刊
《大數據(Big?Data?Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的科技期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
總結
以上是生活随笔為你收集整理的基于RDMA高速网络的高性能分布式系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据可视化组队学习:《Task03 -
- 下一篇: 作者:吴琳(1974-),男,博士,国防