[發明專利]用戶態下基于RDMA協議的遠程過程調用實現方法有效
| 申請號: | 201110444483.0 | 申請日: | 2011-12-23 |
| 公開(公告)號: | CN102546612A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 王芳;馮丹;明亮;付秋雷;萬勇;朱挺煒 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 李佑宏 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用戶 基于 rdma 協議 遠程 過程 調用 實現 方法 | ||
技術領域
本發明屬于計算機網絡通訊領域,具體涉及基于遠程直接內存訪問(RDMA)協議的遠程過程調用(RPC)實現方法。
背景技術
隨著計算機網絡技術的迅猛發展,網絡的性能目前已經達到每秒100千兆比特級別,如何充分利用高速網絡的特性是我們面對的一個重要問題。RDMA使一臺計算機可以直接將信息傳送到另一臺計算機內存中。這項技術通過減少處理器開銷和減少內存的拷貝降低了時延,提高了網絡利用率。
傳統用戶態下的遠程過程調用傳輸基于傳輸控制協議/因特網互聯協議(TCP/IP),利用TCP/IP協議來傳遞遠程過程調用請求信息。傳統的TCP/IP協議在傳送用戶態請求信息時,首先需要將請求信息從用戶態緩存拷貝到內核態緩存,然后從內核態緩存拷貝到網卡驅動,最后通過網卡驅動發送出去,接收過程也類似,需要多次的內存拷貝和大量的CPU開銷。在高速網絡中使用TCP/IP協議會使得系統性能無法滿足需求。
RDMA協議能夠在用戶態下直接調用網卡驅動,并且能將數據直接在客戶端應用程序和服務器應用程序之間拷貝,減少CPU和內存拷貝開銷,能大幅提高系統性能。當前在分布式存儲系統中,用戶態的應用也越來越廣泛,如谷歌文件系統(Google?File?System),Hadoop文件系統(Hadoop?File?System)以及其他方面的一些應用等。而這些高性能應用都需要遠程過程調用能夠提供高帶寬,低延遲的數據傳輸。將RDMA集成到遠程過程調用中取代低性能的TCP/IP協議能夠有效地提高高速網絡(比如InfiniBand網絡)的性能。
發明內容
本發明提供一種用戶態下基于RDMA協議的遠程過程調用實現方法,目的在于可以通過遠程過程調用協議使用現有高速網絡的RDMA特性,使得編寫遠程過程調用程序的程序員能夠透明的獲得高性能低延遲的網絡服務,為高性能應用程序提供用戶態下的基礎遠程過程調用庫。
本發明關于用戶態下基于RDMA的遠程過程調用實現方法,主要包括:
(1)RDMA協議傳輸連接的建立。在客戶端和服務器分別創建RDMA協議傳輸層相關的數據結構,并建立RDMA協議傳輸連接。
(2)客戶端發送遠程過程調用請求相關邏輯。
(3)服務器處理請求以及發送響應信息的相關邏輯。
(4)客戶端接收服務器響應信息相關邏輯。
作為本發明的改進,RDMA協議傳輸連接的建立包括如下過程:
(1)首先在服務器構建RDMA協議監聽接口相關的數據結構(包括內存注冊等),并調用RDMA監聽原語監聽來自客戶端的連接請求。
(2)客戶端在需要調用遠程過程調用請求之前,需要建立客戶端RDMA協議傳輸層相關數據結構,并調用RDMA協議的連接原語連接到服務器。
(3)服務器監聽到有連接請求時,首先建立RDMA協議的遠程過程調用的傳輸層相關數據結構,并調用RDMA協議的接受連接原語接受請求。此時連接建立完成,遠程過程調用客戶端可以通過此連接發送遠程過程調用請求和接收遠程過程調用響應信息。
作為本發明的改進,RDMA協議的遠程過程調用發送請求邏輯包括如下過程:
(1)請求數據編碼階段,對于小塊數據的請求,直接編碼進入外部數據表示,跳到(3)。
(2)請求數據編碼階段,對于大塊數據的請求,對其中的大塊數據構建一個大塊數據鏈表數據結構,并將大塊數據鏈表數據結構編碼到外部數據表示中,其中鏈表數據結構包括大塊數據注冊的內存池的句柄,大塊數據的地址和長度,鏈表數據結構在外部數據表示中的偏移地址等。
(3)將編碼后的外部數據表示通過RDMA協議的發送原語發送到服務器。
作為本發明的改進,RDMA協議的遠程過程調用處理請求并發出響應的處理邏輯包括如下過程:
(1)服務器通過調用RDMA協議的接收原語接收客戶端發來的請求信息。
(2)對于小塊數據的請求,直接解碼并發送到對應的服務器處理程序完成。
(3)對于大塊數據的請求,通過解碼獲得大塊數據的大塊數據鏈表信息,并利用這個信息通過RDMA協議的讀原語到客戶端拉取大塊的數據,此時大塊數據傳輸不需要中央處理器的干預。
(4)請求處理完成后,發送響應信息,對于其所包括的實際響應數據為小塊數據的響應信息(即小的響應信息),將其中的實際響應數據直接編碼進入外部數據表示,跳到(6)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110444483.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于測試射頻集成電路的系統和方法
- 下一篇:一種動態內容發送的處理方法及系統





