一種基於高速通信協議的提升網絡文件系統性能的方法
2023-05-12 20:44:36 1
專利名稱:一種基於高速通信協議的提升網絡文件系統性能的方法
技術領域:
本發明涉及計算機領域,具體的說就是一種應用於伺服器集群的改進的、利用 高速通信協議的提升網絡文件系統性能的方法。
背景技術:
網絡文件系統是目前伺服器集群中廣泛應用的文件系統中的一種,包括NFS、 CIFS、 SAMBA等等。網絡文件系統允許一個系統在網絡上共享目錄和文件。通過使 用網絡文件系統,用戶和程序可以象訪問本地文件一樣訪問網絡上遠端系統的文 件。網絡文件系統至少包括兩個主要的部分伺服器端,以及至少一個客戶端, 客戶端遠程地訪問保存在伺服器端上的數據。
網絡文件系統是基於遠程過程調用(RPC)的文件系統結構。利用遠程調用(RPC) 技術,系統可以實現對網絡上的伺服器系統過程的遠程執行請求。目前,RPC已經 得到包括Solaris, Linux,以及Microsoft Windows等作業系統的支持。RPC的 目的就是對通過網絡進行過程的具體連接細節和方法進行抽象。這樣,客戶端和 伺服器就無須配備專門的網絡代碼,就可以進行網絡文件的共享了。 網絡文件系統好處有本地伺服器站使用更少的磁碟空間,因為通常的數據可以
存放在一臺機器上而且可以通過網絡訪問到;用戶不必在網絡上的每個機器裡頭
都有一個自己的用於存放數據的目錄。該目錄可以放在網絡文件系統伺服器上並
且在網絡上每個伺服器上都可以訪問到。諸如軟碟機,CDROM之類的存儲設備可以在 網絡上面被別的機器使用。這可以減少整個網絡上的可移動介質設備的數量。
在高速網絡不斷成長並得到推廣的現在,儘管伺服器集群配備了高速的RDMA 網絡設備,但由於目前的網絡文件系統協議有局限,網絡文件系統的性能瓶頸越 來越體現在文件系統上而不是硬體上,即網絡文件系統無法充分利用RDMA高速網 絡所提供的高帶寬。
發明內容
本發明的目的是提供一種利用高速通信協議提升網絡文件系統性能的方法,本 發明的方法可以直接讀寫通信節點的緩存,避免了 TCP/IP協議棧開銷,卸載部分 CPU負擔,提高帶寬,降低延遲,從而提升整個網絡文件系統的性能。
本發明的目的是按以下方式實現的,將RDMA高速通信協議加入網絡文件系統 的RPC遠程調用協議中,在進行數據傳輸前,由發起通信節點向通信節點發送簡訊息,並從通信節點回饋的簡訊息中獲知通信或數據'傳輸的目的緩存地址及大小 後,由發起通信的節點直接向目的緩存進行讀寫,以此提升網絡文件系統的帶寬,
降低延遲,消減協議棧和CPU開銷。
對已配備了 RDMA高速通信網絡的網絡文件系統的RPC遠程調用協議加入RDMA 高速通信協議,通過RDMA高速通信協議,在處理完簡訊息後,通信雙方不需經過 TCP/IP協議棧,直接讀寫對方的緩存來進行數據傳輸。
本發明的有益效果是本發明的方法可以直接讀寫通信節點的緩存,避免了 TCP/IP協議棧開銷,卸載部分CPU負擔,提高帶寬,降低延遲,從而提升整個網 絡文件系統的性能。RDMA高速通信協議還可省去同樣的數據在不同內存空間的傳 輸和拷貝流程,直接讀寫緩存,同時避免了相應的CPU中斷。因為RDMA消減了 CPU 的數據轉移開銷,可以讓CPU轉而執行其他任務,提高了CPU的利用率。
附圖1是傳統的基於TCP/IP協議棧的網絡文件系統通信流程圖; 附圖2是加入RDMA高速通信協議的網絡文件系統通信流程圖。
具體實施例方式
參照說明書附圖對本發明的網絡文件系統作以下詳細地說明。
如圖l所示,傳統的流程中,從本地磁碟中讀取數據到緩存中,再由本地文件 系統從緩存中讀取到網絡文件系統中,然後由TCP/IP協議棧進行網絡地址確認等 TCP操作,最後通過網卡驅動來驅動網卡進行數據交換。
如圖2所示,具體流程上,RDMA簡訊息傳遞路徑同傳統TPC/IP協議棧傳輸數 據的路徑相同,但是通過RDMA簡訊息確認數據傳輸的目的緩存地址和大小後,數 據傳輸即可通過直接讀寫通信雙方的緩存來進行。RDMA高速通信協議省去了同樣 的數據在不同內存空間的傳輸和拷貝流程,直接讀寫緩存,同時避免了相應的CPU 中斷。因為RDMA消減了CPU的數據轉移開銷,可以讓CPU轉而執行其他任務,提 高了CPU的利用率。
實施例
將RDMA高速通信協議加入RPC協議中,無需對RPC協議做出修改,就像即插 即用一樣。利用RDMA高速通信協議,在通信或數據傳輸前,由發起RPC通信的節 點向通信節點分發簡訊息,並從通信節點回饋的簡訊息中獲知RPC通信或數據傳 輸的目的緩存地址及大小後,由發起通信的節點直接向目的緩存進行讀寫。
DMA模型與TCP的數據流模型或UDP的數據報不同。在傳統的模型裡,數據是 "盲傳"的。數據流或數據塊被傳輸到一個網絡地址,但到達後對數據的最終處 理完全交給了接收系統。RDMA模型的讀寫操作要求讀取方和寫入方了解數據傳輸 的數據源和目的地的緩存的地址和大小。如果你從一個主機端的內存裡,通過RDMA向另一個主機端寫數據塊,你必須 提供目的地緩存的虛擬地址,並保證緩存足夠大以接收全部數據。同樣的,當從 遠端主機讀取數據時, 一定要知道所讀取的數據的虛擬地址和適當大小的本地緩 存的地址。RDMA模型都提供消息隊列以交換簡訊息。這些信息可用來激發RDMA的 讀和寫操作並提供關於數據源和目的地的虛擬地址和消息大小。
例如,當一個網絡文件系統的RPC客戶端需要向一個伺服器端發送一個呼叫信 息,它首先要發送一個簡訊息到伺服器端給出呼叫信息的虛擬地址和大小。這就 是對伺服器端的通知有一個呼叫信息在等待。 一旦收到這個簡訊息,伺服器就 可以分配所需大小的緩存,並初始化一個RDMA讀操作從客戶端的緩存傳輸這個RPC 呼叫信息到伺服器端的緩存。
當RDMA讀取結束,伺服器端就會傳輸一個簡訊息給客戶端通知它信息已成功接 收。 一個進行RDMA寫操作的呼叫信息與此類似。客戶端先發送信息到伺服器端要 求一個目的緩存的地址,並要求其大小可以容納RPC呼叫信息。 一旦收到伺服器端 的反饋,客戶端初始化一個RDMA寫操作直接寫到伺服器端的緩存,當RDMA操作結. 束,客戶端發送一個簡訊息到伺服器端通知呼叫信息已傳輸並等待回應。
類似的方法可用於RPC應答信息。有很多不同的方法來綜合運用RDMA和信息 隊列。可以通過優化進程來使信息數目最小,減小延遲,同時調節RDMA讀和寫操 作的速度以最大化帶寬。
RDMA可以加速網絡文件系統傳輸,提升基於TCP/IP的客戶的性能。許多客戶 使用網絡文件系統的文件巻來向TCP/IP客戶提供文件服務。這些TCP/IP進程開 銷可以被卸載到在TCP/IP和RDMA網絡間行動網路文件系統傳輸的伺服器上。RPC 呼叫可以從TCP包中抽取出來,並通過RDMA發送到文件巻。來自文件巻的RPC回 應可以由RDMA獲取並通過TCP/IP返回。因為文件巻不再處理TCP/IP進程,就消 減了它的服務延遲,並可以承擔更高的網絡文件系統負載。
除說明書所述的技術特徵外,均為本專業技術人員的已知技術。
權利要求
1、一種基於高速通信協議的提升網絡文件系統性能的方法,其特徵在於,將RDMA高速通信協議加入網絡文件系統的RPC遠程調用協議中,在進行數據傳輸前,由發起通信節點向通信節點發送簡訊息,並從通信節點回饋的簡訊息中獲知通信或數據傳輸的目的緩存地址及大小後,由發起通信的節點直接向目的緩存進行讀寫,以此提升網絡文件系統的帶寬,降低延遲,消減協議棧和CPU開銷。
2、根據權利要求1所述的方法,其特徵在於,對已配備了 RDMA高速通信網絡 的網絡文件系統的RPC遠程調用協議加入RDMA高速通信協議,通過RDMA高速通 信協議,在處理完簡訊息後,通信雙方不需經過TCP/IP協議棧,直接讀寫對方的 緩存來進行數據傳輸。
全文摘要
本發明提供一種基於高速通信協議的提升網絡文件系統性能的方法,該方法是將RDMA高速通信協議加入網絡文件系統的RPC遠程調用協議中,在進行數據傳輸前,由發起通信節點向通信節點發送簡訊息,並從通信節點回饋的簡訊息中獲知通信或數據傳輸的目的緩存地址及大小後,由發起通信的節點直接向目的緩存進行讀寫,以此提升網絡文件系統的帶寬,降低延遲,消減協議棧和CPU開銷。加入RDMA高速通信協議還可省去同樣的數據在不同內存空間的傳輸和拷貝流程,直接讀寫緩存,同時避免了相應的CPU中斷。因為RDMA消減了CPU的數據轉移開銷,可以讓CPU轉而執行其他任務,提高了CPU的利用率。
文檔編號H04L29/06GK101599991SQ20091001680
公開日2009年12月9日 申請日期2009年7月7日 優先權日2009年7月7日
發明者王渭巍 申請人:浪潮電子信息產業股份有限公司