[發明專利]基于硬件特性的分布式共享內存方法及系統有效
| 申請號: | 201710025548.5 | 申請日: | 2017-01-13 |
| 公開(公告)號: | CN106844048B | 公開(公告)日: | 2020-11-06 |
| 發明(設計)人: | 洪揚;陳海波;陳榕 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/54 |
| 代理公司: | 上海漢聲知識產權代理有限公司 31236 | 代理人: | 郭國中 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 硬件 特性 分布式 共享 內存 方法 系統 | ||
本發明提供了一種基于硬件特性的分布式共享內存方法及系統,包括獲取遠端程序訪問權限步驟:使用單邊RDMA讀操作和寫操作繞過遠端處理器訪問和修改遠端進程的頁表項;內存共享步驟:實現不同多核處理器之間的分布式內存共享;線程同步操作步驟:使用原子RDMA操作實現線程同步操作。本發明能夠繞過遠端處理器(CPU)的干預直接控制遠程計算機對內存的訪問,使用層級化的共享內存模式,提供了基于RDMA的高效同步原語,具有低CPU占用率,易于編程,線程間同步性能好等特點。
技術領域
本發明涉及分布式計算平臺技術領域,具體地,涉及基于硬件特性的分布式共享內存方法及系統。
背景技術
在大數據計算領域,計算應用運行在由許多服務器或工作站構成的集群上或者數據中心里,共享內存技術是構成這些計算應用的下層基礎框架的技術之一。共享內存技術為上層的應用提供一種統一的地址空間的抽象,使得運行在不同硬件單元上的計算任務可以用統一的尋址方式訪問本地內存的內容以及遠程硬件單元上的內存內容。單機共享內存方案已經廣泛應用于多核處理器中;分布式共享內存也已被應用于分布式鍵值存儲系統、分布式事務處理系統等應用場景中。
早期的分布式共享內存技術是建立在傳統的慢速網絡之上的,例如目前廣泛應用的以太網。早期的分布式共享內存技術主要目標是解決共享內存一致性問題,即保證多臺機器同時對共享數據的讀取和修改操作能最終得到正確的結果,就好像只有一個人在執行計算任務一樣。這些技術讓程序員可以像在單機上編程一樣編寫運行在分布式系統上的應用。早期分布式共享內存技術的主要缺點是完全使用軟件來維護共享內存一致性,而維護的開銷很大,導致使用這種技術的分布式計算性能差、運行時間長。
近年來,隨著支持遠程直接內存訪問(RDMA)技術的高速網絡的逐漸普及,分布式共享內存技術又出現了新的設計。支持遠程直接內存訪問的高速網絡不僅僅降低了網絡傳輸的延遲,更加提供了高效的用戶態接口使應用程序能繞過內核直接使用網絡,進一步降低了延遲?;谶h程直接內存訪問技術的分布式共享內存技術,將高速網絡提供的收發消息機制提供給計算任務。處于應用層的計算任務使用這種消息機制直接讀取或者修改遠程機器上的內存,但是并不維護嚴格的共享內存一致性,而是代之以事務處理一致性的接口。這種分布式共享內存技術的優點是降低了維護一致性的開銷,但是程序員需要面向特定的軟件接口編程,降低了程序的表達力和自由度。
綜上所述,現有的分布式共享內存技術或者無法利用現有的高速網絡,或者增加了編程接口的復雜性,限制了應用程序的自由度。
發明內容
針對現有技術中的缺陷,本發明的目的是提供一種基于硬件特性的分布式共享內存方法。
根據本發明提供的基于硬件特性的分布式共享內存方法,包括如下步驟:
控制遠端程序訪問內存權限步驟:使用單邊RDMA讀操作和寫操作繞過遠端處理器讀取和修改遠端進程的頁表項;
內存共享步驟:實現不同多核處理器之間的層級化內存共享;
線程同步操作步驟:使用原子RDMA操作實現線程同步操作。
優選地,所述控制遠端程序訪問內存權限步驟中的單邊RDMA操作是一種由RDMA網卡提供的底層接口,能夠在不占用遠程CPU資源的情況下讀取或者修改遠程內存的內容。
優選地,所述內存共享步驟中同一臺機器上的CPU核心通過本機的緩存一致性實現共享內存,位于不同的機器上的CPU核心之間通過一個通信協議實現分布式共享內存。
優選地,所述線程同步操作步驟實現的線程同步操作包括:使用RDMA原子操作實現鎖操作,并使用RDMA消息傳遞機制實現條件變量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710025548.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種智能終端的應用程序優化方法
- 下一篇:一種分布式計算系統的任務分配方法





