• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于RDMA注冊內存塊的數據傳輸方法和裝置制造方法及圖紙

    技術編號:15690508 閱讀:99 留言:0更新日期:2017-06-24 02:57
    本申請公開了一種基于RDMA注冊內存塊的數據傳輸方法和裝置,該方法包括申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中。上述基于RDMA注冊內存塊的數據傳輸方法和裝置,能夠減少RDMA對內存資源的占用,降低RDMA因計算操作注冊內存而占用的系統資源,從而提高數據傳輸的穩定性,并提高數據傳輸效率。

    Data transmission method and device based on RDMA registered memory block

    The invention discloses a RDMA based register memory block data transmission method and device, the method includes applying chunk of memory, and the large memory is divided into a plurality of memory blocks with preset size; the memory block registration card to the sending end and receiving end, which is registered to the receiving end of the first memory block number is not less than second the number of registered to the sending end of the memory block; get the second block of memory available, and load the data to be transmitted; use the card will be sent to send data to the first memory block. Based on the above RDMA registered memory block data transmission method and device can reduce the RDMA of memory resource, reduce the RDMA for computing registered memory and system resources occupied, so as to improve the stability of data transmission, and improve the efficiency of data transmission.

    【技術實現步驟摘要】
    一種基于RDMA注冊內存塊的數據傳輸方法和裝置
    本專利技術屬于高性能通信
    ,特別是涉及一種基于RDMA注冊內存塊的數據傳輸方法和裝置。
    技術介紹
    目前,普通網卡集成了支持硬件校驗和的功能,并對軟件進行了改進,從而減少了發送數據的拷貝量,但無法減少接收數據的拷貝量,而這部分拷貝量要占用CPU的大量計算周期。普通網卡的工作過程如下:先把收到的數據包緩存到系統上,數據包經過處理后,相應數據被分配到一個TCP連接;然后,接收系統再把主動提供的TCP數據同相應的應用程序聯系起來,并將數據從系統緩沖區拷貝到目標存儲地址。這樣,制約網絡速率的因素就出現了:應用通信強度不斷增加和主機CPU在內核與應用存儲器間處理數據的任務繁重使系統要不斷追加主機CPU資源,配置高效的軟件并增強系統負荷管理,問題的關鍵是要消除主機CPU中不必要的頻繁數據傳輸,減少系統間的信息延遲。RDMA是通過網絡把資料直接傳入提前注冊好的計算機存儲區,將數據從一個系統快速移動到遠程系統存儲器中,而不對操作系統造成任何影響,這樣就不需要用到多少計算機的處理功能。它消除了外部存儲器復制和文本交換操作,因而能騰出總線空間和CPU周期用于改進應用系統性能。而目前通用的做法需由系統先對傳入的信息進行分析與標記,然后再存儲到正確的區域。在ceph集群中使用RDMA技術的實現一般有兩種選擇:其一是基于開源代碼accelio類庫的實現,不過由于accelio類庫代碼復雜度較高,且accelio類庫本身存在一定的問題,在這些問題未被解決的情況下,不適合應用于生產環境;其二是基于VPIverbs接口自建,實現安全、可控的底層通信架構。使用第二種方式實現RDMA技術在ceph集群中的應用,是目前RDMA技術在存儲領域應用的主要方式,其核心之一在于設計基于RDMA高效、穩定、可控的注冊內存塊管理機制。為了使RDMA技術在分布式ceph集群中得到應用,需要封裝一套通信接口供上層應用調用,開源代碼accelio類庫實現了基于RDMA技術的通信模型,并實現了應用層的XIO接口,但是accelio類庫本身存在一些穩定性的問題,并不能在分布式ceph集群中實現產品化應用。為了實現RDMA技術在分布式ceph集群中的產品化,可以考慮基于Verbs接口自建實現基于RDMA的高性能底層通信模塊,而自建的核心之一在于設計一種高效、穩定、可控的注冊內存塊管理機制。
    技術實現思路
    為解決上述問題,本專利技術提供了一種基于RDMA注冊內存塊的數據傳輸方法和裝置,能夠減少RDMA對內存資源的占用,降低RDMA因計算操作注冊內存而占用的系統資源,從而提高數據傳輸的穩定性,并提高數據傳輸效率。本專利技術提供的一種基于RDMA注冊內存塊的數據傳輸方法,包括:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中。優選的,在上述基于RDMA注冊內存塊的數據傳輸方法中,所述將所述內存塊注冊到網卡的發送端和接收端為:利用VPIverbs接口ibv_reg_mr將內存塊注冊到Infiniband網卡的發送端和接收端。優選的,在上述基于RDMA注冊內存塊的數據傳輸方法中,所述將所述大塊內存分成多個具有預設大小的內存塊為:將所述大塊內存分成多個大小為8K的內存塊。優選的,在上述基于RDMA注冊內存塊的數據傳輸方法中,所述注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數為:注冊到接收端的第一內存塊的個數大于注冊到發送端的第二內存塊的個數。優選的,在上述基于RDMA注冊內存塊的數據傳輸方法中,在所述利用網卡將待發送數據發送到所述第一內存塊中之后,還包括:所述接收端通知所述發送端數據傳輸完成,并將發送端占用的內存塊置為可用狀態。本專利技術提供的一種基于RDMA注冊內存塊的數據傳輸裝置,包括:分塊單元,用于申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;注冊單元,用于將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;裝入單元,用于獲取可用的第二內存塊,并裝入待發送數據;發送單元,用于利用網卡將待發送數據發送到所述第一內存塊中。優選的,在上述基于RDMA注冊內存塊的數據傳輸裝置中,所述注冊單元具體用于利用VPIverbs接口ibv_reg_mr將內存塊注冊到Infiniband網卡的發送端和接收端。優選的,在上述基于RDMA注冊內存塊的數據傳輸裝置中,所述分塊單元具體用于將所述大塊內存分成多個大小為8K的內存塊。優選的,在上述基于RDMA注冊內存塊的數據傳輸裝置中,所述注冊單元具體用于將所述內存塊注冊到網卡的發送端和接收端,注冊到接收端的第一內存塊的個數大于注冊到發送端的第二內存塊的個數。優選的,在上述基于RDMA注冊內存塊的數據傳輸裝置中,還包括:通知單元,用于利用所述接收端通知所述發送端數據傳輸完成,并將發送端占用的內存塊置為可用狀態。通過上述描述可知,本專利技術提供的上述基于RDMA注冊內存塊的數據傳輸方法和裝置,由于該方法包括:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中,因此能夠減少RDMA對內存資源的占用,降低RDMA因計算操作注冊內存而占用的系統資源,從而提高數據傳輸的穩定性,并提高數據傳輸效率。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。圖1為本申請實施例提供的第一種基于RDMA注冊內存塊的數據傳輸方法的示意圖;圖2為通信內存塊的管理機制的原理示意圖;圖3為本申請實施例提供的第一種基于RDMA注冊內存塊的數據傳輸裝置的示意圖。具體實施方式本專利技術的核心思想在于提供一種基于RDMA注冊內存塊的數據傳輸方法和裝置,能夠減少RDMA對內存資源的占用,降低RDMA因計算操作注冊內存而占用的系統資源,從而提高數據傳輸的穩定性,并提高數據傳輸效率。下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。本申請實施例提供的第一種基于RDMA注冊內存塊的數據傳輸方法如圖1所示,圖1為本申請實施例提供的第一種基于RDMA注冊內存塊的數據傳輸方法的示意圖,該方法包括如下步驟:S1:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;需要說明的是,可以將要申請的大塊內存打散成8K一個的內存塊(chunk)。S2:將所述內存本文檔來自技高網
    ...
    一種基于RDMA注冊內存塊的數據傳輸方法和裝置

    【技術保護點】
    一種基于RDMA注冊內存塊的數據傳輸方法,其特征在于,包括:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中。

    【技術特征摘要】
    1.一種基于RDMA注冊內存塊的數據傳輸方法,其特征在于,包括:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中。2.根據權利要求1所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,所述將所述內存塊注冊到網卡的發送端和接收端為:利用VPIverbs接口ibv_reg_mr將內存塊注冊到Infiniband網卡的發送端和接收端。3.根據權利要求1所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,所述將所述大塊內存分成多個具有預設大小的內存塊為:將所述大塊內存分成多個大小為8K的內存塊。4.根據權利要求1所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,所述注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數為:注冊到接收端的第一內存塊的個數大于注冊到發送端的第二內存塊的個數。5.根據權利要求1-4任一項所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,在所述利用網卡將待發送數據發送到所述第一內存塊中之后,還包括:所述接收端通知所述發送端數據傳輸完成,并將發送端占...

    【專利技術屬性】
    技術研發人員:尚付飛劉杰
    申請(專利權)人:鄭州云海信息技術有限公司
    類型:發明
    國別省市:河南,41

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产精品无码一本二本三本色| 精品无码人妻一区二区三区品| 精品人妻无码专区中文字幕| 中文字幕无码免费久久99| 中文字字幕在线中文无码| 亚洲AV无码久久| 亚洲AV无码成人精品区日韩| 日韩少妇无码一区二区三区| 国产亚洲精品无码专区| 色欲aⅴ亚洲情无码AV蜜桃| 无码人妻少妇久久中文字幕蜜桃 | 亚洲成A人片在线观看无码不卡| 国产AV无码专区亚洲AVJULIA| 无码人妻精品内射一二三AV| 亚洲成AV人在线播放无码| 一本大道无码日韩精品影视_| 精品人妻无码一区二区三区蜜桃一 | 国产午夜无码精品免费看| 精品无码综合一区| 国产精品无码亚洲精品2021| 亚洲成在人线在线播放无码| 日韩精品无码一区二区三区| 久久人妻内射无码一区三区| 国精品无码一区二区三区在线蜜臀 | 亚洲av极品无码专区在线观看| 久久青青草原亚洲AV无码麻豆| 无码少妇一区二区浪潮av| 国产精品无码一区二区三区在| 18禁超污无遮挡无码免费网站国产| 一区二区三区无码被窝影院| 亚洲AV无码一区东京热| 亚洲av无码潮喷在线观看| 无码人妻AV免费一区二区三区 | 一本一道AV无码中文字幕| 西西4444www大胆无码| 日韩乱码人妻无码中文视频| 国产av无码久久精品| 国产精品无码不卡一区二区三区| 久久亚洲av无码精品浪潮| 狠狠躁夜夜躁无码中文字幕| 一本色道久久HEZYO无码|