[發明專利]內存訪問指令的調度方法、裝置及計算機系統有效
| 申請號: | 201680004199.2 | 申請日: | 2016-05-25 |
| 公開(公告)號: | CN108027727B | 公開(公告)日: | 2020-09-08 |
| 發明(設計)人: | 胡杏;方運潭;肖世海 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 張耀光 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 訪問 指令 調度 方法 裝置 計算機系統 | ||
本申請揭示了一種內存訪問指令的調度方法、裝置及計算機系統。該方法包括:調度器接收第一處理器核發送的第一內存訪問指令以及第一內存屏障指令;如果該第一內存屏障指令為第一類型內存屏障指令,將該第一內存訪問指令和該第一內存屏障指令調度至用于緩存第一處理器核所發送內存訪問指令的第一調度隊列;將多個調度隊列中位于第一個第一類型內存屏障指令之前的至少一個內存訪問指令發送給內存控制器。本發明減小了內存屏障指令對內存性能的影響,提高了并行度,且該方法未根據任一多版本機制的語義來優化內存調度,能夠適用于多種多版本機制,在不同類型的多版本機制中均能提供內存順序保證并提高內存訪問性能。
技術領域
本發明涉及計算機技術領域,特別涉及一種內存訪問指令的調度方法、裝置及計算機系統。
背景技術
現有技術中內存系統通常會運行多版本機制對內存數據進行更新,也即是,不直接對原有內存數據進行更新操作,而是為原有內存數據創建一個新的版本,對新版本的數據進行更新操作。另外,內存系統根據接收到的內存訪問指令對內存數據進行訪問,而在持久保存數據的場景下,需要嚴格控制多個內存訪問指令的執行先后順序,才能保證在系統故障時能夠對內存數據進行恢復。
內存系統所運行的多版本機制可以有多種類型,如shadow updates(影更新),redo-logging(重做日志),undo-logging(撤銷日志)等,這些多版本機制均可采用內存屏障指令來控制多個內存訪問指令的執行先后順序。
以控制第一內存訪問指令和第二內存訪問指令的執行先后順序為例,在第一內存訪問指令之后、第二內存訪問指令之前可以插入內存屏障指令,使得該第一內存訪問指令執行完成之后,第二內存訪問指令才開始執行,從而保證了第二內存訪問指令只能在第一內存訪問指令執行之后執行,而不會與第一內存訪問指令并行執行或提前執行。雖然內存屏障指令能夠控制多個內存訪問指令的執行先后順序,但是也會導致一些原本可以并行執行的內存訪問指令只能夠串行執行,增加了內存訪問時間,影響了內存訪問性能。
為此,針對于常用的redo-logging多版本機制,提供了一種提高內存訪問性能的方法,將redo logging多版本機制中的內存寫請求分類為:Data(持久數據寫請求)、Log(日志數據寫請求)和Commit(日志控制項寫請求),并基于此分類提出以下調度規則:
1、每個Commit之前有一個內存屏障指令,允許與Commit屬于同一事務的Log調度至相應的內存屏障指令之前,與其他事務并行執行;
2、允許內存屏障指令之后的Commit調度至內存屏障指令之前,與其他事務的Data或Log并行執行。
然而,上述調度方法僅是根據redo logging多版本機制的語義來優化內存調度,僅適用于redo-logging多版本機制,而不適用于其它多版本機制。因此,亟需一種適用于多種多版本機制的內存訪問指令調度方法,使得在內存系統的多版本機制不同時,仍能為其提供內存順序保證且提高內存訪問性能。
發明內容
為了克服現有技術中存在的問題,本發明提供一種內存訪問指令的調度方法、裝置及計算機系統。所述技術方案如下:
第一方面,提供了一種內存訪問指令的調度方法,該調度方法應用于計算機系統中,該計算機系統包括內存控制器、調度器以及多個處理器核;該調度器分別與該內存控制器以及該多個處理器核連接,在該調度器中緩存有多個調度隊列,每個調度隊列用于緩存待調度的內存訪問指令。
為了優化內存調度,提供兩種類型的內存屏障指令:第一類型內存屏障指令和第二內存屏障指令,第一類型內存屏障指令用于控制處理器核的多個內存訪問指令的順序,作用域是處理器核,第二類型內存屏障指令用于控制整個處理器的多個內存訪問指令的順序,作用域是處理器,則該調度器可以根據內存屏障指令的類型,對接收到的內存訪問指令進行調度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680004199.2/2.html,轉載請聲明來源鉆瓜專利網。





