[發明專利]一種RDMA內存申請保護方法、系統、設備及存儲介質在審
| 申請號: | 202111510822.0 | 申請日: | 2021-12-10 |
| 公開(公告)號: | CN114253475A | 公開(公告)日: | 2022-03-29 |
| 發明(設計)人: | 張硯凱 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F9/50;G06F13/28 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 張元 |
| 地址: | 215000 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 rdma 內存 申請 保護 方法 系統 設備 存儲 介質 | ||
本發明提出一種RDMA內存申請保護方法,包括:以預注冊的方式在內存中申請多個內存塊,并基于多個內存塊建立內存塊資源池;響應于需要將數據寫入到內存中,根據數據的大小從內存塊資源池中分配多個內存塊存儲數據。通過本發明提出的一種RDMA內存申請保護方法,將使用RDMA數據傳輸方式的寫入數據時申請內存的方式改為預注冊的方式,并且采用分批預注冊的方實現對RDMA保護內存的申請,可有效降低因獨占內存控制導致的系統阻塞。緩解RDMA內存使用與系統使用內存的競爭關系。提高使用RDMA鏈路的存儲系統的穩定性。
技術領域
本發明屬于互聯網技術領域,具體涉及一種RDMA內存申請保護方法、系統、設備及存儲介質。
背景技術
RDMA(Remote-Direct Memory Access)遠程內存直接訪問,是Mellanox、Intel等公司推出的高速網絡技術,與傳統網絡技術相比,RDMA能夠繞過操作系統協議棧、減少內存拷貝次數、避免系統態內核態切換開銷,從而提供更高帶寬、更低時延、占用更少的系統資源。
RDMA是一種直接訪問遠端計算機存儲區的網絡傳輸技術,將數據從本地系統快速拷貝到遠程系統存儲器中,傳輸過程中只占用單邊CPU資源,同時繞過操作系統內核協議棧,能夠顯著提高數據傳輸性能。RDMA技術已經應用到各類業務場景,尤其是對帶寬、時延要求非常高的分布式存儲系統,采用RDMA網絡傳輸大量文件數據,繞過傳統網絡的性能瓶頸,充分發揮出NVMe SSD、PM等新型硬件的性能。現在RDMA技術的普遍應用中,數據的傳輸需要依賴一個固定的內存區域存放數據,在本地端和遠程端首次建立連接的過程時需要申請并注冊多塊內存區域以供RMDA接收命令、發送數據、接收數據。注冊內存區域是比較耗時的,在實際測試中,注冊100G內存耗時約3.6s。在業務處理中阻塞3.6s無疑是致命的,因為我們的系統不只有RDMA一種應用。
因此,亟需一種有效解決上述問題的RDMA解決方案。
發明內容
為解決以上問題,本發明提出一種RDMA內存申請保護方法,包括:
以預注冊的方式在內存中申請多個內存塊,并基于所述多個內存塊建立內存塊資源池;
響應于需要將數據寫入到所述內存中,根據所述數據的大小從所述內存塊資源池中分配多個內存塊存儲所述數據。
在本發明的一些實施方式中,以預注冊的方式在內存中申請多個內存塊,并基于所述多個內存塊建立內存塊資源池,包括:
響應于RDMA驅動初始化完成,根據所述RDMA驅動所設定的最大連接的個數,及每個連接所預定的空間大小在內存中分批建立多個內存塊,并將所述多個內存塊建立內存塊資源池。
在本發明的一些實施方式中,以預注冊的方式在內存中申請多個內存塊,并基于所述多個內存塊建立內存塊資源池,還包括:
根據數據寫入內存的速度,提前向內存中注冊所述數據寫入內存的速度等大的多個數據塊。
在本發明的一些實施方式中,方法還包括:
判斷所述內存塊資源池的剩余空間大小及系統內存的剩余空間大小;
響應于所述內存塊資源池的剩余空間大小大于所述內存塊資源池的總大小的第一預定比例,且所述系統內存的剩余空間大小低于第二預定比例,將釋放所述內存塊資源池預定大小的內存空間。
在本發明的一些實施方式中,將釋放所述內存塊資源池預定大小的內存空間,包括:
將所述預定大小的內存空間作為故障內存空間進行釋放。
在本發明的一些實施方式中,方法還包括:
將所述內存塊資源池中的內存空間通過本地環回網絡共享給所述系統調用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111510822.0/2.html,轉載請聲明來源鉆瓜專利網。





