[發明專利]基于節點控制器的請求響應方法和裝置有效
| 申請號: | 201310410556.3 | 申請日: | 2013-09-10 |
| 公開(公告)號: | CN103488606A | 公開(公告)日: | 2014-01-01 |
| 發明(設計)人: | 王工藝;陳奔;趙亞飛 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F15/173 | 分類號: | G06F15/173;G06F17/30 |
| 代理公司: | 北京億騰知識產權代理事務所 11309 | 代理人: | 李楠 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 節點 控制器 請求 響應 方法 裝置 | ||
技術領域
本發明涉及通信技術領域,尤其涉及一種基于節點控制器的請求響應方法和裝置。
背景技術
系統體系結構上的現代高級特性使處理器(CPU)具備了錯誤報告與錯誤更正的能力,且支持CPU熱插拔的技術。一些代工生產商已經支持了非一致內存訪問(Non-Uniform?Memory?Access,NUMA)硬件的熱插拔,即物理節點的插入與移除。這種高級特性需要內核在必要時能移除正在使用的CPU。比如,為了遠程訪問服務(Remote?Access?Service,RAS)的需要,必須將一個執行惡意代碼的CPU保持在系統執行路徑之外。因此,在Linux內核中需要支持CPU熱插拔技術。操作系統(OS)對CPU邏輯下線,操作系統將不再使用被下線的CPU線程,原來綁定在上面的進程和中斷也被遷移到其他線程上。
在基于多節點互聯情況下,可以對某節點上的節點控制器(NC)或某個CPU進行熱移除。如果需要對NC進行邏輯上和物理上的移除,除了上面介紹的CPU節點移除的操作外,OS還會將節點內的內存下線,OS將節點內地址空間上正在使用的數據遷移到其他節點的內存上,并不再分配新的內存空間到這段地址。假設系統中存在NC0、NC1、NC2和NC3,其中,對NC3進行移除,則將NC3節點上所有CPU的所有服務都被遷移后,不會有任何東西運行在NC3節點上的CPU內,且其他節點不會使用NC3節點上的內存,NC3節點也不會訪問其他節點上的內存。但是由于NC上有目錄信息,NC3之前占用其他節點上內存數據的信息可能會保留。
假設NC0上某個內存地址Addr0的數據被NC3占用,則對NC3進行邏輯移除時,會有如下幾種情況:
表1
表1表示NC3上某個CPU獨占NC0內存地址Addr0,則NC0目錄信息記錄為E狀態,且NC3獨占。若NC3上此CPU對此地址上的數據進行了修改,則對NC3進行邏輯移除時,數據會寫回NC0上某個CPU的內存上,則目錄信息更新為I狀態。
表2
表2表示NC3上某個CPU獨占NC0內存地址Addr0,則NC0目錄信息記錄為E狀態,且NC3獨占。但NC3上此CPU沒有對此地址上的數據進行修改,則對NC3進行邏輯移除時,此數據不會寫回NC0上某個CPU的內存上,則目錄信息仍然表示NC3獨占Addr0上的數據。
表3
表3表示NC3上某個CPU共享NC0內存地址Addr0,則NC0目錄信息記錄為S狀態,且NC3和NC1共享。如果對NC節點進行邏輯移除時,此數據不會寫回NC0上某個CPU的內存上,則目錄信息仍然表示NC3和NC1共享Addr0上的數據。
后面兩種情況下,如果不對NC0上的目錄信息進行刷新,則如果NC0內的CPU0要獨占Addr0的數據,根據CC協議,就會對NC3發偵聽消息,此時如果NC3已經被物理移除,則會導致偵聽消息無法響應,系統掛死。
現有解決方法是:在對NC3進行物理移除前,其他NC節點內的CPU都針對本節點所有內存地址空間向遠端節點發出獨占請求,當所有內存地址通過這種方式刷新完畢后,表2和表3的目錄狀態分別變為如下如表4、表5所示:
表4
表5
其他節點不會再有NC3占用的目錄狀態信息,都變為無效。此時對NC3進行物理移除,可以確保系統不會被掛死。
但是應用此方法在對節點移除時,需要其他節點把本地內存都刷新一遍,因此非常占用OS的使用時間,會導致系統響應很慢,系統性能極大下降。實測中,如果對單節點內256Gb內存進行刷新,且BIOS占用CPU60-70%的時間片,則需要大約20分鐘完成,此期間OS的響應變得很慢,用戶基本不可接受。且單節點內存越大,系統規模越大,刷新內存所需的時間越長。
發明內容
本發明實施例提供了一種偵聽相應方法和裝置,可以在一個節點控制器(NC)移除時配置其他NC的信息目錄,從而更新記錄每個節點控制器的內存地址被被移除NC節點所占用的信息,而無需對每個節點的CPU進行內存刷新,從而實現由當前NC來解決對發往被移除節點的偵聽或請求的處理,直接將偵聽請求轉為無效響應,極大的提高了系統的性能及可靠性。
第一方面,本發明實施例提供了一種基于節點控制器的請求響應方法,所述方法包括:
第一節點控制器接收第一報文;所述第一報文為來自CPU接口的偵聽報文或者來自其他節點控制器接口的請求報文;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310410556.3/2.html,轉載請聲明來源鉆瓜專利網。





