[發明專利]多緩存數據一致性的處理方法及主存處理機有效
| 申請號: | 200710305692.0 | 申請日: | 2007-12-28 |
| 公開(公告)號: | CN101470669A | 公開(公告)日: | 2009-07-01 |
| 發明(設計)人: | 黃永勤;袁愛東;徐江川;吳新軍;劉杰;滕志剛;公心愿;張琦濱;李金娜 | 申請(專利權)人: | 無錫江南計算技術研究所 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 北京集佳知識產權代理有限公司 | 代理人: | 李 麗 |
| 地址: | 214083江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 緩存 數據一致性 處理 方法 主存 處理機 | ||
技術領域
本發明涉及一種多處理機及多運算節點系統中的多緩存數據一致性的處理方法及主存處理機。
背景技術
緩存(Cache)作為提高系統性能的一種常用手段在計算機系統中得到普遍的使用。但是,在具有多處理機的計算機系統中,不僅各個處理機的緩存同共享主存中同一數據塊的數據副本可能不一致,而且由于多個處理機各自獨立操作,也使多個處理機的緩存中同一數據塊的數據副本可能不一致,這就是多緩存數據不一致的問題。所述多緩存數據不一致的問題一般通過多緩存一致性協議解決。
目前,有兩種基本的方法來實現多緩存一致性協議:監聽法和目錄法。
監聽法:通過總線監聽機制實現緩存和共享主存之間的數據一致性。監聽法包括兩種策略:寫更新策略和寫無效策略。寫更新策略是在本地緩存中的數據塊的數據副本修改時,通過總線把修改的數據副本廣播,使得其他含有所述數據塊的數據副本的緩存也能獲取修改的數據副本;寫無效策略是在本地緩存的數據塊的數據副本修改時,使所有其他緩存中的相應數據副本都無效。在例如申請號為200710066929.4的中國專利申請中還能發現更多與監聽法相關的信息。
監聽法實現起來比較簡單,適用于多個處理機通過總線互相連接的計算機系統,這是因為總線是一種方便而快捷的廣播媒介。但由于它需要廣播因而可伸縮性差,而且不管是寫無效還是寫更新,都要占用總線不少時間,所以只能用于處理機數量不多的計算機系統中。在一般情況下,總線上能連接的處理機不能超過4-8臺。
目錄法:為每個數據塊建立一個目錄,該目錄記錄所有當前擁有所述數據塊的數據副本的緩存對應的處理機號以及用于記載所述數據塊狀態的目錄,所述數據塊狀態包括,例如共享副本,表示當前所有擁有所述數據塊的數據副本的緩存的數據一致;獨占副本,表示當前只有一個緩存擁有所述數據塊的數據副本。所述目錄通常由主存處理機(Home)進行管理。主存處理機根據目錄的內容只向擁有所述數據塊的數據副本的緩存對應的處理機發出寫無效消息或是寫更新消息,從而避免了向所有處理機廣播。其中,所述寫無效是指在獲得最新數據副本的處理機向緩存中寫入最新數據副本時,由主存處理機根據目錄指示其他具有所述數據塊的數據副本的緩存的處理機將緩存中所述數據塊的數據副本置為無效。而所述寫更新是指在獲得最新數據副本的處理機向緩存中寫入最新數據副本時,由主存處理機指示其他緩存處理機也將各自的緩存中的數據副本更新為最新數據副本。
然而,由于網絡延時的不同,目錄處理一致性需要時間,這樣會導致對于數據塊的操作請求在管理目錄的主存處理機處存在沖突,即主存處理機來不及處理請求或是無法處理請求。
對于上述問題,有的是通過重發機制來解決此問題的:例如,主存處理機在面臨所述操作請求沖突時,根據目錄將所述操作請求轉發給具有最新數據副本的緩存對應的響應處理機(Owner),如果轉發請求在所述響應處理機處依然得不到處理,則所述響應處理機返回給發出操作請求的請求處理機(Local)一個失敗響應,讓請求處理機重發此請求。這種方法通過失敗響應和請求重發機制可以解決潛在的死鎖問題,即請求由于得不到任何反饋而使處理停滯不動的問題。但所述的失敗響應和請求重發機制又可能帶來系統活鎖、饑餓等問題。
所述系統活鎖是指請求處理機每一次發出的請求可能都會被主存處理機轉發給不同的響應處理機,而所述響應處理機可能每次都暫時無法處理所述轉發請求而要求所述請求處理機重發請求,這樣就導致請求處理機陷入了一個流動的死循環中。
而所述饑餓概括來說,就是指請求處理機發出的請求始終得不到響應,所述系統活鎖及饑餓問題增大了額外的網絡通信量,使系統性能在請求沖突時受到較大影響,這類系統以Stanford大學研究的CC-NUMA多處理器系統DASH最為典型。
而為了解決所述系統活鎖和饑餓的問題,目前是通過主存處理機設置忙狀態來減少轉發請求的數量:主存處理機在向響應處理機發出轉發請求后,會設置忙狀態來等待響應處理機處理完轉發請求后的反饋,若響應處理機不反饋,主存處理機就一直維持忙狀態,從而相當于主存處理機暫停處理后續的請求。主存處理機只有當獲得響應處理機處理完轉發請求后的反饋,才會解除忙狀態,并繼續處理后續的請求。然而,這種減少轉發請求并不能從根本上解決系統的活鎖、饑餓的問題,當沖突頻發的時候,由于忙狀態的長時間封鎖和占用,當系統規模擴大時,這種影響越發突出,直接影響到系統可用性和系統效率。
發明內容
本發明提供一種多緩存數據一致性的處理及主存處理機,解決現有技術系統處理數據一致性時由于系統活鎖、饑餓而使得系統性能較低的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫江南計算技術研究所,未經無錫江南計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710305692.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據輸出方法和裝置
- 下一篇:一種多核MIPS平臺下并行系統調試方法





