一種numa芯片帶寬監(jiān)測的方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng),該方法包括:對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線帶寬數(shù)據(jù),上行總線為NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€;對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線帶寬數(shù)據(jù),下行總線為NUMA芯片與同一NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)目偩€;對NUMA芯片的各個內(nèi)部總線的數(shù)據(jù)流量進行監(jiān)測,獲得各個內(nèi)部總線對應(yīng)的內(nèi)部總線帶寬數(shù)據(jù),內(nèi)部總線為NUMA芯片內(nèi)部任意兩個功能模塊進行數(shù)據(jù)傳輸?shù)目偩€;將上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)存儲到NUMA芯片中對應(yīng)的狀態(tài)寄存器中。本方案能夠確定NUMA芯片具體的帶寬情況。
【專利說明】
一種NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計算機技術(shù)的不斷發(fā)展與進步,一些高性能計算機包括有多個處理器,以滿 足用戶對計算速度的要求。在多處理器的計算機中,各個處理器的工作模式主要有三種,分 別為SMP(Symmetric Multiprocessing Processing,對稱多處理)模式、NUMA(Non Uniform Memory Access,非均勾存儲訪問)模式及MPP(Massively Parallel Processing,大規(guī)模并 行處理)模式。
[0003] 其中,NUMA模式為將計算機劃分為多個NUMA節(jié)點,每個NUMA節(jié)點包括一個NUMA芯 片、一定數(shù)量的處理器芯片及內(nèi)存。同一NUMA節(jié)點內(nèi),各個處理器可以通過該NUMA節(jié)點上的 NUMA芯片訪問該NUMA節(jié)點內(nèi)存中的數(shù)據(jù);不同NUMA節(jié)點中的NUMA芯片相互連接,一個NUMA 節(jié)點中的處理器通過相連的兩個NUMA芯片訪問另一個NUMA節(jié)點內(nèi)存中的數(shù)據(jù)。
[0004] 針對于NUMA模式,由于NUMA芯片設(shè)計不合理等因素,經(jīng)常出現(xiàn)一個NUMA節(jié)點中的 處理器訪問其他NUMA節(jié)點內(nèi)存中數(shù)據(jù)時,NUMA芯片帶寬下降明顯,導致訪問速度較慢的情 況,但是由于無法確定NUMA芯片具體的帶寬情況,無法對NUMA芯片進行優(yōu)化。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng),能夠確定NUMA 芯片具體的帶寬情況。
[0006] 本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的方法,包括:
[0007]對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線帶寬數(shù)據(jù),其中,所述上行總線為 所述NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€;
[0008] 對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線帶寬數(shù)據(jù),其中,所述下行總線為 所述NUMA芯片與同一 NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)目偩€;
[0009] 對所述NUMA芯片的各個內(nèi)部總線的數(shù)據(jù)流量進行監(jiān)測,獲得各個內(nèi)部總線對應(yīng)的 內(nèi)部總線帶寬數(shù)據(jù),其中,所述內(nèi)部總線為所述NUMA芯片內(nèi)部任意兩個功能模塊進行數(shù)據(jù) 傳輸?shù)目偩€;
[0010] 將所述上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)存儲到 所述NUMA芯片中對應(yīng)的狀態(tài)寄存器中。
[0011] 優(yōu)選地,所述上行總線帶寬數(shù)據(jù)包括:所述上行總線的實時帶寬、峰值帶寬、谷值 帶寬及平均帶寬中的任意一個或多個。
[0012] 優(yōu)選地,所述下行總線帶寬數(shù)據(jù)包括:所述下行總線的實時帶寬、峰值帶寬、谷值 帶寬及平均帶寬中的任意一個或多個。
[0013] 優(yōu)選地,所述內(nèi)部總線帶寬數(shù)據(jù)包括:對應(yīng)內(nèi)部總線的實時帶寬、峰值帶寬、谷值 帶寬及平均帶寬中的任意一個或多個。
[0014] 優(yōu)選地,所述實時帶寬包括:最近一秒鐘內(nèi)對應(yīng)總線傳輸有效數(shù)據(jù)的總量。
[0015] 優(yōu)選地,所述峰值帶寬包括:監(jiān)控時間段內(nèi)對應(yīng)實時帶寬的最大值。
[0016] 優(yōu)選地,所述谷值帶寬包括:監(jiān)控時間段內(nèi)對應(yīng)實時帶寬的非零最小值。
[0017] 優(yōu)選地,所述平均帶寬包括:監(jiān)控時間段內(nèi)對應(yīng)的各個所述實時帶寬的平均值。
[0018] 優(yōu)選地,所述有效數(shù)據(jù)的總量包括:對應(yīng)總線接收的有效數(shù)據(jù)的總量及該對應(yīng)總 線發(fā)送的有效數(shù)據(jù)的總量。
[0019]優(yōu)選地,該方法進一步包括:
[0020] 通過基板管理控制器BMC從所述狀態(tài)寄存器中讀取所述上行總線帶寬數(shù)據(jù)、下行 總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)中的任意一個或多個,以對所述NUMA芯片進行帶 寬性能分析。
[0021] 本發(fā)明實施例還提供了一種NUMA芯片帶寬監(jiān)測的裝置,包括:上行帶寬監(jiān)測單元、 下行帶寬監(jiān)測單元、內(nèi)部帶寬監(jiān)測單元及存儲單元;
[0022] 所述上行帶寬監(jiān)測單元,用于對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線帶 寬數(shù)據(jù),其中,所述上行總線為所述NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€;
[0023] 所述下行帶寬監(jiān)測單元,用于對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線帶 寬數(shù)據(jù),其中,所述下行總線為所述NUMA芯片與同一NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸 的總線;
[0024] 所述內(nèi)部帶寬監(jiān)測單元,用于對所述NUMA芯片內(nèi)部的各個內(nèi)部總線的數(shù)據(jù)流量進 行監(jiān)測,獲得各個內(nèi)部總線對應(yīng)的內(nèi)部總線帶寬數(shù)據(jù),其中,所述內(nèi)部總線為所述NUMA芯片 內(nèi)部任意兩個功能模塊進行數(shù)據(jù)傳輸?shù)目偩€;
[0025] 所述存儲單元,用于將所述上行帶寬監(jiān)測單元獲得的上行總線帶寬數(shù)據(jù)、所述下 行帶寬監(jiān)測單元獲得的下行總線帶寬數(shù)據(jù)及所述內(nèi)部帶寬監(jiān)測單元獲得的各個內(nèi)部總線 帶寬數(shù)據(jù)存儲到所述NUMA芯片中對應(yīng)的狀態(tài)寄存器中。
[0026] 優(yōu)選地,
[0027] 所述上行帶寬監(jiān)測單元,用于根據(jù)所述上行總線的數(shù)據(jù)流量,獲得所述上行總線 的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一個或多個。
[0028] 優(yōu)選地,
[0029] 所述下行帶寬監(jiān)測單元,用于根據(jù)所述下行總線的數(shù)據(jù)流量,獲得所述下行總線 的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一個或多個。
[0030] 優(yōu)選地,
[0031] 所述內(nèi)部帶寬監(jiān)測單元,用于根據(jù)各個內(nèi)部總線的數(shù)據(jù)流量,獲得對應(yīng)內(nèi)部總線 的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一個或多個。
[0032] 優(yōu)選地,該裝置進一步包括:讀取單元;
[0033]所述讀取單元,用于通過基板管理控制器BMC從所述狀態(tài)寄存器中讀取所述上行 總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)中的任意一個或多個,以對 所述NUMA芯片的帶寬情況進行實時監(jiān)控。
[0034] 優(yōu)選地,所述上行帶寬監(jiān)測單元、下行帶寬監(jiān)測單元及內(nèi)部帶寬監(jiān)測單元中的任 意一個或多個包括帶寬統(tǒng)計邏輯電路。
[0035]本發(fā)明實施例還提供了一種NUMA芯片帶寬監(jiān)測的系統(tǒng),包括:至少兩個NUMA節(jié)點 及對應(yīng)數(shù)量的本發(fā)明實施例提供的任意一種NUMA芯片帶寬監(jiān)測的裝置;
[0036] 所述NUMA節(jié)點中的處理器,用于通過各個所述NUMA節(jié)點中的NUMA芯片,訪問各個 NUMA節(jié)點的內(nèi)存中的數(shù)據(jù),以在所述上行總線、下行總線及內(nèi)部總線上產(chǎn)生數(shù)據(jù)流量。 [0037]本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng),分別對NUMA芯 片的上行總線、下行總線及內(nèi)部總線上的數(shù)據(jù)流量進行監(jiān)測,獲得相對應(yīng)的上行總線帶寬 數(shù)據(jù)、下行總線帶寬數(shù)據(jù)及各個內(nèi)部總線帶寬數(shù)據(jù),其中,上行總線帶寬數(shù)據(jù)代表NUMA芯片 與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)膸捛闆r,下行總線帶寬數(shù)據(jù)代表NUMA芯片與同一 NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)膸捛闆r,內(nèi)部總線帶寬數(shù)據(jù)代表對應(yīng)NUMA芯片內(nèi) 部各個功能模塊之間進行數(shù)據(jù)傳輸?shù)膸捛闆r。通過將NUMA芯片的帶寬劃分為上行總線、 下行總線及內(nèi)部總線,分別獲得三種不同類型總線的帶寬,從而能夠確定NUMA芯片具體的 帶寬情況。
【附圖說明】
[0038] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明 的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 這些附圖獲得其他的附圖。
[0039] 圖1是本發(fā)明一個實施例提供的一種NUMA芯片帶寬監(jiān)測的方法流程圖;
[0040] 圖2是本發(fā)明一個實施例提供的一種NUMA芯片帶寬監(jiān)測的裝置示意圖;
[0041] 圖3是本發(fā)明一個實施例提供的一種NUMA芯片帶寬監(jiān)測的系統(tǒng)示意圖;
[0042] 圖4是本發(fā)明另一個實施例提供的一種NUMA芯片帶寬監(jiān)測的方法流程圖。
【具體實施方式】
[0043] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0044] 如圖1所示,本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的方法,該方法可以包括 以下步驟:
[0045] 步驟101:對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線帶寬數(shù)據(jù),其中,所述上 行總線為所述NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€;
[0046] 步驟102:對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線帶寬數(shù)據(jù),其中,所述下 行總線為所述NUMA芯片與同一 NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)目偩€;
[0047] 步驟103:對所述NUMA芯片的各個內(nèi)部總線的數(shù)據(jù)流量進行監(jiān)測,獲得各個所述內(nèi) 部總線對應(yīng)的內(nèi)部總線帶寬數(shù)據(jù),其中,所述內(nèi)部總線為所述NUMA芯片內(nèi)部任意兩個功能 模塊進行數(shù)據(jù)傳輸?shù)目偩€;
[0048]步驟104:將所述上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù) 據(jù)存儲到所述NUMA芯片中對應(yīng)的狀態(tài)寄存器中。
[0049 ]本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的方法,分別對NUMA芯片的上行總 線、下行總線及內(nèi)部總線上的數(shù)據(jù)流量進行監(jiān)測,獲得相對應(yīng)的上行總線帶寬數(shù)據(jù)、下行總 線帶寬數(shù)據(jù)及各個內(nèi)部總線帶寬數(shù)據(jù),其中,上行總線帶寬數(shù)據(jù)代表NUMA芯片與其他各個 NUMA芯片進行數(shù)據(jù)傳輸?shù)膸捛闆r,下行總線帶寬數(shù)據(jù)代表NUMA芯片與同一 NUMA節(jié)點中各 個處理器進行數(shù)據(jù)傳輸?shù)膸捛闆r,內(nèi)部總線帶寬數(shù)據(jù)代表對應(yīng)NUMA芯片內(nèi)部各個功能模 塊之間進行數(shù)據(jù)傳輸?shù)膸捛闆r。通過將NUMA芯片的帶寬劃分為上行總線、下行總線及內(nèi) 部總線,分別獲得三種不同類型總線的帶寬,從而能夠確定NUMA芯片具體的帶寬情況。
[0050] 在本發(fā)明一個實施例中,上行帶寬數(shù)據(jù)、下行帶寬數(shù)據(jù)及內(nèi)部帶寬數(shù)據(jù)均可以包 括對應(yīng)的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一種或多種,通過多種不同形 式的帶寬數(shù)據(jù)對總線的帶寬情況進行表征,可以反映 NUMA芯片中各個總線的帶寬變化情 況,提高了對NUMA芯片帶寬監(jiān)測的準確性。
[0051] 在本發(fā)明一個實施例中,針對于一個總線,實時帶寬為最近一秒鐘內(nèi)該總線傳輸 有效數(shù)據(jù)的總量,通過實時帶寬可以確定該總線在數(shù)據(jù)傳輸過程中各個時刻的帶寬情況; 峰值帶寬為在監(jiān)控時間段內(nèi)該總線對應(yīng)的實時帶寬的最大值,根據(jù)峰值帶寬可以確定該總 線在監(jiān)控時間段內(nèi)出現(xiàn)的最大帶寬;谷值帶寬為在監(jiān)控時間段內(nèi)該總線對應(yīng)的實時帶寬的 非零最小值,根據(jù)谷值帶寬可以確定該總線在監(jiān)控時間段內(nèi)在有報文傳輸時的最小帶寬; 平均帶寬為在監(jiān)控時間段內(nèi)在總線對應(yīng)的各個實時帶寬的平均值。根據(jù)各個總線的實時帶 寬、峰值帶寬、谷值帶寬及平均帶寬,可以確定總線存在的具體缺陷,從而可以針對確定出 的缺陷對總線的設(shè)計進行優(yōu)化。
[0052] 在本發(fā)明一個實施例中,在根據(jù)總線上的數(shù)據(jù)流量確定該總線的實時帶寬時,該 總線的實時帶寬為最近一秒鐘內(nèi)該總線接收的有效數(shù)據(jù)與發(fā)送的有效數(shù)據(jù)的總量。這樣總 線的實時帶寬反映總線雙向傳輸數(shù)據(jù)的速度,消除雙向傳輸數(shù)據(jù)對總線帶寬的影響,進一 步提高了對NUMA芯片帶寬監(jiān)測的準確性。
[0053]在本發(fā)明一個實施例中,在將獲取到的上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以 及各個內(nèi)部總線帶寬數(shù)據(jù)存儲到NUMA芯片中對應(yīng)的狀態(tài)寄存器中后,通過基板管理控制器 BMC可以從NUMA芯片中的狀態(tài)寄存器中讀取上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各 個內(nèi)部總線帶寬數(shù)據(jù)中的一部分或全部內(nèi)容,實現(xiàn)對NUMA芯片的帶寬性能進行實時監(jiān)控的 目的,并能夠根據(jù)讀取的帶寬數(shù)據(jù)對NUMA芯片的帶寬性能進行分析,以制定相應(yīng)的優(yōu)化方 案。
[0054]如圖2所示,本發(fā)明一個實施例提供了一種NUMA芯片帶寬監(jiān)測的裝置,包括:上行 帶寬監(jiān)測單元201、下行帶寬監(jiān)測單元202、內(nèi)部帶寬監(jiān)測單元203及存儲單元204;
[0055]所述上行帶寬監(jiān)測單元201,用于對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線 帶寬數(shù)據(jù),其中,所述上行總線為所述NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€; [0056]所述下行帶寬監(jiān)測單元202,用于對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線 帶寬數(shù)據(jù),其中,所述下行總線為所述NUMA芯片與同一NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳 輸?shù)目偩€;
[0057]所述內(nèi)部帶寬監(jiān)測單元203,用于對所述NUMA芯片內(nèi)部的各個內(nèi)部總線的數(shù)據(jù)流 量進行監(jiān)測,獲得各個內(nèi)部總線對應(yīng)的內(nèi)部總線帶寬數(shù)據(jù),其中,所述內(nèi)部總線為所述NUMA 芯片內(nèi)部任意兩個功能模塊進行數(shù)據(jù)傳輸?shù)目偩€;
[0058]所述存儲單元204,用于將所述上行帶寬監(jiān)測單元201獲得的上行總線帶寬數(shù)據(jù)、 所述下行帶寬監(jiān)測單元202獲得的下行總線帶寬數(shù)據(jù)及所述內(nèi)部帶寬監(jiān)測單元203獲得的 各個內(nèi)部總線帶寬數(shù)據(jù)存儲到所述NUMA芯片中對應(yīng)的狀態(tài)寄存器中。
[0059] 本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的裝置,該裝置中的上行帶寬監(jiān)測單 元201獲取NUMA芯片上行總線帶寬數(shù)據(jù),下行帶寬監(jiān)測單元202獲取NUMA芯片下行總線帶寬 數(shù)據(jù),內(nèi)部帶寬監(jiān)測單元203獲取NUMA芯片中各個內(nèi)部總線帶寬數(shù)據(jù),存儲單元204將各個 監(jiān)測單元獲取到的帶寬數(shù)據(jù)存儲到NUMA芯片中對應(yīng)的狀態(tài)寄存器中。通過該裝置能夠不僅 可以獲取一個NUMA芯片與其他NUMA芯片以及與處理器進行數(shù)據(jù)傳輸?shù)膸?,還能夠獲取 NUMA芯片內(nèi)部各個功能模塊之間進行數(shù)據(jù)傳輸?shù)膸?,從而能夠確定NUMA芯片具體的帶寬 情況。
[0060] 在本發(fā)明一個實施例中,上行帶寬監(jiān)測單元201根據(jù)NUMA芯片上行總線的數(shù)據(jù)流 量,可以獲得上行總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬;下行帶寬監(jiān)測單元202 根據(jù)NUMA芯片下行總線的數(shù)據(jù)流量,可以獲得下行總線的實時帶寬、峰值帶寬、谷值帶寬及 平均帶寬;內(nèi)部帶寬監(jiān)測單元203根據(jù)NUMA芯片中各個內(nèi)部總線的數(shù)據(jù)流量,可以獲得各個 內(nèi)部總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬。每一個總線都包括多個表征帶寬的 量,提高了對NUMA芯片帶寬進行監(jiān)測的準確性。
[0061 ]在本發(fā)明一個實施例中,該裝置進一步包括讀取單元,讀取單元通過基板管理控 制器BMC從NUMA芯片中對應(yīng)的狀態(tài)寄存器上讀取存儲單元204存儲的帶寬數(shù)據(jù),從而實現(xiàn)對 NUMA芯片的帶寬情況進行實時監(jiān)控。
[0062]在本發(fā)明一個實施例中,上行帶寬監(jiān)測單元201、下行帶寬監(jiān)測單元202及內(nèi)部帶 寬監(jiān)測單元203均可以通過帶寬統(tǒng)計邏輯電路實現(xiàn)。
[0063] 需要說明的是,本發(fā)明實施例提供的NUMA芯片帶寬監(jiān)測的裝置可以集成到NUMA芯 片上。
[0064] 如圖3所示,本發(fā)明一個實施例提供了一種NUMA芯片帶寬監(jiān)測的系統(tǒng),包括:至少 兩個NUMA節(jié)點301及對應(yīng)數(shù)量的上述實施例提供的任意一種NUMA芯片帶寬監(jiān)測的裝置302; [0065] 所述NUMA節(jié)點301中的處理器3015,用于通過各個所述NUMA節(jié)點301中的NUMA芯片 3013,訪問各個NUMA節(jié)點301的內(nèi)存3014中的數(shù)據(jù),以在NUMA芯片3013的上行總線3011、下 行總線3012及NUMA芯片3013的內(nèi)部總線上產(chǎn)生數(shù)據(jù)流量。
[0066] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合圖2所示的NUMA芯片帶寬 監(jiān)測的裝置及圖3所示的NUMA芯片帶寬監(jiān)測的系統(tǒng),對本發(fā)明實施例提供的NUMA芯片帶寬 監(jiān)測的方法作進一步地詳細描述。
[0067] 如圖4所示,本發(fā)明實施例提供了一種NUMA芯片帶寬監(jiān)測的方法,該方法可以包括 以下步驟:
[0068]步驟401:對NUMA芯片的上行總線、下行總線及內(nèi)部總線的數(shù)據(jù)流量進行監(jiān)測。 [0069]在本發(fā)明一個實施例中,如圖3所示,針對于一個當前NUMA節(jié)點301,上行帶寬監(jiān)測 單元3021實時對NUMA芯片3013的上行總線3011的數(shù)據(jù)流量進行監(jiān)測,下行帶寬監(jiān)測單元 3022實時對NUMA芯片3013的下行總線3012的數(shù)據(jù)流量進行監(jiān)測,內(nèi)部帶寬監(jiān)測單元3023實 時對NUMA芯片3013內(nèi)部連接各個功能模塊的內(nèi)部總線的數(shù)據(jù)流量進行監(jiān)測。
[0070] 在本發(fā)明實施例中,在當前NUMA節(jié)點301中,當處理器3015通過下行總線3012及 NUMA芯片3013對內(nèi)存3014進行讀操作或?qū)懖僮鲿r,將在下行總線3012及NUMA芯片3013中的 內(nèi)部總線上產(chǎn)生數(shù)據(jù)流量;當處理器3015通過下行總線3012、NUMA芯片3013及上行總線 3011對其他NUMA節(jié)點中的內(nèi)存進行讀操作或?qū)懖僮鲿r,將在下行總線3012、NUMA芯片3013 中的內(nèi)部總線及上行總線3011上產(chǎn)生數(shù)據(jù)流量。
[0071] 在本發(fā)明實施例中,NUMA芯片的內(nèi)部總線用于連接NUMA芯片包括的各個功能模 塊,用于實現(xiàn)各個功能模塊之間進行數(shù)據(jù)傳輸,例如,NUMA芯片包括路由模塊、協(xié)議處理模 塊及交叉開關(guān)模塊,內(nèi)部總線1用于連接路由模塊與協(xié)議處理模塊,內(nèi)部總線2用于連接路 由模塊與交叉開關(guān)模塊,內(nèi)部總線3用于連接協(xié)議處理模塊與交叉開關(guān)模塊。NUMA芯片在接 收到數(shù)據(jù)后,通過內(nèi)部各個功能模塊交互對數(shù)據(jù)進行處理,并將處理后的數(shù)據(jù)發(fā)送給對應(yīng) 的接收端。
[0072] 步驟402:根據(jù)監(jiān)測結(jié)果,確定上行總線、下行總線及內(nèi)部總線各自對應(yīng)的帶寬數(shù) 據(jù)。
[0073]在本發(fā)明一個實施例中,如圖3所示,上行帶寬監(jiān)測單元3021根據(jù)上行總線3011的 數(shù)據(jù)流量情況,計算上行總線3011的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬;下行帶寬 監(jiān)測單元3022根據(jù)下行總線3012的數(shù)據(jù)流量情況,計算下行總線3012的實時帶寬、峰值帶 寬、谷值帶寬及平均帶寬;內(nèi)部帶寬監(jiān)測單元3023根據(jù)NUMA芯片3013內(nèi)部各個內(nèi)部總線的 數(shù)據(jù)流量情況,分別計算各個內(nèi)部總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬。
[0074]在本發(fā)明實施例中,針對于一個總線,實時帶寬為最近1秒鐘內(nèi)該總線傳輸有效數(shù) 據(jù)的總量,其中,有效數(shù)據(jù)的總量為雙向傳輸數(shù)據(jù)的總量;峰值帶寬為從監(jiān)測開始到當前時 間實時帶寬的最大值;谷值帶寬為從監(jiān)測開始到當前時間實時帶寬的非零最小值;平均帶 寬為從監(jiān)測開始到當期時間各個實時帶寬的平均值。
[0075] 例如,NUMA芯片核心時鐘頻率F為600MHz,取F/100個時鐘周期作為一次帶寬采樣 周期,即6個時鐘周期作為一次帶寬采樣周期,上行總線的位寬為w,當前帶寬采樣周期內(nèi)在 上行總線上共出現(xiàn)了m個有效數(shù)據(jù)報文,當前帶寬采樣周期對應(yīng)的實時帶寬BW[C]可以通過 如下公式計算獲得:
[0077]其中,計算獲得的實時帶寬BW[C]的單位為GB/s,取F/100個時鐘周期作為一次帶 寬采樣周期可以提高計算速度;
[0078]從開始對上行總線的數(shù)據(jù)流量進行監(jiān)測到當前時刻的時間長度為L秒,則根據(jù)這L 秒內(nèi)計算獲得的各個實時帶寬BW[C],
[0079] 通過如下公式計算峰值帶寬BW[P]:
[0080] Bff[P]=max{Bff[C]}
[0081]通過如下公式計算谷值帶寬BW[V]:
[0082] Bff[V]=min{Bff[C]}^0
[0083] 通過如下公式計算平均帶寬BW[A]:
[0084] Bff[A] =average{Bff[C]}
[0085] 相應(yīng)地,通過上述方式計算下行總線及各個內(nèi)部總線的實時帶寬、峰值帶寬、谷值 帶寬及平均帶寬。
[0086]步驟403:將確定出的帶寬數(shù)據(jù)存儲到NUMA芯片中對應(yīng)的狀態(tài)寄存器中。
[0087]在本發(fā)明一個實施例中,存儲單元將上行帶寬監(jiān)測單元3021獲得的上行總線的實 時帶寬、峰值帶寬、谷值帶寬及平均帶寬存儲NUMA芯片3013中對應(yīng)的上行狀態(tài)寄存器中,將 下行帶寬監(jiān)測單元3022獲得的下行總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬存儲 NUMA芯片3013中對應(yīng)的下行狀態(tài)寄存器中,將內(nèi)部帶寬監(jiān)測單元3023獲得的各個內(nèi)部總線 的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬存儲到NUMA芯片中對應(yīng)的內(nèi)部狀態(tài)寄存器中。 [0088]例如,存儲單元將上行帶寬監(jiān)測單元3021獲得的上行總線的帶寬數(shù)據(jù)存儲到上行 狀態(tài)寄存器中,形成表1所示的記錄數(shù)據(jù),表1如下:
[0089]表1
[0091] 存儲單元將下行帶寬監(jiān)測單元3022獲得的下行總線的帶寬數(shù)據(jù)存儲到下行狀態(tài) 寄存器中,形成表2所示的記錄數(shù)據(jù),表2如下:
[0092] 表 2
[0094]存儲單元將內(nèi)部帶寬監(jiān)測單元3023獲得的各個內(nèi)部總線的帶寬數(shù)據(jù)存儲到內(nèi)部 狀態(tài)寄存器中,形成表3所示的記錄數(shù)據(jù),表3如下:
[0095]表 3
[0097] 步驟404:通過基板管理控制器BMC從NUMA芯片中對應(yīng)的狀態(tài)寄存器讀取帶寬數(shù) 據(jù)。
[0098]在本發(fā)明一個實施例中,讀取單元通過基板管理控制器BMC從NUMA芯片對應(yīng)的狀 態(tài)寄存器中實時讀取上行總線、下行總線及各個內(nèi)部總線的實時帶寬、峰值帶寬、谷值帶寬 及平均帶寬,實現(xiàn)對NUMA芯片中個部分帶寬的實時監(jiān)控。
[0099]需要說明的是,為了清楚的說明本發(fā)明實施例提供的NUMA芯片帶寬監(jiān)測的方法, 如圖1及圖4所示,將該方法劃分為多個步驟,在實際業(yè)務(wù)實現(xiàn)過程中,各個步驟之間沒有嚴 格的先后順序,比如步驟101、步驟102及步驟103可以同時執(zhí)行。
[0100] 本發(fā)明實施例提供的NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng),至少具有如下有益 效果:
[0101] 1、本發(fā)明實施例中,分別對NUMA芯片的上行總線、下行總線及內(nèi)部總線上的數(shù)據(jù) 流量進行監(jiān)測,獲得相對應(yīng)的上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)及各個內(nèi)部總線帶寬 數(shù)據(jù),其中,上行總線帶寬數(shù)據(jù)代表NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)膸捛?況,下行總線帶寬數(shù)據(jù)代表NUMA芯片與同一 NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)膸捛?況,內(nèi)部總線帶寬數(shù)據(jù)代表對應(yīng)NUMA芯片內(nèi)部各個功能模塊之間進行數(shù)據(jù)傳輸?shù)膸捛?況。通過將NUMA芯片的帶寬劃分為上行總線、下行總線及內(nèi)部總線,分別獲得三種不同類型 總線的帶寬,從而能夠確定NUMA芯片具體的帶寬情況。
[0102] 2、本發(fā)明實施例中,對上行總線、下行總線及各個內(nèi)部總線的帶寬進行監(jiān)測時,可 以獲得各個總線對應(yīng)的實時帶寬、峰值帶寬、谷值帶寬及平均帶寬,通過多個帶寬指標對各 個總線的帶寬情況進行表征,提高了對NUMA芯片帶寬進行監(jiān)測的準確性。
[0103] 3、本發(fā)明實施例中,對NUMA芯片進行帶寬監(jiān)測時,分別對上行總線、下行總線及各 個內(nèi)部總線的帶寬情況進行監(jiān)測,提高了對NUMA芯片帶寬進行監(jiān)控的全面性。
[0104] 4、本發(fā)明實施例中,通過基板管理控制去BMC可以實時從NUMA芯片對應(yīng)的狀態(tài)寄 存器中讀取所需的帶寬數(shù)據(jù),從而實現(xiàn)對NUMA芯片的帶寬性能進行實時監(jiān)控。
[0105] 5、本發(fā)明實施例中,通過對NUMA芯片各個總線的帶寬性能進行實時監(jiān)控,可以快 速對導致NUMA芯片帶寬降低的設(shè)計缺陷進行定位,從而提高對NUMA芯片進行調(diào)試的效率。 [0106]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
[0107]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體 或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在 任何這種實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非 排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固 有的要素。在沒有更多限制的情況下,由語句"包括一個......"限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0108]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光 盤等各種可以存儲程序代碼的介質(zhì)中。
[0109]最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技 術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、 等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【主權(quán)項】
1. 一種NUM芯片帶寬監(jiān)測的方法,其特征在于,包括: 對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線帶寬數(shù)據(jù),其中,所述上行總線為所述 NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€; 對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線帶寬數(shù)據(jù),其中,所述下行總線為所述 NUMA芯片與同一 NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)目偩€; 對所述NUMA芯片的各個內(nèi)部總線的數(shù)據(jù)流量進行監(jiān)測,獲得各個內(nèi)部總線對應(yīng)的內(nèi)部 總線帶寬數(shù)據(jù),其中,所述內(nèi)部總線為所述NUMA芯片內(nèi)部任意兩個功能模塊進行數(shù)據(jù)傳輸 的總線; 將所述上行總線帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)存儲到所述 NUMA芯片中對應(yīng)的狀態(tài)寄存器中。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述上行總線帶寬數(shù)據(jù)包括:所述上行總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶 寬中的任意一個或多個; 和/或, 所述下行總線帶寬數(shù)據(jù)包括:所述下行總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶 寬中的任意一個或多個; 和/或, 所述內(nèi)部總線帶寬數(shù)據(jù)包括:對應(yīng)內(nèi)部總線的實時帶寬、峰值帶寬、谷值帶寬及平均帶 寬中的任意一個或多個。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述實時帶寬包括:最近一秒鐘內(nèi)對應(yīng)總線傳輸有效數(shù)據(jù)的總量; 和/或, 所述峰值帶寬包括:監(jiān)控時間段內(nèi)對應(yīng)實時帶寬的最大值; 和/或, 所述谷值帶寬包括:監(jiān)控時間段內(nèi)對應(yīng)實時帶寬的非零最小值; 和/或, 所述平均帶寬包括:監(jiān)控時間段內(nèi)對應(yīng)的各個所述實時帶寬的平均值。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述有效數(shù)據(jù)的總量包括:對應(yīng)總線接收的有效數(shù)據(jù)的總量及該對應(yīng)總線發(fā)送的有效 數(shù)據(jù)的總量。5. 根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于,進一步包括: 通過基板管理控制器BMC從所述狀態(tài)寄存器中讀取所述上行總線帶寬數(shù)據(jù)、下行總線 帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)中的任意一個或多個,以對所述NUMA芯片進行帶寬性 能分析。6. -種NUMA芯片帶寬監(jiān)測的裝置,其特征在于,包括:上行帶寬監(jiān)測單元、下行帶寬監(jiān) 測單元、內(nèi)部帶寬監(jiān)測單元及存儲單元; 所述上行帶寬監(jiān)測單元,用于對上行總線的數(shù)據(jù)流量進行監(jiān)測,獲得上行總線帶寬數(shù) 據(jù),其中,所述上行總線為所述NUMA芯片與其他各個NUMA芯片進行數(shù)據(jù)傳輸?shù)目偩€; 所述下行帶寬監(jiān)測單元,用于對下行總線的數(shù)據(jù)流量進行監(jiān)測,獲得下行總線帶寬數(shù) 據(jù),其中,所述下行總線為所述NUMA芯片與同一NUMA節(jié)點中各個處理器進行數(shù)據(jù)傳輸?shù)目?線; 所述內(nèi)部帶寬監(jiān)測單元,用于對所述NUMA芯片內(nèi)部的各個內(nèi)部總線的數(shù)據(jù)流量進行監(jiān) 測,獲得各個內(nèi)部總線對應(yīng)的內(nèi)部總線帶寬數(shù)據(jù),其中,所述內(nèi)部總線為所述NUMA芯片內(nèi)部 任意兩個功能模塊進行數(shù)據(jù)傳輸?shù)目偩€; 所述存儲單元,用于將所述上行帶寬監(jiān)測單元獲得的上行總線帶寬數(shù)據(jù)、所述下行帶 寬監(jiān)測單元獲得的下行總線帶寬數(shù)據(jù)及所述內(nèi)部帶寬監(jiān)測單元獲得的各個內(nèi)部總線帶寬 數(shù)據(jù)存儲到所述NUM芯片中對應(yīng)的狀態(tài)寄存器中。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述上行帶寬監(jiān)測單元,用于根據(jù)所述上行總線的數(shù)據(jù)流量,獲得所述上行總線的實 時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一個或多個; 和/或, 所述下行帶寬監(jiān)測單元,用于根據(jù)所述下行總線的數(shù)據(jù)流量,獲得所述下行總線的實 時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一個或多個; 和/或, 所述內(nèi)部帶寬監(jiān)測單元,用于根據(jù)各個內(nèi)部總線的數(shù)據(jù)流量,獲得對應(yīng)內(nèi)部總線的實 時帶寬、峰值帶寬、谷值帶寬及平均帶寬中的任意一個或多個。8. 根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,進一步包括:讀取單元; 所述讀取單元,用于通過基板管理控制器BMC從所述狀態(tài)寄存器中讀取所述上行總線 帶寬數(shù)據(jù)、下行總線帶寬數(shù)據(jù)以及各個內(nèi)部總線帶寬數(shù)據(jù)中的任意一個或多個,以對所述 NUMA芯片的帶寬情況進行實時監(jiān)控。9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述上行帶寬監(jiān)測單元、下行帶寬監(jiān)測單元及內(nèi)部帶寬監(jiān)測單元中的任意一個或多個 包括帶寬統(tǒng)計邏輯電路。10. -種NUMA芯片帶寬監(jiān)測的系統(tǒng),其特征在于,包括:至少兩個NUMA節(jié)點及對應(yīng)數(shù)量 的權(quán)利要求6至9中任一所述的NUM芯片帶寬監(jiān)測的裝置; 所述NUMA節(jié)點中的處理器,用于通過各個所述NUMA節(jié)點中的NUMA芯片,訪問各個NUMA 節(jié)點的內(nèi)存中的數(shù)據(jù),以在所述上行總線、下行總線及內(nèi)部總線上產(chǎn)生數(shù)據(jù)流量。
【文檔編號】G06F11/30GK105912441SQ201610205856
【公開日】2016年8月31日
【申請日】2016年4月5日
【發(fā)明人】周恒釗, 劉璧怡
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司