熱點識別處理方法及裝置制造方法
【專利摘要】本發(fā)明實施例提供一種熱點識別處理方法及裝置,該方法包括:根據(jù)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔?,獲取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息;根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別所述NUMA系統(tǒng)中的熱點區(qū)段;根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一CPU;將所述第一CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。本發(fā)明實施例中,從物理層面上識別出熱點問題,并有針對性的解決熱點問題,即實現(xiàn)了從物理上解決熱點問題。
【專利說明】熱點識別處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種熱點識別處理方法及裝置。
【背景技術(shù)】
[0002]在非一致性內(nèi)存訪問(Non Uniform Memory Access,簡稱NUMA)系統(tǒng)中,不同中央處理器(Central Processing Unit,簡稱CPU)和內(nèi)存之間不同的距離,CPU訪問不同距離的內(nèi)存是需要的延時不同,例如訪問遠(yuǎn)端的內(nèi)存一定比訪問本地的內(nèi)存花費的時延長。在實際的數(shù)據(jù)庫應(yīng)用場景中,某些內(nèi)存區(qū)段或數(shù)據(jù)會成為熱點,例如:某些內(nèi)存控制器(MemoryController,簡稱MC)會成為熱點MC、某些通道會成為熱點通道等。一個NUMA系統(tǒng)中,如果有CPU訪問熱點內(nèi)存區(qū)段涉及到遠(yuǎn)端訪問,會大大降低NUMA系統(tǒng)的性能。
[0003]現(xiàn)有技術(shù)中,只能從應(yīng)用級別上識別熱點進(jìn)行優(yōu)化,或者,通過操作系統(tǒng)(Operating System,簡稱OS)的診斷工具識別熱點進(jìn)行優(yōu)化。
[0004]但是,采用現(xiàn)有技術(shù)都只能識別邏輯上的熱點問題,而無法識別出硬件鏈路或通道上的熱點問題,即無法從物理層面上識別和解決熱點問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種熱點識別處理方法及裝置,用于實現(xiàn)怎樣從物理層面上識別和解決熱點問題。
[0006]本發(fā)明實施例第一方面提供一種熱點識別處理方法,包括:
[0007]根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中中央處理器CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔?,獲取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息;
[0008]根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別所述NUMA系統(tǒng)中的熱點區(qū)段;
[0009]根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一 CPU ;
[0010]將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實施方式中,所述根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔?,獲取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息之前,還包括:
[0012]采集單位時間內(nèi)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點寄存器的物理性能信息,并讀取所述NUMA系統(tǒng)的拓?fù)湫畔ⅰ?br>
[0013]結(jié)合第一方面,在第一方面的第二種可能的實施方式中,所述將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域,包括:
[0014]計算所述第一 CPU中所運行的各進(jìn)程的權(quán)重;
[0015]根據(jù)所述權(quán)重,將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。[0016]結(jié)合第一方面的第二種可能的實施方式,在第一方面的第三種可能的實施方式中,所述計算所述第一 CPU中所運行的各進(jìn)程的權(quán)重,包括:
[0017]獲取所述第一 CPU中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬;
[0018]根據(jù)所述各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算所述各進(jìn)程的權(quán)重。
[0019]結(jié)合第一方面的第三種可能的實施方式,在第一方面的第四種可能的實施方式中,所述將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域,包括:
[0020]將所述各進(jìn)程的權(quán)重從高到低進(jìn)行排序;
[0021 ] 將所述權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,所述第一 NUMA域到所述熱點區(qū)段的距離小于所述當(dāng)前所在NUMA域到所述熱點區(qū)段的距離。
[0022]結(jié)合第一方面至第一方面的第四種可能的實施方式中任一項,在第一方面的第五種可能的實施方式中,所述通道性能計數(shù)統(tǒng)計信息包括下述任一種或組合:通道占用比、通道的帶寬、通道的利用率。
[0023]本發(fā)明實施例第二方面提供一種熱點識別處理裝置,包括:
[0024]獲取模塊,用于根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中中央處理器CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔ⅲ@取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息;
[0025]第一識別模塊,用于根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別所述NUMA系統(tǒng)中的熱點區(qū)段;
[0026]第二識別模塊,用于根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一 CPU ;
[0027]切換模塊,用于將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0028]結(jié)合第二方面,在第二方面的第一種可能的實施方式中,所述裝置還包括:
[0029]采集模塊,用于采集單位時間內(nèi)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點寄存器的物理性能信息,并讀取所述NUMA系統(tǒng)的拓?fù)湫畔ⅰ?br>
[0030]結(jié)合第二方面,在第二方面的第二種可能的實施方式中,所述切換模塊,包括:
[0031]計算單元,用于計算所述第一 CPU中所運行的各進(jìn)程的權(quán)重;
[0032]切換單元,用于根據(jù)所述權(quán)重,將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0033]結(jié)合第二方面的第二種可能的實施方式,在第二方面的第三種可能的實施方式中,所述計算單元,具體用于獲取所述第一 CPU中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬;根據(jù)所述各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算所述各進(jìn)程的權(quán)重。
[0034]結(jié)合第二方面的第三種可能的實施方式,在第二方面的第四種可能的實施方式中,所述切換單元,具體用于將所述各進(jìn)程的權(quán)重從高到低進(jìn)行排序;將所述權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,所述第一 NUMA域到所述熱點區(qū)段的距離小于所述當(dāng)前所在NUMA域到所述熱點區(qū)段的距離。
[0035]結(jié)合第二方面至第二方面的第四種可能的實施方式中任一項,在第二方面的第五種可能的實施方式中,所述通道性能計數(shù)統(tǒng)計信息包括下述任一種或組合:通道占用比、通道的帶寬、通道的利用率。
[0036]本發(fā)明實施例中,通過NUMA系統(tǒng)中CPU的物理性能信息和NC的物理性能信息,以及NUMA系統(tǒng)的拓?fù)湫畔?,獲取上述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,根據(jù)各通道的通道性能計數(shù)統(tǒng)計信息來識別NUMA系統(tǒng)中的熱點區(qū)段,進(jìn)而識別導(dǎo)致熱點區(qū)段的至少一個第一 CPU,將第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在的NUMA域,有針對性的解決熱點問題,這樣也實現(xiàn)了硬件鏈路和通道上解決熱點問題。
【專利附圖】
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1為本發(fā)明提供的熱點識別處理方法實施例一的流程示意圖;
[0039]圖2為本發(fā)明提供的熱點識別處理方法實施例二的應(yīng)用場景示意圖;
[0040]圖3為本發(fā)明提供的熱點識別處理裝置實施例一的結(jié)構(gòu)示意圖;
[0041]圖4為本發(fā)明提供的熱點識別處理裝置實施例二的結(jié)構(gòu)示意圖;
[0042]圖5為本發(fā)明提供的熱點識別處理裝置實施例三的結(jié)構(gòu)示意圖。
【具體實施方式】
[0043]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0044]圖1為本發(fā)明提供的熱點識別處理方法實施例一的流程示意圖,如圖1所示,該方法包括:
[0045]S101、根據(jù)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點控制器(Node Controller,簡稱NC)的物理性能信息,以及上述NUMA系統(tǒng)的拓?fù)湫畔?,獲取該NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息。
[0046]通道性能計數(shù)統(tǒng)計信息可以包括獲取到的各通道的多種性能參數(shù)。
[0047]一個NUMA系統(tǒng)中包含多個CPU和多個NC,要分別獲取它們的物理性能信息。其中,CPU的物理性能信息可以通過CPU的寄存器獲取,該CPU的物理性能信息可以包括:該CPU的快速通道互聯(lián)(Quick Path Interconnect,簡稱 QPI)的輸入輸出(incoming/outgoing)流量、各級緩存命中率(cache hit rate)、每周期指令數(shù)(Instructions per Cycle,簡稱IPC)等。NC的物理性能信息可以通過NC的寄存器獲取,該NC的物理性能信息可以包括:該NC的輸入輸出流量、緩存命中率、各類報文統(tǒng)計信息等。
[0048]另外,通過獲取NUMA系統(tǒng)的拓?fù)湫畔?,可以獲知NUMA系統(tǒng)中各設(shè)備之間的連接關(guān)系,以及通信所需的跳數(shù)等信息。其中,各設(shè)備之間的連接關(guān)系包括相同設(shè)備之間或不同設(shè)備之間進(jìn)行通信的通道,例如=NUMA系統(tǒng)中,CPU與CPU之間進(jìn)行通信的QPI通道、CPU和MC之間進(jìn)行通信的MC通道、NC和NC之間進(jìn)行通信的網(wǎng)絡(luò)接口(Network Interface,簡稱NI)通道、CPU與輸入輸出多端口轉(zhuǎn)發(fā)器(Input Output Hub,簡稱IOH)通信的輸入輸出(Input/Output,簡稱I/O)通道等通道。
[0049]S102、根據(jù)上述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別上述NUMA系統(tǒng)中的熱點區(qū)段。
[0050]將獲取到的通道性能計數(shù)統(tǒng)計信息和預(yù)設(shè)的閾值做比較,就可以識別出熱點區(qū)段,該熱點區(qū)段可以是熱點MC、熱點通道等,熱點MC就是被訪問量很大的MC,熱點通道就是CPU在NUMA系統(tǒng)中流量持續(xù)較高的通道。
[0051]上述通道性能計數(shù)統(tǒng)計信息可以包括:通道占用比、通道的帶寬、通道的利用率等信息,在識別熱點區(qū)段時,根據(jù)實際場景的需要選用合適的信息來識別熱點區(qū)段。例如,識別熱點MC時一般可以根據(jù)通道的實際占用帶寬來識別。
[0052]S103、根據(jù)上述識別出的熱點區(qū)段,識別導(dǎo)致該熱點區(qū)段的至少一個第一 CPU。即識別出熱點區(qū)段后,就可以進(jìn)一步識別出包含訪問該熱點區(qū)段進(jìn)程較多的第一 CPU,這樣的第一 CPU可以有一個或多個。同時,還可以識別出導(dǎo)致該熱點區(qū)段的數(shù)據(jù)流,即可以識別出CPU訪問該熱點區(qū)段都通過哪些通道,以及數(shù)據(jù)流的方向。
[0053]S104、將上述第一 CPU中至少一個運行的進(jìn)程切換出當(dāng)前所在的NUMA域。
[0054]可以計算該第一 CPU中運行的進(jìn)程的權(quán)重,然后根據(jù)權(quán)重的不同將其中一些進(jìn)程切換到不同NUMA域中,例如可以將權(quán)重較高的進(jìn)程切換到距離要訪問的MC較近的NUMA域。
[0055]本實施例中,通過NUMA系統(tǒng)中CPU的物理性能信息和NC的物理性能信息,以及NUMA系統(tǒng)的拓?fù)湫畔?,獲取上述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,根據(jù)各通道的通道性能計數(shù)統(tǒng)計信息來識別NUMA系統(tǒng)中的熱點區(qū)段,進(jìn)而識別導(dǎo)致熱點區(qū)段的至少一個第一 CPU,將第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在的NUMA域,有針對性的解決熱點問題,這樣也實現(xiàn)了從鏈路和通道上解決熱點問題。
[0056]需要說明的是,在上述SlOl之前,還包括:采集單位時間內(nèi)的NUMA系統(tǒng)中CPU的性能信息和NC的物理性能信息,并讀取上述NUMA系統(tǒng)的拓?fù)湫畔ⅰ>唧w地,可以是以預(yù)設(shè)時間間隔進(jìn)行采集,根據(jù)一段時間內(nèi)采集的數(shù)據(jù)來識別熱點,并解決熱點問題。
[0057]需要說明的是,可以根據(jù)NUMA系統(tǒng)的拓?fù)鋵UMA系統(tǒng)進(jìn)行域的劃分,一般根據(jù)不同CPU訪問特定CPU上的MC所需的跳數(shù)或距離來劃分,例如可以將訪問同一 MC跳數(shù)或距離相同或相近的CPU劃分到同一個域。
[0058]圖2為本發(fā)明提供的熱點識別處理方法實施例二的應(yīng)用場景示意圖,如圖2所示,假設(shè)圖2所示為一個NUMA系統(tǒng)的局部,其中MC是掛在CPU上的,圖中僅示出一個熱點MC為例。具體地,假設(shè)圖2中所示NUMA系統(tǒng)的部分包括8個CPU,4個NC,一個熱點MC。假設(shè)劃分的NUMA域為:第一 NUMA域包括CPUl ;第二 NUMA域包括CPU2、CPU3、CPU4 ;第三NUMA域包括 CPU5、CPU6、CPU7、CPU8。
[0059]進(jìn)一步地,在上述實施例的基礎(chǔ)上,上述將第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域,具體為:計算上述第一 CPU中所運行的各進(jìn)程的權(quán)重,根據(jù)該權(quán)重,將上述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0060]需要說明的是,上述計算上述第一 CPU中所運行的各進(jìn)程的權(quán)重,可以具體包括:獲取上述第一中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬;根據(jù)各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算上述各進(jìn)程的權(quán)重。具體可以采用層次分析算法來計算各進(jìn)程的權(quán)重,舉例說明計算某個進(jìn)程的權(quán)重,假設(shè)Dp D2, D3, D4, D55個因子分別表示該進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬對整個業(yè)務(wù)的影響程度,需要對該5個因子建立兩兩比較的比較矩陣,依次從上述5個因子中取兩個因子Di和D」,其中i={l,2,3,4,5},j={l, 2,3,4,5},Bij表示Di和Dj對整個業(yè)務(wù)的影響程度之比,全部比較結(jié)果用矩陣Α=^}5Χ5表示,A滿足以下條件:(I) aij>0 ; (2) Bij=IZaji0然后計算矩陣A對應(yīng)于最大特征值得特征向量,經(jīng)歸一化后即為同一層次相應(yīng)因素對于整個業(yè)務(wù)的相對重要性的權(quán)值(X1, X2, X3, X4, X5I。另外,為了保證上述計算的有效性,需要對上述矩陣A進(jìn)行一致性檢驗,具體地方法為:(I)計算一致性指標(biāo):CI=Umax-n)/(n-l),其中,λ max為矩陣A對應(yīng)的最大特征值,n=5。(2)查找相應(yīng)的平均隨機(jī)一致性指標(biāo)RI。(3)計算一致性比例:CR=CI/RI。判斷,若CR小于0.1,則認(rèn)為矩陣A的一致性是可以接受的,否則,需要對矩陣A進(jìn)行修正。之后,假設(shè)對Dp D2, D3、D4、D55個因子均已進(jìn)行歸一化,則可以將該進(jìn)程的總體資源占用量,也就是該進(jìn)程的權(quán)重表示為DzXfDi+XdDdXdDjXjDjXdDp
[0061]更近一步地,上述將第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在的NUMA域,具體可以為:將上述各進(jìn)程的權(quán)重從高到底進(jìn)行排序,然后將權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,上 述第一 NUMA域到上述熱點區(qū)段的距離小于當(dāng)前所在NUMA域到上述熱點區(qū)段的距離。以圖2為例,假設(shè)CPU5為影響熱點MC的第一 CPU,CPU5中運行的進(jìn)程包括Pl、P2、P3,經(jīng)過采用前述方法的計算,可以分別獲取到這3個進(jìn)程的權(quán)重,根據(jù)計算出的權(quán)重來判斷是否需要切換進(jìn)程,如果存在進(jìn)程的權(quán)重大于預(yù)設(shè)閾值,則進(jìn)行切換,將部分權(quán)重較高的切出當(dāng)前所在NUMA域。假設(shè)P2的權(quán)重最大,那么可以將P2切換到CPUl運行,CPUl距離熱點MC最近;假設(shè)Pl的權(quán)重次高,可以將Pl切換到CPU2、CPU3、CPU4中任一個,這3個CPU距離熱點MC較近,且無需經(jīng)過NC,可以減小訪問熱點MC的時延。
[0062]需要說明的是,切換進(jìn)程時可以采用輕量級進(jìn)程切換方法進(jìn)行切換。切換完成后可以循環(huán)執(zhí)行前述方法,不斷檢測熱點區(qū)段,直到解決完熱點問題。
[0063]具體實現(xiàn)過程中,上述通道性能計數(shù)統(tǒng)計信息為通道占用比時,通道占用比可以包括通道數(shù)據(jù)(data)占用比和/或通道詢問(snoop)占用比,在某些應(yīng)用場景中,一個設(shè)備與另一個設(shè)備通信,假設(shè)第一設(shè)備向第二設(shè)備發(fā)送請求消息,向第二設(shè)備請求數(shù)據(jù),第二設(shè)備收到該請求消息后可能直接向第一設(shè)備返回第一設(shè)備請求的數(shù)據(jù)(data),也可能存在問題,向第一設(shè)備返回詢問消息。那么求出通道中通道data占用比和/或通道snoop占用t匕,來進(jìn)一步識別熱點區(qū)段,一般熱點區(qū)段的通道data占用比較大,而通道snoop占用比較小,可以根據(jù)具體場景來設(shè)置預(yù)設(shè)閾值。
[0064]圖3為本發(fā)明提供的熱點識別處理裝置實施例一的結(jié)構(gòu)示意圖,如圖3所示,該裝置包括:獲取模塊301、第一識別模塊302、第二識別模塊303和切換模塊304,其中:
[0065]獲取模塊301,用于根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中中央處理器CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔?,獲取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息。
[0066]第一識別模塊302,用于根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別所述NUMA系統(tǒng)中的熱點區(qū)段。
[0067]第二識別模塊303,用于根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一 CPU。
[0068]切換模塊304,用于將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA 域。
[0069]上述裝置用于執(zhí)行前述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0070]圖4為本發(fā)明提供的熱點識別處理裝置實施例二的結(jié)構(gòu)示意圖,在圖3的基礎(chǔ)上,上述裝置還可以包括采集模塊305,用于采集單位時間內(nèi)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點寄存器的物理性能信息,并讀取所述NUMA系統(tǒng)的拓?fù)湫畔ⅰ?br>
[0071]圖5為本發(fā)明提供的熱點識別處理裝置實施例三的結(jié)構(gòu)示意圖,在圖3的基礎(chǔ)上,上述切換模塊304包括:計算單元501和切換單元502,其中:
[0072]計算單元501,用于計算所述第一CPU中所運行的各進(jìn)程的權(quán)重;切換單元502,用于根據(jù)所述權(quán)重,將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0073]進(jìn)一步地,上述計算單元501,具體用于獲取所述第一 CPU中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬;根據(jù)所述各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算所述各進(jìn)程的權(quán)重。
[0074]切換單元502,具體用于將所述各進(jìn)程的權(quán)重從高到低進(jìn)行排序;將所述權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,所述第一 NUMA域到所述熱點區(qū)段的距離小于所述當(dāng)前所在NUMA域到所述熱點區(qū)段的距離。
[0075]另外,上述通道性能計數(shù)統(tǒng)計信息包括下述任一種或組合:通道占用比、通道的帶寬、通道的利用率。
[0076]上述裝置用于執(zhí)行前述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0077]本發(fā)明實施例還提供另一種熱點識別處理裝置,包括:處理器。
[0078]該處理器,用于根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中中央處理器CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔?,獲取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息;根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識另Ij所述NUMA系統(tǒng)中的熱點區(qū)段;根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一 CPU ;將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0079]另外,該處理器,還用于采集單位時間內(nèi)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點寄存器的物理性能信息,并讀取所述NUMA系統(tǒng)的拓?fù)湫畔ⅰ?br>
[0080]上述處理器,具體用于計算所述第一 CPU中所運行的各進(jìn)程的權(quán)重;根據(jù)所述權(quán)重,將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
[0081]更具體地,上述處理器獲取所述第一 CPU中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬;根據(jù)所述各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算所述各進(jìn)程的權(quán)重。[0082]上述處理器將所述各進(jìn)程的權(quán)重從高到低進(jìn)行排序;將所述權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,所述第一 NUMA域到所述熱點區(qū)段的距離小于所述當(dāng)前所在NUMA域到所述熱點區(qū)段的距離。
[0083]需要說明的是,所述通道性能計數(shù)統(tǒng)計信息包括下述任一種或組合:通道占用比、通道的帶寬、通道的利用率。
[0084]上述裝置用于執(zhí)行前述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,在此不再贅述。
[0085]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0086]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種熱點識別處理方法,其特征在于,包括: 根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中中央處理器CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔ⅲ@取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息; 根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別所述NUMA系統(tǒng)中的熱點區(qū)段; 根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一 CPU ; 將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔ⅲ@取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息之前,還包括: 采集單位時間內(nèi)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點寄存器的物理性能信息,并讀取所述NUMA系統(tǒng)的拓?fù)湫畔ⅰ?br>
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述第一CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域,包括: 計算所述第一 CPU中所運行的各進(jìn)程的權(quán)重; 根據(jù)所述權(quán)重,將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述計算所述第一CPU中所運行的各進(jìn)程的權(quán)重,包括: 獲取所述第一 CPU中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬; 根據(jù)所述各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算所述各進(jìn)程的權(quán)重。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述第一CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域,包括: 將所述各進(jìn)程的權(quán)重從高到低進(jìn)行排序; 將所述權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,所述第一 NUMA域到所述熱點區(qū)段的距離小于所述當(dāng)前所在NUMA域到所述熱點區(qū)段的距離。
6.根據(jù)權(quán)利要求1-5所述的方法,其特征在于,所述通道性能計數(shù)統(tǒng)計信息包括下述任一種或組合:通道占用比、通道的帶寬、通道的利用率。
7.一種熱點識別處理裝置,其特征在于,包括: 獲取模塊,用于根據(jù)非一致性內(nèi)存訪問NUMA系統(tǒng)中中央處理器CPU的物理性能信息和節(jié)點控制器的物理性能信息,以及所述NUMA系統(tǒng)的拓?fù)湫畔?,獲取所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息; 第一識別模塊,用于根據(jù)所述NUMA系統(tǒng)中各通道的通道性能計數(shù)統(tǒng)計信息,識別所述NUMA系統(tǒng)中的熱點區(qū)段; 第二識別模塊,用于根據(jù)所述識別出的熱點區(qū)段,識別導(dǎo)致所述熱點區(qū)段的至少一個第一 CPU ; 切換模塊,用于將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括: 采集模塊,用于采集單位時間內(nèi)NUMA系統(tǒng)中CPU的物理性能信息和節(jié)點寄存器的物理性能信息,并讀取所述NUMA系統(tǒng)的拓?fù)湫畔ⅰ?br>
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述切換模塊,包括: 計算單元,用于計算所述第一 CPU中所運行的各進(jìn)程的權(quán)重; 切換單元,用于根據(jù)所述權(quán)重,將所述第一 CPU中至少一個所運行的進(jìn)程切換出當(dāng)前所在NUMA域。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述計算單元,具體用于獲取所述第一CPU中所運行的各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬;根據(jù)所述各進(jìn)程的CPU占用率、CPU占用時間、進(jìn)程間通信次數(shù)、緩存命中率、和輸入輸出讀寫帶寬,計算所述各進(jìn)程的權(quán)重。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述切換單元,具體用于將所述各進(jìn)程的權(quán)重從高到低進(jìn)行排序;將所述權(quán)重大于預(yù)設(shè)閾值的進(jìn)程切換到第一 NUMA域,其中,所述第一 NUMA域到所述熱點區(qū)段的距離小于所述當(dāng)前所在NUMA域到所述熱點區(qū)段的距離。
12.根據(jù)權(quán)利要求7-11任一項所述的裝置,其特征在于,所述通道性能計數(shù)統(tǒng)計信息包括下 述任一種或組合:通道占用比、通道的帶寬、通道的利用率。
【文檔編號】G06F9/50GK103530191SQ201310493598
【公開日】2014年1月22日 申請日期:2013年10月18日 優(yōu)先權(quán)日:2013年10月18日
【發(fā)明者】馬旭華, 宴臣 申請人:杭州華為數(shù)字技術(shù)有限公司