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注冊內存塊的數據傳輸方法,其特征在于,包括:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中。
【技術特征摘要】
1.一種基于RDMA注冊內存塊的數據傳輸方法,其特征在于,包括:申請大塊內存,并將所述大塊內存分成多個具有預設大小的內存塊;將所述內存塊注冊到網卡的發送端和接收端,其中注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數;獲取可用的第二內存塊,并裝入待發送數據;利用網卡將待發送數據發送到所述第一內存塊中。2.根據權利要求1所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,所述將所述內存塊注冊到網卡的發送端和接收端為:利用VPIverbs接口ibv_reg_mr將內存塊注冊到Infiniband網卡的發送端和接收端。3.根據權利要求1所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,所述將所述大塊內存分成多個具有預設大小的內存塊為:將所述大塊內存分成多個大小為8K的內存塊。4.根據權利要求1所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,所述注冊到接收端的第一內存塊的個數不小于注冊到發送端的第二內存塊的個數為:注冊到接收端的第一內存塊的個數大于注冊到發送端的第二內存塊的個數。5.根據權利要求1-4任一項所述的基于RDMA注冊內存塊的數據傳輸方法,其特征在于,在所述利用網卡將待發送數據發送到所述第一內存塊中之后,還包括:所述接收端通知所述發送端數據傳輸完成,并將發送端占...
【專利技術屬性】
技術研發人員:尚付飛,劉杰,
申請(專利權)人:鄭州云海信息技術有限公司,
類型:發明
國別省市:河南,41
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。