基于InfiniBand的RPC優(yōu)化
- 期刊名字:計算機工程與科學
- 文件大?。?11kb
- 論文作者:明亮,馮丹,王芳,陳碧硯
- 作者單位:華中科技大學計算機學院
- 更新時間:2020-09-29
- 下載次數(shù):次
CN 43-1258/TP計算機工程與科學第35卷第7期2013年7月ISSN 1007- 130XComputer Engineering & ScienceVol. 35, No.7,Jul. 2013文章編號:1007-130X(2013)07-023-08基于InfiniBand的RPC優(yōu)化明亮,馮 丹,王芳,陳碧硯(華中科技大學計算機學院.湖北武漢430074)摘要:隨著無限帶寬(IB)網(wǎng)絡技術(shù)的發(fā)展,IB 網(wǎng)絡以其高性能、低延遲以及低功耗和低成本的優(yōu)勢逐漸在數(shù)據(jù)中心占據(jù)重要的地位。而作為重要的網(wǎng)絡通信模型,遠程過程調(diào)用(RPC)協(xié)議如何利用IB網(wǎng)絡的遠程內(nèi)存直接訪問RDMA特性是一個重要議題。NFSover RDMA解決了內(nèi)核態(tài)下網(wǎng)絡文件系統(tǒng)(NFS)利用RDMA協(xié)議傳輸數(shù)據(jù)的問題。然而,面向跨越內(nèi)核態(tài)和用戶態(tài)的RPC應用,目前仍然沒有基于IB的RPC相關(guān)優(yōu)化。通過將IB協(xié)議族中的套接字直接協(xié)議(SDP)集成到現(xiàn)有RPC協(xié)議中,使內(nèi)核態(tài)以及用戶態(tài)RPC程序都能使用IB網(wǎng)絡的RDMA協(xié)議,從而提升網(wǎng)絡傳輸性能。經(jīng)測試,此方案與傳統(tǒng)的基于TCP/IP協(xié)議的RPC實現(xiàn)相比,用戶態(tài)RPC與內(nèi)核態(tài)RPC可分別獲得10%和35%的性能提升。關(guān)鍵詞:無限帶寬技術(shù);遠程過程調(diào)用;套接字直接協(xié)議;分布式文件系統(tǒng)中圖分類號:TP336文獻標志碼:Adoi: 10. 3969/j. issn.1007-130X. 2013. 07.005Optimization of RPC based on InfiniBandMING Liang, FENG Dan, WANG Fang,CHEN Bi-yan(School of Computer Science , Huazhong University of Science and Technology, Wuhan 430074 ,China)Abstract: Along with the development of InfiniBand (IB) network, IB is becoming an importantcomponent in the data center due to its characteristics such as high performance, low latency, low powerconsumption and low price. As an important communication protocol, it is a significant problem thathow the Remote Procedure Call ( RPC) utilizes the RDMA feature of IB. NFS over RDMA solves theproblem that the NFS transfers data by RDMA protocol in the kernel-space. However, there is no RPCoptimization on InifiniBand in the user space communication and the communication between user-spaceand kernel-space. In this paper, we integrate the Socket Direct Protocol into the RPC so as to achievethe RDMA feature of IB in both user-space and kernel-space. Through the experiments, we can obtain10% and 35 % peak performance improvement in user- space and kernel-space communication respectively.Key words: InfiniBand ; remote procedure call; socket direct protocol; distributed file system成本等需求也受到廣泛關(guān)注。無限帶寬技術(shù)IB1引言(InfiniBand)]作為兼容總線與網(wǎng)絡的互連技術(shù),逐步在存儲網(wǎng)絡中發(fā)揮重要作用。隨著航天事業(yè)、人類基因工程、地震預測、資源本文的主要研究內(nèi)容包括兩個方面:(1)遠程勘查、社交網(wǎng)絡和搜索引擎等應用的發(fā)展,以及當過程調(diào)用RPC( Remote Procedure Call);(2) In-今云計算時代的來臨,人們對于高性能、低成本的finiBand網(wǎng)絡中的套接字直接協(xié)議SDP (Socket數(shù)據(jù)中心的需求也愈發(fā)迫切。作為數(shù)據(jù)中心最重Direct Protocol)。RPC協(xié)議出現(xiàn)于20世紀80年要的基礎(chǔ)設(shè)施,存儲系統(tǒng)的高性能、高可靠以及低代,Sun公司的SunRPC最終成為事實上的標中國煤化工基金項目:國家973計劃資助項目(201 1CB302301)通訊地址:430074湖北省武漢市華中科技大學武漢光電國家實驗室F301MHCNMHGAddress : W uhan National Laboratory for Optoelctronics, Huazhong University of Science and Technology●W uhan 430074. HubeiP.R. China24Computer Engineering & Science計算機工程 與科學2013,35(7)準[2]。目前SunRPC已經(jīng)發(fā)展到第二個版本,其過直接調(diào)用用戶態(tài)的IB Verbs接口調(diào)用網(wǎng)絡服包括內(nèi)核態(tài)的SunRPC模塊和用戶態(tài)的SunRPC務,從而可以繞過內(nèi)核,進而實現(xiàn)用戶態(tài)的RDMA,程序庫,分別支持內(nèi)核態(tài)程序之間的通信,以及用訪問。戶態(tài)程序之間的通信。用戶態(tài)與內(nèi)核態(tài)的SunR-IP Based Socket basedBlock Storage| File System應用程序APTMPAPP Access| AccessAccessPC之間也能通過TCP/IP協(xié)議互通。DAPLRPC協(xié)議因其能夠屏蔽底層網(wǎng)絡的復雜性以及對外提供友好的接口,而廣泛應用在分布式文件用戶態(tài)APILOpenFabric Ueer Level VehelAPTSDP 1iB系統(tǒng)中,包括NFS ( pNFS)[3]、Lustre[1]、Panasas用戶態(tài)內(nèi)核態(tài)File System[5] ,Google File System[60] 等。上層協(xié)議B SDP| SRP iSEl2相關(guān)技術(shù)OpenFsbrie Kemel Lavel Verbl/APIIniniBand驅(qū)動2.1 IB 技術(shù)InfiniBand主機 道適配器(HCA)IB是一個獨立于平臺的網(wǎng)絡互連技術(shù),相對Figure 1 IB protocol stack于其他的網(wǎng)絡互連技術(shù)(如以太網(wǎng)),具有以下特圖1 IB 協(xié)議棧點:(1)它將數(shù)據(jù)傳輸、協(xié)議處理、流量控制等工作IB內(nèi)核提供的IPoIB(IPoverIB)協(xié)議可以實直接交由IB網(wǎng)卡完成,而不需要主機CPU的干現(xiàn)IB與以太網(wǎng)的兼容;SDP協(xié)議能夠提供Socket預。應用程序可以通過IB的接口直接調(diào)用IB驅(qū)接口供應用程序調(diào)用;SRP(SCSIRDMAProto-動,從而可以繞過操作系統(tǒng),以此提高系統(tǒng)性能。col)以及iSER (iSCSI Extend RDMA)均是通過(2)IB網(wǎng)絡支持RDMA ( Remote Direct MemoryRDMA協(xié)議傳輸塊存儲命令(SCSI命令);而NF-Access)IT技術(shù),使得遠程的節(jié)點之間能夠直接進SoRDMA(NFS over RDMA)能夠提供基于文件行內(nèi)存拷貝,有效地減少了TCP/IP協(xié)議內(nèi)存多次系統(tǒng)的訪問接口,使用IB網(wǎng)絡的RDMA協(xié)議,可拷貝的開銷。正是因為以上原因,IB網(wǎng)絡具有高獲得較高的文件I/O性能。性能、低延遲特性。目前IB網(wǎng)絡的發(fā)展已經(jīng)遠遠本文工作主要基于SDP協(xié)議,實現(xiàn)RPC over領(lǐng)先于其他網(wǎng)絡,如表1所示8]。SDP供實驗室設(shè)計開發(fā)的Cappella 并行文件系統(tǒng)Table 1 Data transferring rate of the IB network使用,不過由于Cappella OSS工作在用戶態(tài),仍需表1 IB 網(wǎng)絡數(shù)據(jù)傳輸速率Gbit/s要實現(xiàn)用戶態(tài)的RPC over SDP。SDRDDRQDRFDREDR2.3 SDP 協(xié)議1x13.72:IB網(wǎng)絡通過Verbs接口對上層提供兩種不同3254. 51000語義的傳輸接口:一種類似于傳統(tǒng)的TCP/IP傳輸163. 6300協(xié)議的send/recv接口,通過將數(shù)據(jù)復制到網(wǎng)卡緩目前,Mellanox公司的最新IB產(chǎn)品已經(jīng)達到存,然后由網(wǎng)卡發(fā)送,接收方從接收方網(wǎng)卡的緩存54. 5Gbps(4X FDR)的數(shù)據(jù)帶寬,不久將會推出將數(shù)據(jù)復制到內(nèi)核緩存,然后復制到應用程序緩數(shù)據(jù)帶寬達到100Gbps以上的產(chǎn)品。而目前最快.存;另一種是基于零拷貝的RDMA read/write 接的FC網(wǎng)絡的帶寬為16Gbps,以太網(wǎng)的數(shù)據(jù)帶寬口,如圖2所示,零拷貝技術(shù)通過減少系統(tǒng)CPU和為10Gbps。40Gbps 和100Gbps的以太網(wǎng)標準已內(nèi)存的開銷,提高網(wǎng)絡的吞吐量并降低網(wǎng)絡延遲。于2010年制定,但目前仍沒有相應的產(chǎn)品。機A主機B同時,相對于FC網(wǎng)絡,IB網(wǎng)絡獲得相同帶寬應用程CPU| 應用程的價格更低,且IB網(wǎng)卡的能耗比FC網(wǎng)卡要低[9]。|序緩存1 |序緩存2所以,隨著未來數(shù)據(jù)中心對高性能、低延遲、低成本InfniBand HCA(RDMA網(wǎng)絡的迫切需求,IB網(wǎng)絡必將更加普及。engine)2.2 IB 協(xié)議棧Figure 2中國煤化工IB network與本文相關(guān)的IB協(xié)議棧如圖1所示,其中灰MYHCNMHG式色部分由IB提供。應用程序API(如MPI)可以通.對于已有的基于socket的應用程序來說,雖明亮等:基于 InfiniBand的RPC優(yōu)化25然IPolB能使IB網(wǎng)卡以以太網(wǎng)的模式工作,但是性能、低延遲的網(wǎng)絡是必要的。而同時,在數(shù)據(jù)中卻完全放棄了IB網(wǎng)卡的先進特性。如果要將這些心內(nèi)部,網(wǎng)絡多是同構(gòu)的,不需要像TCP那樣復雜應用移植到基于Verbs接口的IB網(wǎng)絡上會比較復的協(xié)議去支持異構(gòu)的網(wǎng)絡。雜,那么如何才能讓他們更好地利用IB網(wǎng)絡的特TCP/IP協(xié)議產(chǎn)生于異構(gòu)和不受主機控制的性呢?SDP協(xié)議就是為了解決這個問題而提出Internet網(wǎng)絡,主要是為了滿足遠距離和復雜網(wǎng)絡的。環(huán)境下的數(shù)據(jù)傳輸。也即從一開始TCP就不是為SDP協(xié)議通過對Verbs接口的封裝,對外提數(shù)據(jù)中心內(nèi)部的數(shù)據(jù)傳輸而設(shè)計的,盡管它能工作供socket接口,并通過socket switch使SDP協(xié)議在數(shù)據(jù)中心的網(wǎng)絡環(huán)境中??梢詿o縫地取代TCP傳輸協(xié)議,如圖3所示,這針對數(shù)據(jù)中心對網(wǎng)絡高帶寬和低延遲的需求,樣,使用IB網(wǎng)絡的RDMA協(xié)議,基于TCP的應用TCP協(xié)議有它固有的缺陷。TCP協(xié)議為了提供靈程序不用修改即可提升網(wǎng)絡傳輸性能?;钚浴⒖煽啃?主機CPU需要參與TCP協(xié)議完整應用程序性校驗.數(shù)據(jù)包重新排序.數(shù)據(jù)的拷貝、數(shù)據(jù)包分發(fā)- sockel接口和聚合等等操作。TCP協(xié)議的這些操作占據(jù)了大用戶態(tài)Libedp s(socket switch)量的主機CPU和內(nèi)存,當網(wǎng)絡速度達到10Gbps內(nèi)核態(tài)Protocol switch以上時,所需開銷巨大,從而影響主機應用以及網(wǎng)AF-INETTCP/IP AF-INET SDP絡性能。盡管可以使用TCP卸載引擎TOE(Top/協(xié)議棧J」SDP協(xié)議棧IP Offload Engine)來改善TCP協(xié)議的性能,但是IPoIB- Verhs接口TOE并不能完全脫離主機CPU的干預,大量的內(nèi)IB網(wǎng)卡驅(qū)動存拷貝仍然會影響TCP傳輸?shù)男阅堋>C上所述,TCP協(xié)議不適合在數(shù)據(jù)中心內(nèi)部Figure3 SDP stack and TCP stack圖3 SDP 協(xié)議棧與TCP協(xié)議棧傳遞數(shù)據(jù),但是由于TCP協(xié)議的靈活性和跨平臺特性,TCP協(xié)議適合用來連接數(shù)據(jù)中心外部用戶3在RPC中用SDP替換TCP協(xié)議與數(shù)據(jù)中心邊緣節(jié)點,進入數(shù)據(jù)中心內(nèi)部之后就不適合使用TCP協(xié)議傳輸數(shù)據(jù)了。在IB網(wǎng)絡環(huán)境中,盡管可以利用IPoIB技術(shù)3.2SDP協(xié)議在數(shù)據(jù)中心的優(yōu)勢使TCP/IP協(xié)議運行于IB網(wǎng)絡之上,但是TCP/IPIB網(wǎng)絡提供RDMA傳輸接口以及傳統(tǒng)的消協(xié)議對于數(shù)據(jù)中心內(nèi)部數(shù)據(jù)傳送的固有缺陷,使得息傳遞接口。RDMA接口通過將本地內(nèi)存導出給Cappella并行文件系統(tǒng)無法充分發(fā)揮自身性能。遠端主機,遠端主機可以直接通過IB網(wǎng)卡訪問本本節(jié)重點分析TCP協(xié)議和SDP協(xié)議用于數(shù)地內(nèi)存數(shù)據(jù),從而避免了本地內(nèi)存到本地網(wǎng)卡緩存據(jù)中心數(shù)據(jù)傳輸時候的各自優(yōu)劣,文中用RPCo-的拷貝,也避免了遠端網(wǎng)卡緩存到遠端主機內(nèi)存的ver SDP表示基于SDP協(xié)議的RPC, RPC over拷貝。不過,由于RDMA訪問需要提前將本地內(nèi)存注冊到IB網(wǎng)卡,而內(nèi)存注冊也是有一-定的開銷,TCP表示基于TCP協(xié)議的RPC。所以RDMA接口在傳輸小塊數(shù)據(jù)的時候并沒有3.1 TCP 協(xié)議的優(yōu)勢與缺陷傳統(tǒng)的方式高效。針對IB網(wǎng)絡中小塊數(shù)據(jù)的傳為了給數(shù)據(jù)中心的應用提供高可擴展性、高性輸,我們可以使用IB提供的消息傳遞接口。目前能高可靠.高安全的服務,數(shù)據(jù)中心的層次化結(jié)構(gòu)SDP的實現(xiàn)中,針對大于或等于64 KB的數(shù)據(jù)傳開始逐漸流行。輸使用RDMA傳輸,而小于64 KB的數(shù)據(jù)則采用相對于傳統(tǒng)的客戶端.服務器兩層架構(gòu),現(xiàn)代傳統(tǒng)的消息傳遞接口傳輸。數(shù)據(jù)中心的應用通常有三層以上的架構(gòu)。-般都.相對于傳統(tǒng)的TCP傳輸方式,IB的消息傳遞會將應用服務器與數(shù)據(jù)服務器分離,通過高速網(wǎng)絡接口并不需要主機CPU參與類似數(shù)據(jù)完整性校連接。應用服務器和數(shù)據(jù)服務器使用集群技術(shù)來.驗、數(shù)據(jù)包排序、數(shù)據(jù)包分發(fā)和聚合等等操作,IB提供高性能和高可靠等特性。硬件保證數(shù)據(jù)傳輸?shù)目煽啃?協(xié)議的處理并不需要當數(shù)據(jù)訪問路徑涉及多個層次的時候,每個層CPU的干預中國煤化工次之間都將產(chǎn)生網(wǎng)絡開銷,此時對于網(wǎng)絡性能的需盡管IYHCNMH G轉(zhuǎn)遞接口都有求將更加迫切。所以,對于現(xiàn)代數(shù)據(jù)中心來說,高他們特有的優(yōu)勢,但是對基于TCP協(xié)議開發(fā)的應明亮等:基于InfiniBand的RPC優(yōu)化27用戶態(tài)應用程序server邏輯處理多線程化(MTRPC)],MTRPCRPC庫性能得到明顯提升。用戶態(tài)SDPDP從圖7可知,MTRPC over TCP性能隨著連接數(shù)的增加和傳輸塊大小的增大,性能有明顯提內(nèi)核態(tài)內(nèi)核態(tài)程序升。在六個連接1MB的塊大小時能夠達到2298SunRPC模塊MB/s,遠遠超過原始的TIRPC的性能。那么,將RDMATIRPC的TCP傳輸協(xié)議使用SDP協(xié)議替換后又會如何呢?Figure6 RPC over SDPxI(圖6使用SDP傳輸?shù)腞PCi■1連接■2連接,4 RPC over SDP的設(shè)計與實現(xiàn)器15& 3連接口4連接從以上分析可知,SDP協(xié)議相對于TCP協(xié)議口5連接具有很大優(yōu)勢,將SDP協(xié)議集成到RPC能夠提高。業(yè)■6連接RPC通信的性能。從SDP協(xié)議的來歷我們知道,SDP是IB協(xié)議皇電棧中用來替換TCP的,通過提供socket接口使基于socket的TCP應用能夠無縫切換到SDP協(xié)議。Figure 7 Performance of MTRPC而用戶態(tài)的RPC直接使用socket接口來使用網(wǎng)over TCP and MTRPC over SDP絡傳輸服務,故用戶態(tài)的RPC切換到SDP是比較.圖7 MTRPC over TCP與MTRPC over SDP性能對比容易的。通過分析TIRPC代碼庫,可以發(fā)現(xiàn)TIRPC的然而,要使用戶態(tài)和內(nèi)核態(tài)的RPC能夠通過.socket連接都是通過__ rpc_ nconf2fd 調(diào)用創(chuàng)建,我SDP協(xié)議通信,內(nèi)核態(tài)的RPC也需要實現(xiàn)SDP的們所要做的工作就是替換TCP socket 為SDP通信。通過分析內(nèi)核態(tài)SunRPC的處理邏輯,發(fā)socket。只需要在rpe_generic.c代碼中添加SDP現(xiàn)SunRPC使用了tcp_ read_ sock 接口,該接口是協(xié)議支持。tep_ recvmsg(tcp socket 接口)的- 種非阻塞版本。代碼修改如下所示:但是,SDP的實現(xiàn)中并沒有提供類似的接口。因/ * rpe_ generic.c for SDP* /此,要實現(xiàn)內(nèi)核態(tài)的基于SDP協(xié)議的RPC通信,# define SDP可以使用兩種方案:(1)在SDP模塊中添加類似于# ifdef SDP# define AF_ INET SDP 27tep_ read_ sock的SDP版本sdp_ read_ sock; (2)修# endif改SunRPC邏輯,使它只使用tcp_ recvmsg 接口。從代碼復雜性和對內(nèi)核的修改量分析,方案(1)更int_ rpc_ nconf2fd( const struct netconfig * nconf)具可行性,它對于SunRPC基本不做修改,保證了內(nèi)核的穩(wěn)定性。4.1用戶態(tài)RPC over SDP目前,基于C語言的用戶態(tài)開放網(wǎng)絡計算if(strcmp( nconf→nc _netid," tep")==0){si.si _af= AF INET SDP;RPC(ONCRPC)主要包括glibc 中的SunRPC和Sun公司開發(fā)的TIRPC( Transport IndependentRPC),為了修改和編譯的方便,使用TIRPC作為.if((fd = socket(si. si_ af,si. si_ socktype,si. si_ pro-我們開發(fā)和測試的基礎(chǔ)代碼。通過對TIRPC的測to))>=08.8.si.si _af= =AF_ INET6) {試發(fā)現(xiàn)其最佳傳輸性能不到1. 5GB/s,遠遠低于int val=1;多連接TCP協(xié)議的2551 MB/s。中國煤化工通過分析TIRPC代碼邏輯,可知其中RPCsetsockopt.MHC N M H GNLY, &.val,si-server端的處理邏輯是單線程的。通過將RPCzeof(val));28Computer Engineering &. Science計算機工程與科學 2013,35(7)# ifdef SDPreturn fd;if( (err= sock. .create_ kern(PF_ INET SDP ,SOCK_STREAM, IPPROTO TCP, &sock)) <0) { dprintk上述代碼中黑體部分是新添加的代碼(后面所(" RPC: can't create SDP transport socket(%d)./有代碼中同樣用黑體表示新添加的代碼),可以看n" .err);出用戶態(tài)下切換TCP協(xié)議到SDP協(xié)議是非常容goto out;易的工作。# else切換到SDP協(xié)議之后,RPC over SDP的性能if(err= sock_ .create_ kern(PF_ INET, SOCK_如圖7所示。通過測試數(shù)據(jù)可知,RPC over SDPSTREAM, IPPROTO_ TCP, &.sock)) < 0)峰值性能達到2 529 MB/s,比RPC over TCP的{dprintk( "RPC:can't create TCP transport socket2 298 MB/s也提升了10%以上。(%d)./n" ,err);可見用戶態(tài)下將RPC切換到SDP協(xié)議是非常具有性價比的,極小的代碼改動就能得到巨大的收益。但是,要使內(nèi)核態(tài)與用戶態(tài)之間的交互能夠# endif獲得SDP的優(yōu)勢,還必須實現(xiàn)內(nèi)核態(tài)的SDP協(xié)(4)修改服務器端socket為SDP socket。4.2內(nèi)核態(tài) RPC over SDP修改linux源代碼目錄中的net/ sunrpc/ svc-要實現(xiàn)內(nèi)核態(tài)RPC over SDP,首先需要修改sock.c中的svc_ create_ socket 函數(shù),修改TCP內(nèi)核中的SDP模塊,添加sdp_ read_ sock 接口。socket為SDP socket,代碼修改如下所示:sdp_ read_ sock 代碼類似于sdp_ recvmsg, 主要不1 * net/sunrpc/svcsock. c for SDP */同是sdp_ read_ sock 不會阻塞調(diào)用,且sdp_ read_static struct sVC_ xprt * svc_ create_ socket(struct svc_sock能夠?qū)dpbuffer中的內(nèi)容通過回調(diào)函數(shù)直serv * serv,.)接填充到應用緩存。在實現(xiàn)了sdp_ read_ sock 接口之后,還需要修改內(nèi)核態(tài)SunRPC中client 和server端創(chuàng)建sock-et的相關(guān)接口。主要工作包括:if(type= =SOCK _STREAM){(1)復制IB驅(qū)動的sdp目錄中的sdp. h到/error = sock_ create_ kern( PF _ INET_ SDP , type,protocol, &sock);usr/src/linux-2. 6. 27內(nèi)核源代碼目錄中的in-if (error<0){clude/linux中。printk( " ming%s: create socket error\n",_ func(2)修改源代碼目錄中的include/linux/ sock-);et. h。return ERR_ PTR(error);添加SDP協(xié)議族到socket.h中需要添加的代碼如下所示:/ * include /linux/ socket. h for SDP* /# define SDP# define AF_ INET SDP 27# define PF_ INET SDP AF_ INET. SDP(5)替換tep_ read_ sock 為sdp_ read_ sock。(3)修改客戶端socket為SDP socket。代碼修改如下所示:修改linux源代碼目錄中的net/ sunrpc/ xprt-/ * net/ sunrpc/ xprtsock. c for SDP* /sock.c中的xs_ tcp_ connect_ worker4 雨數(shù),修改static void xs_ tcp_ data_ ready(struct sock * sk, intTCP socket為SDP socket,代碼修改如下所示:bytes)/ * net/sunrpc/ xprtsock.c for SDP * /static: void xs_ tcp _ connect_ worker4 ( struct work_中國煤化工struct¥work)lo{MCHCNMHG# ifdef SDF.明亮等:基于 InfiniBand的RPC優(yōu)化29read= sdp_ read_ sock(sk,&rd_ desc,xs_ tep_ data_RPC傳輸性能的測試工具,本測試主要通過編寫reev);基于內(nèi)核態(tài)RPC接口的代碼來進行測試;每次測# else試通過傳送1GB的數(shù)據(jù)(每次測試變化傳輸?shù)膲Kread=tcp_ read_ sock(sk,8.rd_ desc,xs_ tcp_ data_大小和線程數(shù)),根據(jù)傳輸消耗的時間計算出實際recv);的帶寬。# endif由于內(nèi)核態(tài)線程之間同步的復雜性,在計算帶} while( read>0);寬的時候,分別計算每個線程獲得的帶寬,然后求和;用戶態(tài)下的方式為,從第- -個線程發(fā)出到最后.通過修改內(nèi)核態(tài)SunRPC以上五個地方,即一個線程結(jié)束的時間除以總傳輸量,所以內(nèi)核態(tài)下可完成內(nèi)核態(tài)SunRPCoverSDP通信,可以看出的測試結(jié)果會偏大一些。這種測試方法并不準確,代碼的修改量非常之少。但是為了對比TCP和SDP的性能.此方法還是有一定的價值。5性能測試及結(jié)果分析如圖8所示,可以看出RPC over SDP的整體性能高于RPC over TCP,RPC over SDP峰值帶本節(jié)內(nèi)容包括:(1)對比測試內(nèi)核態(tài)RPC over寬能夠達到2500MB/s.而RPCoverTCP峰值僅TCP和RPC over SDP;(2)對比測試內(nèi)核態(tài)RPC為1 850 MB/s,峰值帶寬提升35%以上。與用戶態(tài)RPC通信時,TCP協(xié)議與SDP協(xié)議的性30能。■I連接5.1測試環(huán)境20.■2連接.實驗室機房環(huán)境如下:■4連接(1)浪潮Inspur NF5280服務器90臺。學■6連接每臺具體配置為:■8連接CPU:Intel X5560* 2(2. 8GHz,4核);內(nèi)存:Kingston DDR3 1 333 MHz 2GB* 6,總計12GB;硬盤: Seagate SAS 146 GB * 2 (RAID1 ),15 000 RPM;Figure8 Comparison of kernel- space網(wǎng)卡:MellanoxMT26428(ConnectX IB QDR,RPC over TCP and RPC over SDP圖8內(nèi)核態(tài)RPCoverTCP以及RPCoverSDP對比測試40 Gb/s) Channel Adapter.(2)Mellanox 36口IB交換機6臺。5.3 內(nèi)核態(tài)客戶端與用戶態(tài)服務器端通信主要軟件環(huán)境為:內(nèi)核態(tài)客戶端與用戶態(tài)服務器進行通信是(1)操作系統(tǒng);Cappella文件系統(tǒng)的通信方式,在用戶態(tài)和內(nèi)核態(tài)原裝64位Redhat5.3,原始內(nèi)核版本2.6. 18;均實現(xiàn)了SDP協(xié)議之后,RPC內(nèi)核態(tài)與用戶態(tài)之升級內(nèi)核為2. 6. 27,本文的測試都是基于間的通信順理成章了。2. 6.27內(nèi)核。測試方法同上節(jié),為了保證對比測試的公平性(2)IB驅(qū)動。和可比較性,所有的測試都使用相同的代碼和測試IB驅(qū)動版本為:Mellanox OFED-1. 4(12]。模式。(3)用戶態(tài)RPC:libtirpc-0. 2.13]。從之前的測試中可以得到,RPCoverSDP在(4)帶寬測試工具:iperf-2. 0. 2[11]和netperf-用戶態(tài)下和內(nèi)核態(tài)下均有較大的性能提升,而圖92.4. 115。的結(jié)果表明,內(nèi)核態(tài)RPC與用戶態(tài)RPC通信時,本文提到的各種測試結(jié)果均是基于以上的軟SDP協(xié)議在數(shù)據(jù)塊大小較小(小于128KB)的時候硬件環(huán)境得到的。具有明顯的優(yōu)中國煤化工256 KB時5.2內(nèi)核態(tài)RPC對比測試RPC over SDP:TYHcNMHC性能相差測試方法:由于并沒有專業(yè)的測試內(nèi)核態(tài)不大,總體來說RPC over SDP更具優(yōu)勢。30Computer Engineering &. Science計算機工程 與科學2013,35(7)x10[6] Chang F. Dean J, Ghemawat s. et al. The Google file sys-tem[C]// Proc of the 19th ACM Symposium on Operating.■4連接Systems Principles, 2003:29 43.■6連接.[7] A remote diret memory access protocol specification[ EB/OL].■8連樓[2012- 03 30]. htp://ools. ietf. org/ html/ rfe5040.至10[8] InfiniBand[ EB/0L]. [2012-04 30]. htp://en. wikipedia. org/wiki/ InfiniBand.[9] Mellanox Technologies. InfiniBand for storage aplications[ EB/OL]. [2012-05 30]. http:// www. mellanox. com.[10] allaghan B, Lingutla- Raj T. Chiu A. etal. NFS over RD-MA[C]// Proc of the ACM SIGCOMM Workshop on Net-Figure 9 Comparison of performance betweenwork 1I/0 Convergence, 2003:196 208.kernel-space RPC and user-space RPC[11] Ming Liang. Feng Dan, Wang Fang, et al. A performance圖9內(nèi)核態(tài)RPC與用戶態(tài)RPC的通信性能測試enhanced user space remote procedure call on InfiniBand[C]// Proc of the SPIE,2011:8331-83310K.6結(jié)束語[12] Mellanox Open Fabrics Enterprise Distribution for Linux( MLNX_ OFED)[EB/OL]. [2012-03-30]. htp://ww. mellan-RPC協(xié)議作為重要的分布式通信協(xié)議,具有ox. com.[13] L.ibtirpe[ EB/OL]. [2012 0330]. http:// sourceforge. net/非常廣泛的應用領(lǐng)域。本文通過對比SDP與TCPpriects/libtirpc/.協(xié)議的特性,全方位地分析了在數(shù)據(jù)中心中RPC [4] IrteEroL. [02 03. 30]. t://p/ suretoreover TCP的性能瓶頸,且實現(xiàn)了用戶態(tài)RPC overnet/.SDP以及內(nèi)核態(tài)RPC over SDP。其中在實現(xiàn)內(nèi)[15] Netperf[ EB/OL]. [2012-03-30]. http://www. netperf.核態(tài)的RPC over SDP時,為SDP模塊添加了sdporg/netperf/.[16] Sockets direet protocol[EB/OL]. [2012-03-30]. http://en._read_ sock 接口。wikipedia. org/ wiki/ Sockets_ Direct_ Protocol.測試表明,在IB環(huán)境中,RPC over SDP在用[17] Goldenberg D. Kagan M, Ravid R, et al. Zero copy sockets戶態(tài)通信以及內(nèi)核態(tài)通信均較RPC over TCP有drect protocol over InfiniBand- preliminary implementa-明顯的優(yōu)勢,峰值性能分別提升10%(用戶態(tài))和tion and performance analysis[C]// Proc of the 13th Sympo-35%(內(nèi)核態(tài))。只是在內(nèi)核態(tài)客戶端與用戶態(tài)服sium on High Performance Interconnects ( H0TI' 05),務器進行通信時,RPCoverSDP并沒有體現(xiàn)出優(yōu)2005;128- 137.勢??梢?要使內(nèi)核態(tài)與用戶態(tài)的RPC通信獲得[18] Ming Liang, Fu Qiu-lei, Wan Yong. et al. User-space RPCover RDMA on InfiniBand[J]. JCIS: Journal oommuni-SDP協(xié)議的優(yōu)勢還需要更加深入地優(yōu)化RPCovercation and Information Sciences, 2012. 2(2):18-24.SDP。參考文獻:作者簡介:[1] InfiniBand Trade Association. InfiniBandTM architecture specifi-明亮(1984-).男.湖北孝感人,博士cation[ EB/OL]. [2012-05-11]. http://www. infinibandta.生,研究方向為分布式文件系統(tǒng)。E-mail:org/ specs.Sandpiperl 12@ 126. com[2] Srinivasan R. RPC: Remote procedure call protocol specifica-MING Liang, born in 1984, PhD can-tion version 2[ EB/OL]. [2012-06-18]. http://www. ietf.org/ rfe/ rfc1831. txt.didate, his research interest includes dis-[3] Shepler s. Callaghan B. Robinson D. et al. NFS version 4tributed file system.protocol [EB/OL]. [2011-09-21]. http://www. ietf. org/rfc/rfc3530. txt.馮丹(1970-),女,湖北荊門人,博士,[4] Bram P J. The lustre storage architecture. [ EB/OL]. [2011-教授,研究方向為計算機系統(tǒng)結(jié)構(gòu)和存儲11-29]. http://www. lustre. org/ documentation. html.系統(tǒng)。E-mail:dfeng@ hust. edu. cn[5] Welch B, Unangst M. Abbasi z. et al. Scalable performance- 1970, PhD, profes-of the panasas parallel file system[C]// Proc of the 6th Use-中國煤化工: include computer33nix Conference on File and Storage Technologies. 2008:17-architecture,YHCNMHG.
-
C4烯烴制丙烯催化劑 2020-09-29
-
煤基聚乙醇酸技術(shù)進展 2020-09-29
-
生物質(zhì)能的應用工程 2020-09-29
-
我國甲醇工業(yè)現(xiàn)狀 2020-09-29
-
石油化工設(shè)備腐蝕與防護參考書十本免費下載,絕版珍藏 2020-09-29
-
四噴嘴水煤漿氣化爐工業(yè)應用情況簡介 2020-09-29
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-29
-
甲醇制芳烴研究進展 2020-09-29
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進展 2020-09-29








