一種信息更新的方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種信息更新的方法,所述方法應用于非一致性內存訪問NUMA架構的計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、BOIS和OS,所述硬件資源在硬件層面按照NUMA架構進行劃分,所述OS初始化時,所述BOIS向所述OS提供所述硬件層面的NUMA架構劃分信息,所述OS生成與所述硬件層面相同的軟件層面的NUMA架構信息;所述方法包括:當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面的NUMA架構劃分信息;根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面的NUMA架構信息。本發(fā)明實施例提供的信息更新的方法,可以避免出現(xiàn)跨節(jié)點訪問,提高了系統(tǒng)的計算性能。
【專利說明】一種信息更新的方法、裝置及系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及計算機【技術領域】,具體涉及一種信息更新的方法、裝置及系統(tǒng)。
【背景技術】
[0002] 目前大部分服務器都采用非一致性內存訪問(Non Uniform Memory Access Architecture,NUMA)架構,NUMA架構就是將硬件資源劃分為多個節(jié)點Node,例如:將包 含4個中央處理器(Central Processing Unit, CPU), 8個內存條的硬件資源劃分到4個 Node,每個Node中包含1個CPU和兩個內存條。且某些高端服務器因部署關鍵業(yè)務,支持較 為豐富的可靠性、可用性和可維護性(Reliability, Availability and Serviceability, RAS),例如:RAS特性可以包括錯誤檢查和糾正(Error Correcting Code,ECC)、內存鏡像 和內存遷移等。這些RAS特性大部分只涉及到硬件層面,且這些特性的實施對操作系統(tǒng) (Operation System, 0S)來說是透明的。
[0003] 由于某些特性只有硬件參與,0S不參與,因此這些特性的實施前后有可能對系統(tǒng) 性能產(chǎn)生較大影響。例如:由于某個內存條因發(fā)生ECC錯誤過多,然后對其做了硬件內存遷 移,把數(shù)據(jù)遷到另一個節(jié)點的內存條上,但0S感知不到這個動作,這樣,操作系統(tǒng)在訪問數(shù) 據(jù)時,就會出現(xiàn)跨節(jié)點訪問,導致接下來數(shù)據(jù)訪問時,該節(jié)點的CPU不斷的訪問另一節(jié)點的 內存條,跨節(jié)點訪問導致系統(tǒng)計算性能降低。
【發(fā)明內容】
[0004] 為了解決現(xiàn)有技術在NUMA架構中硬件發(fā)生變化后,0S不感知,導致硬件之間頻繁 出現(xiàn)跨節(jié)點訪問,造成系統(tǒng)計算性能降低的問題,本發(fā)明實施例提供一種信息更新的方法, 可以在硬件層面的NUMA架構發(fā)生變化后,及時更新軟件層面的NUMA架構信息,從而使軟件 層面的NUMA架構信息與硬件層面的NUMA架構實時保持一致,從而避免出現(xiàn)跨節(jié)點訪問,提 高了系統(tǒng)的計算性能。本發(fā)明實施例還提供了相應的裝置。
[0005] 本發(fā)明第一方面提供一種信息更新的方法,所述方法應用于非一致性內存訪問 NUMA架構的計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、基本輸入輸出系統(tǒng)B0IS和操作系 統(tǒng)0S,所述硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化時,所述B0IS向所 述0S提供所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件層面相同的軟件層 面的NUMA架構信息;所述方法包括 :
[0006] 當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面的NUMA架 構劃分信息;
[0007] 根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面的 NUMA架構信息。
[0008] 結合第一方面,在第一種可能的實現(xiàn)方式中,所述NUMA架構在所述硬件層面按照 預置劃分規(guī)則將所述硬件資源劃分到不同節(jié)點,每個節(jié)點中包含劃分得到的硬件資源,所 述軟件層面的架構信息包含節(jié)點標識與硬件資源標識的對應關系;
[0009] 所述當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面的 NUMA架構劃分信息,包括:
[0010] 當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資源的 標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標 識;
[0011] 所述根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面 的NUMA架構信息,包括:
[0012] 刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的 對應關系;
[0013] 建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的 對應關系。
[0014] 結合第一方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述每個節(jié) 點中包含劃分得到的至少一個處理器核,以及至少一個內存區(qū)域,所述節(jié)點標識與硬件資 源標識的對應關系為節(jié)點標識與處理器核的對應關系,以及節(jié)點標識與內存區(qū)域標識的對 應關系,每個內存區(qū)域都對應處理器核中的一個內存控制器;
[0015] 所述當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資 源的標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點 標識,包括:
[0016] 當發(fā)生內存區(qū)域遷移時,獲取發(fā)生遷移的內存區(qū)域的標識,所述發(fā)生遷移的內存 區(qū)域遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識;
[0017] 所述刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之 間的對應關系,包括:
[0018] 刪除所述發(fā)生遷移的內存區(qū)域的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的 對應關系;
[0019] 所述建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之 間的對應關系,包括:
[0020] 建立所述發(fā)生遷移的內存區(qū)域的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的 對應關系。
[0021] 結合第一方面第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述每個節(jié) 點中包含劃分得到的至少一個處理器核,以及至少一個內存區(qū)域,所述節(jié)點標識與硬件資 源標識的對應關系為節(jié)點標識與處理器核的對應關系,以及節(jié)點標識與內存區(qū)域標識的對 應關系;
[0022] 所述當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資 源的標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點 標識,包括:
[0023] 當發(fā)生處理器核遷移時,獲取發(fā)生遷移的處理器核的標識,所述發(fā)生遷移的處理 器核遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識;
[0024] 所述刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之 間的對應關系,包括:
[0025] 刪除所述發(fā)生遷移的處理器核的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的 對應關系;
[0026] 所述建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之 間的對應關系,包括:
[0027] 建立所述發(fā)生遷移的處理器核的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的 對應關系。
[0028] 結合第一方面第二種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述方法還 包括:
[0029] 確定發(fā)生內存遷移時正在進行的業(yè)務,所述業(yè)務由所述遷移前所屬節(jié)點中的一個 處理器核進行處理;
[0030] 將所述業(yè)務遷移到所述遷移后所屬節(jié)點的一個處理器核上,或者,將所述業(yè)務的 業(yè)務數(shù)據(jù)轉移到所述遷移前所屬節(jié)點的另外一個內存區(qū)域中。
[0031] 結合第一方面第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述方法還 包括:
[0032] 確定發(fā)生處理器核遷移時正在進行的業(yè)務,所述業(yè)務由所述發(fā)生遷移的處理器核 進行處理;
[0033] 將所述業(yè)務的業(yè)務數(shù)據(jù)轉移到所述遷移后所屬節(jié)點的一個內存區(qū)域中,或者,將 所述業(yè)務遷移到所述遷移前所屬節(jié)點的另外一個處理器核中。
[0034] 本發(fā)明第二方面提供一種信息更新的裝置,所述裝置應用于非一致性內存訪問 NUMA架構的計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、基本輸入輸出系統(tǒng)B0IS和操作系 統(tǒng)0S,所述硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化時,所述B0IS向所 述0S提供所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件層面相同的軟件層 面的NUMA架構信息;所述裝置包括 :
[0035] 獲取單元,用于當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件 層面的NUMA架構劃分信息;
[0036] 更新單元,用于根據(jù)所述獲取單元獲取的所述變化后的所述硬件層面的NUMA架 構劃分信息,更新所述軟件層面的NUMA架構信息。
[0037] 結合第二方面,在第一種可能的實現(xiàn)方式中,
[0038] 所述獲取單元,具體用于在所述NUMA架構在所述硬件層面按照預置劃分規(guī)則將 所述硬件資源劃分到不同節(jié)點,每個節(jié)點中包含劃分得到的硬件資源,所述軟件層面的架 構信息包含節(jié)點標識與硬件資源標識的對應關系時,當所述硬件層面的NUMA架構發(fā)生硬 件資源遷移時,獲取發(fā)生遷移的硬件資源的標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié) 點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識;
[0039] 所述更新單元,包括:
[0040] 刪除子單元,用于刪除所述獲取單元獲取的所述發(fā)生遷移的硬件資源的標識與所 述遷移前所屬節(jié)點的節(jié)點標識之間的對應關系;
[0041] 建立子單元,用于建立所述獲取單元獲取的所述發(fā)生遷移的硬件資源的標識與所 述遷移后所屬節(jié)點的節(jié)點標識之間的對應關系。
[0042] 結合第二方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,
[0043] 所述獲取單元,具體用于在所述每個節(jié)點中包含劃分得到的至少一個處理器核, 以及至少一個內存區(qū)域,所述節(jié)點標識與硬件資源標識的對應關系為節(jié)點標識與處理器核 的對應關系,以及節(jié)點標識與內存區(qū)域標識的對應關系,每個內存區(qū)域都對應處理器核中 的一個內存控制器時,當發(fā)生內存區(qū)域遷移時,獲取發(fā)生遷移的內存區(qū)域的標識,所述發(fā)生 遷移的內存區(qū)域遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識;
[0044] 所述刪除子單元,具體用于刪除所述發(fā)生遷移的內存區(qū)域的標識與所述遷移前所 屬節(jié)點的節(jié)點標識之間的對應關系;
[0045] 所述建立子單元,具體用于建立所述發(fā)生遷移的內存區(qū)域的標識與所述遷移后所 屬節(jié)點的節(jié)點標識之間的對應關系。
[0046] 結合第二方面第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,
[0047] 所述獲取單元,具體用于在所述每個節(jié)點中包含劃分得到的至少一個處理器核, 以及至少一個內存區(qū)域,所述節(jié)點標識與硬件資源標識的對應關系為節(jié)點標識與處理器核 的對應關系,以及節(jié)點標識與內存區(qū)域標識的對應關系時,當發(fā)生處理器核遷移時,獲取發(fā) 生遷移的處理器核的標識,所述發(fā)生遷移的處理器核遷移前所屬節(jié)點的節(jié)點標識和遷移后 所屬節(jié)點的節(jié)點標識;
[0048] 所述刪除子單元,具體用于刪除所述發(fā)生遷移的處理器核的標識與所述遷移前所 屬節(jié)點的節(jié)點標識之間的對應關系;
[0049] 所述建立子單元,具體用于建立所述發(fā)生遷移的處理器核的標識與所述遷移后所 屬節(jié)點的節(jié)點標識之間的對應關系。
[0050] 結合第二方面第二種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述裝置還 包括:
[0051] 第一確定單元,用于在所述獲取單元獲取到發(fā)生內存遷移時,確定發(fā)生內存遷移 時正在進行的業(yè)務,所述業(yè)務由所述遷移前所屬節(jié)點中的一個處理器核進行處理;
[0052] 第一遷移單元,用于將所述第一確定單元確定的所述業(yè)務遷移到所述遷移后所屬 節(jié)點的一個處理器核上,或者,將所述業(yè)務的業(yè)務數(shù)據(jù)轉移到所述遷移前所屬節(jié)點的另外 一個內存區(qū)域中。
[0053] 結合第二方面第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述裝置還 包括:
[0054] 第二確定單元,用于在所述獲取單元獲取到發(fā)生處理器核遷移時,確定發(fā)生處理 器核遷移時正在進行的業(yè)務,所述業(yè)務由所述發(fā)生遷移的處理器核進行處理;
[0055] 第二遷移單元,用于將所述第二確定單元確定的所述業(yè)務的業(yè)務數(shù)據(jù)轉移到所述 遷移后所屬節(jié)點的一個內存區(qū)域中,或者,將所述業(yè)務遷移到所述遷移前所屬節(jié)點的另外 一個處理器核中。
[0056] 本發(fā)明實施例采用的信息更新的方法,所述方法應用于非一致性內存訪問NUMA 架構的計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、基本輸入輸出系統(tǒng)B0IS和操作系統(tǒng) 0S,所述硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化時,所述B0IS向所述 0S提供所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件層面相同的軟件層面 的NUMA架構信息;所述方法包括:當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的 所述硬件層面的NUMA架構劃分信息;根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信 息,更新所述軟件層面的NUMA架構信息。與現(xiàn)有技術中在硬件層面的NUMA架構發(fā)生變化 后,軟件層面不感知,也不隨之變化,導致硬件之間頻繁出現(xiàn)跨節(jié)點訪問,造成系統(tǒng)計算性 能降低相比,本發(fā)明實施例提供一種信息更新的方法,可以在硬件層面的NUMA架構發(fā)生變 化后,及時更新軟件層面的NUMA架構信息,從而使軟件層面的NUMA架構信息與硬件層面的 NUMA架構實時保持一致,從而避免出現(xiàn)跨節(jié)點訪問,提高了系統(tǒng)的計算性能。
【專利附圖】
【附圖說明】
[0057] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0058] 圖1為本發(fā)明實施例中計算機系統(tǒng)架構示意圖;
[0059] 圖2為本發(fā)明實施例中NUMA架構的一示意圖;
[0060] 圖3為本發(fā)明實施例中信息更新的方法的一實施例示意圖;
[0061] 圖4為本發(fā)明實施例中NUMA架構的另一示意圖;
[0062] 圖5為本發(fā)明實施例中內存遷移場景示意圖;
[0063] 圖6為本發(fā)明實施例中CPU遷移場景示意圖;
[0064] 圖7為本發(fā)明實施例中信息更新的裝置的一實施例示意圖;
[0065] 圖8為本發(fā)明實施例中信息更新的裝置的另一實施例示意圖;
[0066] 圖9為本發(fā)明實施例中信息更新的裝置的另一實施例示意圖;
[0067] 圖10為本發(fā)明實施例中信息更新的裝置的另一實施例示意圖;
[0068] 圖11為本發(fā)明實施例中信息更新的設備的一實施例示意圖。
【具體實施方式】
[0069] 本發(fā)明實施例提供本發(fā)明實施例提供一種信息更新的方法,可以在硬件層面的 NUMA架構發(fā)生變化后,及時更新軟件層面的NUMA架構信息,從而使軟件層面的NUMA架構信 息與硬件層面的NUMA架構實時保持一致,從而避免出現(xiàn)跨節(jié)點訪問,提高了系統(tǒng)的計算性 能。本發(fā)明實施例還提供了相應的裝置。以下分別進行詳細說明。
[0070] 為了使本【技術領域】的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術 人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范 圍。
[0071] 參閱圖1,本發(fā)明實施例提供的計算機系統(tǒng)架構可以包括:硬件資源層、基本輸入 輸出系統(tǒng)(Basic Input Output System,B0IS)、操作系統(tǒng)(Operation System,0S)和用戶 應用層,所述硬件資源層可以包括處理器、內存、輸入輸出系統(tǒng)等硬件資源,用戶應用層可 以包括各種業(yè)務應用,本發(fā)明實施例中的操作系統(tǒng)可以為Linux系統(tǒng)。
[0072] 非一致性內存訪問(Non Uniform Memory Access Architecture,NUMA)架構的 計算機一般由多個節(jié)點(Node)組成,每個Node下包含中央處理器(Central Processing Unit, CPU)、內存、輸入輸出(Input/Output,10)設備等,各node間通過總線連接形成一個 大的計算機系統(tǒng),本發(fā)明實施例中的CPU可以理解為單核CPU,對于NUMA架構可以將多核的 (PU按照核進行劃分。
[0073] 圖2為NUMA架構示意圖,圖2所示的NUMA架構計算機系統(tǒng)中包含3個節(jié)點,分別 為Nodel、Node2和Node3,Nodel中包含內存區(qū)域直接內存存取((Direct Memory Access, DMA)內存區(qū)域、DMA32內存區(qū)域、Normall內存區(qū)域,內存區(qū)域的劃分由內存物理地址決定, 0-16M為DMA,16M-4G為DMA32,大于4G的都為NORMAL,對內存區(qū)域的管理可以通過ZONE鏈 表(zonelist)的形式進行管理。
[0074] Node2包含的內存區(qū)域為Normal2,Node3包含的內存區(qū)域為Normal3。Nodel、 Node2和Node3都分別包含CPU1、CPU2和CPU3,同時三個節(jié)點還分別包含其他硬件資源。
[0075] 參閱圖3,本發(fā)明實施例提供的信息更新的方法的一實施例包括:
[0076] 101、非一致性內存訪問NUMA架構的計算機系統(tǒng)包括硬件資源、基本輸入輸出系 統(tǒng)B0IS和操作系統(tǒng)0S,所述硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化 時,所述B0IS向所述0S提供所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件 層面相同的軟件層面的NUMA架構信息,當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化 后的所述硬件層面的NUMA架構劃分信息。
[0077] 在硬件層面NUMA架構包含節(jié)點,各節(jié)點中包含硬件資源,在軟件層面系統(tǒng)在初始 化高級配置和電源管理接口(Advanced Configuration and Power Management Interface, ACPI)時會建立一個與硬件層面NUMA架構相同的NUMA架構信息。
[0078] 102、根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面 的NUMA架構信息。
[0079] 本發(fā)明實施例采用的信息更新的方法,所述方法應用于非一致性內存訪問NUMA 架構的計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、基本輸入輸出系統(tǒng)B0IS和操作系統(tǒng) 0S,所述硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化時,所述B0IS向所述 0S提供所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件層面相同的軟件層面 的NUMA架構信息;所述方法包括:當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的 所述硬件層面的NUMA架構劃分信息;根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信 息,更新所述軟件層面的NUMA架構信息。與現(xiàn)有技術中在硬件層面的NUMA架構發(fā)生變化 后,軟件層面不感知,也不隨之變化,導致硬件之間頻繁出現(xiàn)跨節(jié)點訪問,造成系統(tǒng)計算性 能降低相比,本發(fā)明實施例提供一種信息更新的方法,可以在硬件層面的NUMA架構發(fā)生變 化后,及時更新軟件層面的NUMA架構信息,從而使軟件層面的NUMA架構信息與硬件層面的 NUMA架構實時保持一致,從而避免出現(xiàn)跨節(jié)點訪問,提高了系統(tǒng)的計算性能。
[0080] 可選地,在上述圖3對應的實施例的基礎上,本發(fā)明實施例提供的信息更新的方 法的第一個可選實施例中,所述NUMA架構在所述硬件層面按照預置劃分規(guī)則將所述硬件 資源劃分到不同節(jié)點,每個節(jié)點中包含劃分得到的硬件資源,所述軟件層面的架構信息包 含節(jié)點標識與硬件資源標識的對應關系;
[0081] 所述當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面的 NUMA架構劃分信息,可以包括:
[0082] 當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資源的 標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標 識;
[0083] 所述根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面 的NUMA架構信息,可以包括:
[0084] 刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的 對應關系;
[0085] 建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的 對應關系。
[0086] 本發(fā)明實施例中,在系統(tǒng)初始化時,在軟件層面會建立與硬件層面NUMA架構相同 NUMA架構信息,如圖2所示的NUMA架構硬件層面劃分方式,在軟件層面就會有如下節(jié)點標 識與硬件資源標識的對應關系,如表1所示:
[0087] 表1 :節(jié)點標識與硬件資源標識的對應關系
[0088]
【權利要求】
1. 一種信息更新的方法,其特征在于,所述方法應用于非一致性內存訪問NUMA架構的 計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、基本輸入輸出系統(tǒng)BOIS和操作系統(tǒng)0S,所述 硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化時,所述BOIS向所述0S提供 所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件層面相同的軟件層面的NUMA 架構信息;所述方法包括: 當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面的NUMA架構劃 分信息; 根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面的NUMA架 構信息。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述NUMA架構在所述硬件層面按照預置 劃分規(guī)則將所述硬件資源劃分到不同節(jié)點,每個節(jié)點中包含劃分得到的硬件資源,所述軟 件層面的架構信息包含節(jié)點標識與硬件資源標識的對應關系; 所述當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面的NUMA架 構劃分信息,包括: 當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資源的標識, 所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識; 所述根據(jù)所述變化后的所述硬件層面的NUMA架構劃分信息,更新所述軟件層面的 NUMA架構信息,包括: 刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的對應 關系; 建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的對應 關系。
3. 根據(jù)權利要求2所述的方法,其特征在于,所述每個節(jié)點中包含劃分得到的至少一 個處理器核,以及至少一個內存區(qū)域,所述節(jié)點標識與硬件資源標識的對應關系為節(jié)點標 識與處理器核的對應關系,以及節(jié)點標識與內存區(qū)域標識的對應關系,每個內存區(qū)域都對 應處理器核中的一個內存控制器; 所述當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資源的 標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標 識,包括: 當發(fā)生內存區(qū)域遷移時,獲取發(fā)生遷移的內存區(qū)域的標識,所述發(fā)生遷移的內存區(qū)域 遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識; 所述刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的 對應關系,包括: 刪除所述發(fā)生遷移的內存區(qū)域的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的對應 關系; 所述建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的 對應關系,包括: 建立所述發(fā)生遷移的內存區(qū)域的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的對應 關系。
4. 根據(jù)權利要求2所述的方法,其特征在于,所述每個節(jié)點中包含劃分得到的至少一 個處理器核,以及至少一個內存區(qū)域,所述節(jié)點標識與硬件資源標識的對應關系為節(jié)點標 識與處理器核的對應關系,以及節(jié)點標識與內存區(qū)域標識的對應關系; 所述當所述硬件層面的NUMA架構發(fā)生硬件資源遷移時,獲取發(fā)生遷移的硬件資源的 標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標 識,包括: 當發(fā)生處理器核遷移時,獲取發(fā)生遷移的處理器核的標識,所述發(fā)生遷移的處理器核 遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識; 所述刪除所述發(fā)生遷移的硬件資源的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的 對應關系,包括: 刪除所述發(fā)生遷移的處理器核的標識與所述遷移前所屬節(jié)點的節(jié)點標識之間的對應 關系; 所述建立所述發(fā)生遷移的硬件資源的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的 對應關系,包括: 建立所述發(fā)生遷移的處理器核的標識與所述遷移后所屬節(jié)點的節(jié)點標識之間的對應 關系。
5. 根據(jù)權利要求3所述的方法,其特征在于,所述方法還包括: 確定發(fā)生內存遷移時正在進行的業(yè)務,所述業(yè)務由所述遷移前所屬節(jié)點中的一個處理 器核進行處理; 將所述業(yè)務遷移到所述遷移后所屬節(jié)點的一個處理器核上,或者,將所述業(yè)務的業(yè)務 數(shù)據(jù)轉移到所述遷移前所屬節(jié)點的另外一個內存區(qū)域中。
6. 根據(jù)權利要求4所述的方法,其特征在于,所述方法還包括: 確定發(fā)生處理器核遷移時正在進行的業(yè)務,所述業(yè)務由所述發(fā)生遷移的處理器核進行 處理; 將所述業(yè)務的業(yè)務數(shù)據(jù)轉移到所述遷移后所屬節(jié)點的一個內存區(qū)域中,或者,將所述 業(yè)務遷移到所述遷移前所屬節(jié)點的另外一個處理器核中。
7. -種信息更新的裝置,其特征在于,所述裝置應用于非一致性內存訪問NUMA架構的 計算機系統(tǒng),所述計算機系統(tǒng)包括硬件資源、基本輸入輸出系統(tǒng)BOIS和操作系統(tǒng)0S,所述 硬件資源在硬件層面按照NUMA架構進行劃分,所述0S初始化時,所述BOIS向所述0S提供 所述硬件層面的NUMA架構劃分信息,所述0S生成與所述硬件層面相同的軟件層面的NUMA 架構信息;所述裝置包括: 獲取單元,用于當所述硬件層面的NUMA架構發(fā)生變化時,獲取變化后的所述硬件層面 的NUMA架構劃分信息; 更新單元,用于根據(jù)所述獲取單元獲取的所述變化后的所述硬件層面的NUMA架構劃 分信息,更新所述軟件層面的NUMA架構信息。
8. 根據(jù)權利要求7所述的裝置,其特征在于, 所述獲取單元,具體用于在所述NUMA架構在所述硬件層面按照預置劃分規(guī)則將所述 硬件資源劃分到不同節(jié)點,每個節(jié)點中包含劃分得到的硬件資源,所述軟件層面的架構信 息包含節(jié)點標識與硬件資源標識的對應關系時,當所述硬件層面的NUMA架構發(fā)生硬件資 源遷移時,獲取發(fā)生遷移的硬件資源的標識,所述發(fā)生遷移的硬件資源遷移前所屬節(jié)點的 節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識; 所述更新單元,包括: 刪除子單元,用于刪除所述獲取單元獲取的所述發(fā)生遷移的硬件資源的標識與所述遷 移前所屬節(jié)點的節(jié)點標識之間的對應關系; 建立子單元,用于建立所述獲取單元獲取的所述發(fā)生遷移的硬件資源的標識與所述遷 移后所屬節(jié)點的節(jié)點標識之間的對應關系。
9. 根據(jù)權利要求8所述的裝置,其特征在于, 所述獲取單元,具體用于在所述每個節(jié)點中包含劃分得到的至少一個處理器核,以及 至少一個內存區(qū)域,所述節(jié)點標識與硬件資源標識的對應關系為節(jié)點標識與處理器核的對 應關系,以及節(jié)點標識與內存區(qū)域標識的對應關系,每個內存區(qū)域都對應處理器核中的一 個內存控制器時,當發(fā)生內存區(qū)域遷移時,獲取發(fā)生遷移的內存區(qū)域的標識,所述發(fā)生遷移 的內存區(qū)域遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬節(jié)點的節(jié)點標識; 所述刪除子單元,具體用于刪除所述發(fā)生遷移的內存區(qū)域的標識與所述遷移前所屬節(jié) 點的節(jié)點標識之間的對應關系; 所述建立子單元,具體用于建立所述發(fā)生遷移的內存區(qū)域的標識與所述遷移后所屬節(jié) 點的節(jié)點標識之間的對應關系。
10. 根據(jù)權利要求8所述的裝置,其特征在于, 所述獲取單元,具體用于在所述每個節(jié)點中包含劃分得到的至少一個處理器核,以及 至少一個內存區(qū)域,所述節(jié)點標識與硬件資源標識的對應關系為節(jié)點標識與處理器核的對 應關系,以及節(jié)點標識與內存區(qū)域標識的對應關系時,當發(fā)生處理器核遷移時,獲取發(fā)生遷 移的處理器核的標識,所述發(fā)生遷移的處理器核遷移前所屬節(jié)點的節(jié)點標識和遷移后所屬 節(jié)點的節(jié)點標識; 所述刪除子單元,具體用于刪除所述發(fā)生遷移的處理器核的標識與所述遷移前所屬節(jié) 點的節(jié)點標識之間的對應關系; 所述建立子單元,具體用于建立所述發(fā)生遷移的處理器核的標識與所述遷移后所屬節(jié) 點的節(jié)點標識之間的對應關系。
11. 根據(jù)權利要求9所述的裝置,其特征在于,所述裝置還包括: 第一確定單元,用于在所述獲取單元獲取到發(fā)生內存遷移時,確定發(fā)生內存遷移時正 在進行的業(yè)務,所述業(yè)務由所述遷移前所屬節(jié)點中的一個處理器核進行處理; 第一遷移單元,用于將所述第一確定單元確定的所述業(yè)務遷移到所述遷移后所屬節(jié)點 的一個處理器核上,或者,將所述業(yè)務的業(yè)務數(shù)據(jù)轉移到所述遷移前所屬節(jié)點的另外一個 內存區(qū)域中。
12. 根據(jù)權利要求10所述的裝置,其特征在于,所述裝置還包括: 第二確定單元,用于在所述獲取單元獲取到發(fā)生處理器核遷移時,確定發(fā)生處理器核 遷移時正在進行的業(yè)務,所述業(yè)務由所述發(fā)生遷移的處理器核進行處理; 第二遷移單元,用于將所述第二確定單元確定的所述業(yè)務的業(yè)務數(shù)據(jù)轉移到所述遷移 后所屬節(jié)點的一個內存區(qū)域中,或者,將所述業(yè)務遷移到所述遷移前所屬節(jié)點的另外一個 處理器核中。
【文檔編號】G06F12/02GK104268089SQ201410469048
【公開日】2015年1月7日 申請日期:2014年9月15日 優(yōu)先權日:2014年9月15日
【發(fā)明者】裘稀石 申請人:杭州華為數(shù)字技術有限公司