基于InfiniBand的RPC優(yōu)化 基于InfiniBand的RPC優(yōu)化

基于InfiniBand的RPC優(yōu)化

  • 期刊名字:計算機工程與科學(xué)
  • 文件大?。?11kb
  • 論文作者:明亮,馮丹,王芳,陳碧硯
  • 作者單位:華中科技大學(xué)計算機學(xué)院
  • 更新時(shí)間:2020-09-29
  • 下載次數:次
論文簡(jiǎn)介

CN 43-1258/TP計算機工程與科學(xué)第35卷第7期2013年7月ISSN 1007- 130XComputer Engineering & ScienceVol. 35, No.7,Jul. 2013文章編號:1007-130X(2013)07-023-08基于InfiniBand的RPC優(yōu)化明亮,馮 丹,王芳,陳碧硯(華中科技大學(xué)計算機學(xué)院.湖北武漢430074)摘要:隨著(zhù)無(wú)限帶寬(IB)網(wǎng)絡(luò )技術(shù)的發(fā)展,IB 網(wǎng)絡(luò )以其高性能、低延遲以及低功耗和低成本的優(yōu)勢逐漸在數據中心占據重要的地位。而作為重要的網(wǎng)絡(luò )通信模型,遠程過(guò)程調用(RPC)協(xié)議如何利用IB網(wǎng)絡(luò )的遠程內存直接訪(fǎng)問(wèn)RDMA特性是一個(gè)重要議題。NFSover RDMA解決了內核態(tài)下網(wǎng)絡(luò )文件系統(NFS)利用RDMA協(xié)議傳輸數據的問(wèn)題。然而,面向跨越內核態(tài)和用戶(hù)態(tài)的RPC應用,目前仍然沒(méi)有基于IB的RPC相關(guān)優(yōu)化。通過(guò)將IB協(xié)議族中的套接字直接協(xié)議(SDP)集成到現有RPC協(xié)議中,使內核態(tài)以及用戶(hù)態(tài)RPC程序都能使用IB網(wǎng)絡(luò )的RDMA協(xié)議,從而提升網(wǎng)絡(luò )傳輸性能。經(jīng)測試,此方案與傳統的基于TCP/IP協(xié)議的RPC實(shí)現相比,用戶(hù)態(tài)RPC與內核態(tài)RPC可分別獲得10%和35%的性能提升。關(guān)鍵詞:無(wú)限帶寬技術(shù);遠程過(guò)程調用;套接字直接協(xié)議;分布式文件系統中圖分類(lèi)號: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)注。無(wú)限帶寬技術(shù)IB1引言(InfiniBand)]作為兼容總線(xiàn)與網(wǎng)絡(luò )的互連技術(shù),逐步在存儲網(wǎng)絡(luò )中發(fā)揮重要作用。隨著(zhù)航天事業(yè)、人類(lèi)基因工程、地震預測、資源本文的主要研究?jì)热莅▋蓚€(gè)方面:(1)遠程勘查、社交網(wǎng)絡(luò )和搜索引擎等應用的發(fā)展,以及當過(guò)程調用RPC( Remote Procedure Call);(2) In-今云計算時(shí)代的來(lái)臨,人們對于高性能、低成本的finiBand網(wǎng)絡(luò )中的套接字直接協(xié)議SDP (Socket數據中心的需求也愈發(fā)迫切。作為數據中心最重Direct Protocol)。RPC協(xié)議出現于20世紀80年要的基礎設施,存儲系統的高性能、高可靠以及低代,Sun公司的SunRPC最終成為事實(shí)上的標中國煤化工基金項目:國家973計劃資助項目(201 1CB302301)通訊地址:430074湖北省武漢市華中科技大學(xué)武漢光電國家實(shí)驗室F301MHCNMHGAddress : W uhan National Laboratory for Optoelctronics, Huazhong University of Science and Technology●W uhan 430074. HubeiP.R. China24Computer Engineering & Science計算機工程 與科學(xué)2013,35(7)準[2]。目前SunRPC已經(jīng)發(fā)展到第二個(gè)版本,其過(guò)直接調用用戶(hù)態(tài)的IB Verbs接口調用網(wǎng)絡(luò )服包括內核態(tài)的SunRPC模塊和用戶(hù)態(tài)的SunRPC務(wù),從而可以繞過(guò)內核,進(jìn)而實(shí)現用戶(hù)態(tài)的RDMA,程序庫,分別支持內核態(tài)程序之間的通信,以及用訪(fǎng)問(wèn)。戶(hù)態(tài)程序之間的通信。用戶(hù)態(tài)與內核態(tài)的SunR-IP Based Socket basedBlock Storage| File System應用程序APTMPAPP Access| AccessAccessPC之間也能通過(guò)TCP/IP協(xié)議互通。DAPLRPC協(xié)議因其能夠屏蔽底層網(wǎng)絡(luò )的復雜性以及對外提供友好的接口,而廣泛應用在分布式文件用戶(hù)態(tài)APILOpenFabric Ueer Level VehelAPTSDP 1iB系統中,包括NFS ( pNFS)[3]、Lustre[1]、Panasas用戶(hù)態(tài)內核態(tài)File System[5] ,Google File System[60] 等。上層協(xié)議B SDP| SRP iSEl2相關(guān)技術(shù)OpenFsbrie Kemel Lavel Verbl/APIIniniBand驅動(dòng)2.1 IB 技術(shù)InfiniBand主機 道適配器(HCA)IB是一個(gè)獨立于平臺的網(wǎng)絡(luò )互連技術(shù),相對Figure 1 IB protocol stack于其他的網(wǎng)絡(luò )互連技術(shù)(如以太網(wǎng)),具有以下特圖1 IB 協(xié)議棧點(diǎn):(1)它將數據傳輸、協(xié)議處理、流量控制等工作IB內核提供的IPoIB(IPoverIB)協(xié)議可以實(shí)直接交由IB網(wǎng)卡完成,而不需要主機CPU的干現IB與以太網(wǎng)的兼容;SDP協(xié)議能夠提供Socket預。應用程序可以通過(guò)IB的接口直接調用IB驅接口供應用程序調用;SRP(SCSIRDMAProto-動(dòng),從而可以繞過(guò)操作系統,以此提高系統性能。col)以及iSER (iSCSI Extend RDMA)均是通過(guò)(2)IB網(wǎng)絡(luò )支持RDMA ( Remote Direct MemoryRDMA協(xié)議傳輸塊存儲命令(SCSI命令);而NF-Access)IT技術(shù),使得遠程的節點(diǎn)之間能夠直接進(jìn)SoRDMA(NFS over RDMA)能夠提供基于文件行內存拷貝,有效地減少了TCP/IP協(xié)議內存多次系統的訪(fǎng)問(wèn)接口,使用IB網(wǎng)絡(luò )的RDMA協(xié)議,可拷貝的開(kāi)銷(xiāo)。正是因為以上原因,IB網(wǎng)絡(luò )具有高獲得較高的文件I/O性能。性能、低延遲特性。目前IB網(wǎng)絡(luò )的發(fā)展已經(jīng)遠遠本文工作主要基于SDP協(xié)議,實(shí)現RPC over領(lǐng)先于其他網(wǎng)絡(luò ),如表1所示8]。SDP供實(shí)驗室設計開(kāi)發(fā)的Cappella 并行文件系統Table 1 Data transferring rate of the IB network使用,不過(guò)由于Cappella OSS工作在用戶(hù)態(tài),仍需表1 IB 網(wǎng)絡(luò )數據傳輸速率Gbit/s要實(shí)現用戶(hù)態(tài)的RPC over SDP。SDRDDRQDRFDREDR2.3 SDP 協(xié)議1x13.72:IB網(wǎng)絡(luò )通過(guò)Verbs接口對上層提供兩種不同3254. 51000語(yǔ)義的傳輸接口:一種類(lèi)似于傳統的TCP/IP傳輸163. 6300協(xié)議的send/recv接口,通過(guò)將數據復制到網(wǎng)卡緩目前,Mellanox公司的最新IB產(chǎn)品已經(jīng)達到存,然后由網(wǎng)卡發(fā)送,接收方從接收方網(wǎng)卡的緩存54. 5Gbps(4X FDR)的數據帶寬,不久將會(huì )推出將數據復制到內核緩存,然后復制到應用程序緩數據帶寬達到100Gbps以上的產(chǎn)品。而目前最快.存;另一種是基于零拷貝的RDMA read/write 接的FC網(wǎng)絡(luò )的帶寬為16Gbps,以太網(wǎng)的數據帶寬口,如圖2所示,零拷貝技術(shù)通過(guò)減少系統CPU和為10Gbps。40Gbps 和100Gbps的以太網(wǎng)標準已內存的開(kāi)銷(xiāo),提高網(wǎng)絡(luò )的吞吐量并降低網(wǎng)絡(luò )延遲。于2010年制定,但目前仍沒(méi)有相應的產(chǎn)品。機A主機B同時(shí),相對于FC網(wǎng)絡(luò ),IB網(wǎng)絡(luò )獲得相同帶寬應用程CPU| 應用程的價(jià)格更低,且IB網(wǎng)卡的能耗比FC網(wǎng)卡要低[9]。|序緩存1 |序緩存2所以,隨著(zhù)未來(lái)數據中心對高性能、低延遲、低成本InfniBand HCA(RDMA網(wǎng)絡(luò )的迫切需求,IB網(wǎng)絡(luò )必將更加普及。engine)2.2 IB 協(xié)議棧Figure 2中國煤化工IB network與本文相關(guān)的IB協(xié)議棧如圖1所示,其中灰MYHCNMHG式色部分由IB提供。應用程序API(如MPI)可以通.對于已有的基于socket的應用程序來(lái)說(shuō),雖明亮等:基于 InfiniBand的RPC優(yōu)化25然IPolB能使IB網(wǎng)卡以以太網(wǎng)的模式工作,但是性能、低延遲的網(wǎng)絡(luò )是必要的。而同時(shí),在數據中卻完全放棄了IB網(wǎng)卡的先進(jìn)特性。如果要將這些心內部,網(wǎng)絡(luò )多是同構的,不需要像TCP那樣復雜應用移植到基于Verbs接口的IB網(wǎng)絡(luò )上會(huì )比較復的協(xié)議去支持異構的網(wǎng)絡(luò )。雜,那么如何才能讓他們更好地利用IB網(wǎng)絡(luò )的特TCP/IP協(xié)議產(chǎn)生于異構和不受主機控制的性呢?SDP協(xié)議就是為了解決這個(gè)問(wèn)題而提出Internet網(wǎng)絡(luò ),主要是為了滿(mǎn)足遠距離和復雜網(wǎng)絡(luò )的。環(huán)境下的數據傳輸。也即從一開(kāi)始TCP就不是為SDP協(xié)議通過(guò)對Verbs接口的封裝,對外提數據中心內部的數據傳輸而設計的,盡管它能工作供socket接口,并通過(guò)socket switch使SDP協(xié)議在數據中心的網(wǎng)絡(luò )環(huán)境中??梢詿o(wú)縫地取代TCP傳輸協(xié)議,如圖3所示,這針對數據中心對網(wǎng)絡(luò )高帶寬和低延遲的需求,樣,使用IB網(wǎng)絡(luò )的RDMA協(xié)議,基于TCP的應用TCP協(xié)議有它固有的缺陷。TCP協(xié)議為了提供靈程序不用修改即可提升網(wǎng)絡(luò )傳輸性能?;钚?、可靠性,主機CPU需要參與TCP協(xié)議完整應用程序性校驗.數據包重新排序.數據的拷貝、數據包分發(fā)- sockel接口和聚合等等操作。TCP協(xié)議的這些操作占據了大用戶(hù)態(tài)Libedp s(socket switch)量的主機CPU和內存,當網(wǎng)絡(luò )速度達到10Gbps內核態(tài)Protocol switch以上時(shí),所需開(kāi)銷(xiāo)巨大,從而影響主機應用以及網(wǎng)AF-INETTCP/IP AF-INET SDP絡(luò )性能。盡管可以使用TCP卸載引擎TOE(Top/協(xié)議棧J」SDP協(xié)議棧IP Offload Engine)來(lái)改善TCP協(xié)議的性能,但是IPoIB- Verhs接口TOE并不能完全脫離主機CPU的干預,大量的內IB網(wǎng)卡驅動(dòng)存拷貝仍然會(huì )影響TCP傳輸的性能。綜上所述,TCP協(xié)議不適合在數據中心內部Figure3 SDP stack and TCP stack圖3 SDP 協(xié)議棧與TCP協(xié)議棧傳遞數據,但是由于TCP協(xié)議的靈活性和跨平臺特性,TCP協(xié)議適合用來(lái)連接數據中心外部用戶(hù)3在RPC中用SDP替換TCP協(xié)議與數據中心邊緣節點(diǎn),進(jìn)入數據中心內部之后就不適合使用TCP協(xié)議傳輸數據了。在IB網(wǎng)絡(luò )環(huán)境中,盡管可以利用IPoIB技術(shù)3.2SDP協(xié)議在數據中心的優(yōu)勢使TCP/IP協(xié)議運行于IB網(wǎng)絡(luò )之上,但是TCP/IPIB網(wǎng)絡(luò )提供RDMA傳輸接口以及傳統的消協(xié)議對于數據中心內部數據傳送的固有缺陷,使得息傳遞接口。RDMA接口通過(guò)將本地內存導出給Cappella并行文件系統無(wú)法充分發(fā)揮自身性能。遠端主機,遠端主機可以直接通過(guò)IB網(wǎng)卡訪(fǎng)問(wèn)本本節重點(diǎn)分析TCP協(xié)議和SDP協(xié)議用于數地內存數據,從而避免了本地內存到本地網(wǎng)卡緩存據中心數據傳輸時(shí)候的各自?xún)?yōu)劣,文中用RPCo-的拷貝,也避免了遠端網(wǎng)卡緩存到遠端主機內存的ver SDP表示基于SDP協(xié)議的RPC, RPC over拷貝。不過(guò),由于RDMA訪(fǎng)問(wèn)需要提前將本地內存注冊到IB網(wǎng)卡,而內存注冊也是有一-定的開(kāi)銷(xiāo),TCP表示基于TCP協(xié)議的RPC。所以RDMA接口在傳輸小塊數據的時(shí)候并沒(méi)有3.1 TCP 協(xié)議的優(yōu)勢與缺陷傳統的方式高效。針對IB網(wǎng)絡(luò )中小塊數據的傳為了給數據中心的應用提供高可擴展性、高性輸,我們可以使用IB提供的消息傳遞接口。目前能高可靠.高安全的服務(wù),數據中心的層次化結構SDP的實(shí)現中,針對大于或等于64 KB的數據傳開(kāi)始逐漸流行。輸使用RDMA傳輸,而小于64 KB的數據則采用相對于傳統的客戶(hù)端.服務(wù)器兩層架構,現代傳統的消息傳遞接口傳輸。數據中心的應用通常有三層以上的架構。-般都.相對于傳統的TCP傳輸方式,IB的消息傳遞會(huì )將應用服務(wù)器與數據服務(wù)器分離,通過(guò)高速網(wǎng)絡(luò )接口并不需要主機CPU參與類(lèi)似數據完整性校連接。應用服務(wù)器和數據服務(wù)器使用集群技術(shù)來(lái).驗、數據包排序、數據包分發(fā)和聚合等等操作,IB提供高性能和高可靠等特性。硬件保證數據傳輸的可靠性,協(xié)議的處理并不需要當數據訪(fǎng)問(wèn)路徑涉及多個(gè)層次的時(shí)候,每個(gè)層CPU的干預中國煤化工次之間都將產(chǎn)生網(wǎng)絡(luò )開(kāi)銷(xiāo),此時(shí)對于網(wǎng)絡(luò )性能的需盡管IYHCNMH G轉遞接口都有求將更加迫切。所以,對于現代數據中心來(lái)說(shuō),高他們特有的優(yōu)勢,但是對基于TCP協(xié)議開(kāi)發(fā)的應明亮等:基于InfiniBand的RPC優(yōu)化27用戶(hù)態(tài)應用程序server邏輯處理多線(xiàn)程化(MTRPC)],MTRPCRPC庫性能得到明顯提升。用戶(hù)態(tài)SDPDP從圖7可知,MTRPC over TCP性能隨著(zhù)連接數的增加和傳輸塊大小的增大,性能有明顯提內核態(tài)內核態(tài)程序升。在六個(gè)連接1MB的塊大小時(shí)能夠達到2298SunRPC模塊MB/s,遠遠超過(guò)原始的TIRPC的性能。那么,將RDMATIRPC的TCP傳輸協(xié)議使用SDP協(xié)議替換后又會(huì )如何呢?Figure6 RPC over SDPxI(圖6使用SDP傳輸的RPCi■1連接■2連接,4 RPC over SDP的設計與實(shí)現器15& 3連接口4連接從以上分析可知,SDP協(xié)議相對于TCP協(xié)議口5連接具有很大優(yōu)勢,將SDP協(xié)議集成到RPC能夠提高。業(yè)■6連接RPC通信的性能。從SDP協(xié)議的來(lái)歷我們知道,SDP是IB協(xié)議皇電棧中用來(lái)替換TCP的,通過(guò)提供socket接口使基于socket的TCP應用能夠無(wú)縫切換到SDP協(xié)議。Figure 7 Performance of MTRPC而用戶(hù)態(tài)的RPC直接使用socket接口來(lái)使用網(wǎng)over TCP and MTRPC over SDP絡(luò )傳輸服務(wù),故用戶(hù)態(tài)的RPC切換到SDP是比較.圖7 MTRPC over TCP與MTRPC over SDP性能對比容易的。通過(guò)分析TIRPC代碼庫,可以發(fā)現TIRPC的然而,要使用戶(hù)態(tài)和內核態(tài)的RPC能夠通過(guò).socket連接都是通過(guò)__ rpc_ nconf2fd 調用創(chuàng )建,我SDP協(xié)議通信,內核態(tài)的RPC也需要實(shí)現SDP的們所要做的工作就是替換TCP socket 為SDP通信。通過(guò)分析內核態(tài)SunRPC的處理邏輯,發(fā)socket。只需要在rpe_generic.c代碼中添加SDP現SunRPC使用了tcp_ read_ sock 接口,該接口是協(xié)議支持。tep_ recvmsg(tcp socket 接口)的- 種非阻塞版本。代碼修改如下所示:但是,SDP的實(shí)現中并沒(méi)有提供類(lèi)似的接口。因/ * rpe_ generic.c for SDP* /此,要實(shí)現內核態(tài)的基于SDP協(xié)議的RPC通信,# define SDP可以使用兩種方案:(1)在SDP模塊中添加類(lèi)似于# ifdef SDP# define AF_ INET SDP 27tep_ read_ sock的SDP版本sdp_ read_ sock; (2)修# endif改SunRPC邏輯,使它只使用tcp_ recvmsg 接口。從代碼復雜性和對內核的修改量分析,方案(1)更int_ rpc_ nconf2fd( const struct netconfig * nconf)具可行性,它對于SunRPC基本不做修改,保證了內核的穩定性。4.1用戶(hù)態(tài)RPC over SDP目前,基于C語(yǔ)言的用戶(hù)態(tài)開(kāi)放網(wǎng)絡(luò )計算if(strcmp( nconf→nc _netid," tep")==0){si.si _af= AF INET SDP;RPC(ONCRPC)主要包括glibc 中的SunRPC和Sun公司開(kāi)發(fā)的TIRPC( Transport IndependentRPC),為了修改和編譯的方便,使用TIRPC作為.if((fd = socket(si. si_ af,si. si_ socktype,si. si_ pro-我們開(kāi)發(fā)和測試的基礎代碼。通過(guò)對TIRPC的測to))>=08.8.si.si _af= =AF_ INET6) {試發(fā)現其最佳傳輸性能不到1. 5GB/s,遠遠低于int val=1;多連接TCP協(xié)議的2551 MB/s。中國煤化工通過(guò)分析TIRPC代碼邏輯,可知其中RPCsetsockopt.MHC N M H GNLY, &.val,si-server端的處理邏輯是單線(xiàn)程的。通過(guò)將RPCzeof(val));28Computer Engineering &. Science計算機工程與科學(xué) 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);出用戶(hù)態(tài)下切換TCP協(xié)議到SDP協(xié)議是非常容goto out;易的工作。# else切換到SDP協(xié)議之后,RPC over SDP的性能if(err= sock_ .create_ kern(PF_ INET, SOCK_如圖7所示。通過(guò)測試數據可知,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);可見(jiàn)用戶(hù)態(tài)下將RPC切換到SDP協(xié)議是非常具有性?xún)r(jià)比的,極小的代碼改動(dòng)就能得到巨大的收益。但是,要使內核態(tài)與用戶(hù)態(tài)之間的交互能夠# endif獲得SDP的優(yōu)勢,還必須實(shí)現內核態(tài)的SDP協(xié)(4)修改服務(wù)器端socket為SDP socket。4.2內核態(tài) RPC over SDP修改linux源代碼目錄中的net/ sunrpc/ svc-要實(shí)現內核態(tài)RPC over SDP,首先需要修改sock.c中的svc_ create_ socket 函數,修改TCP內核中的SDP模塊,添加sdp_ read_ sock 接口。socket為SDP socket,代碼修改如下所示:sdp_ read_ sock 代碼類(lèi)似于sdp_ recvmsg, 主要不1 * net/sunrpc/svcsock. c for SDP */同是sdp_ read_ sock 不會(huì )阻塞調用,且sdp_ read_static struct sVC_ xprt * svc_ create_ socket(struct svc_sock能夠將sdpbuffer中的內容通過(guò)回調函數直serv * serv,.)接填充到應用緩存。在實(shí)現了sdp_ read_ sock 接口之后,還需要修改內核態(tài)SunRPC中client 和server端創(chuàng )建sock-et的相關(guān)接口。主要工作包括:if(type= =SOCK _STREAM){(1)復制IB驅動(dòng)的sdp目錄中的sdp. h到/error = sock_ create_ kern( PF _ INET_ SDP , type,protocol, &sock);usr/src/linux-2. 6. 27內核源代碼目錄中的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)修改客戶(hù)端socket為SDP socket。代碼修改如下所示:修改linux源代碼目錄中的net/ sunrpc/ xprt-/ * net/ sunrpc/ xprtsock. c for SDP* /sock.c中的xs_ tcp_ connect_ worker4 雨數,修改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傳輸性能的測試工具,本測試主要通過(guò)編寫(xiě)reev);基于內核態(tài)RPC接口的代碼來(lái)進(jìn)行測試;每次測# else試通過(guò)傳送1GB的數據(每次測試變化傳輸的塊read=tcp_ read_ sock(sk,8.rd_ desc,xs_ tcp_ data_大小和線(xiàn)程數),根據傳輸消耗的時(shí)間計算出實(shí)際recv);的帶寬。# endif由于內核態(tài)線(xiàn)程之間同步的復雜性,在計算帶} while( read>0);寬的時(shí)候,分別計算每個(gè)線(xiàn)程獲得的帶寬,然后求和;用戶(hù)態(tài)下的方式為,從第- -個(gè)線(xiàn)程發(fā)出到最后.通過(guò)修改內核態(tài)SunRPC以上五個(gè)地方,即一個(gè)線(xiàn)程結束的時(shí)間除以總傳輸量,所以?xún)群藨B(tài)下可完成內核態(tài)SunRPCoverSDP通信,可以看出的測試結果會(huì )偏大一些。這種測試方法并不準確,代碼的修改量非常之少。但是為了對比TCP和SDP的性能.此方法還是有一定的價(jià)值。5性能測試及結果分析如圖8所示,可以看出RPC over SDP的整體性能高于RPC over TCP,RPC over SDP峰值帶本節內容包括:(1)對比測試內核態(tài)RPC over寬能夠達到2500MB/s.而RPCoverTCP峰值僅TCP和RPC over SDP;(2)對比測試內核態(tài)RPC為1 850 MB/s,峰值帶寬提升35%以上。與用戶(hù)態(tài)RPC通信時(shí),TCP協(xié)議與SDP協(xié)議的性30能?!鯥連接5.1測試環(huán)境20.■2連接.實(shí)驗室機房環(huán)境如下:■4連接(1)浪潮Inspur NF5280服務(wù)器90臺。學(xué)■6連接每臺具體配置為:■8連接CPU:Intel X5560* 2(2. 8GHz,4核);內存:Kingston DDR3 1 333 MHz 2GB* 6,總計12GB;硬盤(pán): 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內核態(tài)RPCoverTCP以及RPCoverSDP對比測試40 Gb/s) Channel Adapter.(2)Mellanox 36口IB交換機6臺。5.3 內核態(tài)客戶(hù)端與用戶(hù)態(tài)服務(wù)器端通信主要軟件環(huán)境為:內核態(tài)客戶(hù)端與用戶(hù)態(tài)服務(wù)器進(jìn)行通信是(1)操作系統;Cappella文件系統的通信方式,在用戶(hù)態(tài)和內核態(tài)原裝64位Redhat5.3,原始內核版本2.6. 18;均實(shí)現了SDP協(xié)議之后,RPC內核態(tài)與用戶(hù)態(tài)之升級內核為2. 6. 27,本文的測試都是基于間的通信順理成章了。2. 6.27內核。測試方法同上節,為了保證對比測試的公平性(2)IB驅動(dòng)。和可比較性,所有的測試都使用相同的代碼和測試IB驅動(dòng)版本為:Mellanox OFED-1. 4(12]。模式。(3)用戶(hù)態(tài)RPC:libtirpc-0. 2.13]。從之前的測試中可以得到,RPCoverSDP在(4)帶寬測試工具:iperf-2. 0. 2[11]和netperf-用戶(hù)態(tài)下和內核態(tài)下均有較大的性能提升,而圖92.4. 115。的結果表明,內核態(tài)RPC與用戶(hù)態(tài)RPC通信時(shí),本文提到的各種測試結果均是基于以上的軟SDP協(xié)議在數據塊大小較小(小于128KB)的時(shí)候硬件環(huán)境得到的。具有明顯的優(yōu)中國煤化工256 KB時(shí)5.2內核態(tài)RPC對比測試RPC over SDP:TYHcNMHC性能相差測試方法:由于并沒(méi)有專(zhuān)業(yè)的測試內核態(tài)不大,總體來(lái)說(shuō)RPC over SDP更具優(yōu)勢。30Computer Engineering &. Science計算機工程 與科學(xué)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內核態(tài)RPC與用戶(hù)態(tài)RPC的通信性能測試enhanced user space remote procedure call on InfiniBand[C]// Proc of the SPIE,2011:8331-83310K.6結束語(yǔ)[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)域。本文通過(guò)對比SDP與TCPpriects/libtirpc/.協(xié)議的特性,全方位地分析了在數據中心中RPC [4] IrteEroL. [02 03. 30]. t://p/ suretoreover TCP的性能瓶頸,且實(shí)現了用戶(hù)態(tài)RPC overnet/.SDP以及內核態(tài)RPC over SDP。其中在實(shí)現內[15] Netperf[ EB/OL]. [2012-03-30]. http://www. netperf.核態(tài)的RPC over SDP時(shí),為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戶(hù)態(tài)通信以及內核態(tài)通信均較RPC over TCP有drect protocol over InfiniBand- preliminary implementa-明顯的優(yōu)勢,峰值性能分別提升10%(用戶(hù)態(tài))和tion and performance analysis[C]// Proc of the 13th Sympo-35%(內核態(tài))。只是在內核態(tài)客戶(hù)端與用戶(hù)態(tài)服sium on High Performance Interconnects ( H0TI' 05),務(wù)器進(jìn)行通信時(shí),RPCoverSDP并沒(méi)有體現出優(yōu)2005;128- 137.勢??梢?jiàn),要使內核態(tài)與用戶(hù)態(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。參考文獻:作者簡(jiǎn)介:[1] InfiniBand Trade Association. InfiniBandTM architecture specifi-明亮(1984-).男.湖北孝感人,博士cation[ EB/OL]. [2012-05-11]. http://www. infinibandta.生,研究方向為分布式文件系統。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-),女,湖北荊門(mén)人,博士,[4] Bram P J. The lustre storage architecture. [ EB/OL]. [2011-教授,研究方向為計算機系統結構和存儲11-29]. http://www. lustre. org/ documentation. html.系統。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.

論文截圖
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院