智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的系統(tǒng)和方法
【專(zhuān)利摘要】提出一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的系統(tǒng)和方法,由系統(tǒng)中的監(jiān)控節(jié)點(diǎn)采集計(jì)算節(jié)點(diǎn)的硬件微架構(gòu)數(shù)據(jù)指標(biāo)和運(yùn)行的應(yīng)用程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo),并將所述數(shù)據(jù)指標(biāo)發(fā)送到系統(tǒng)中的監(jiān)控設(shè)備,由監(jiān)控設(shè)備執(zhí)行大數(shù)據(jù)分析,并將結(jié)果發(fā)送到用戶(hù)端設(shè)備顯示給用戶(hù)。所述系統(tǒng)和方法能夠采集計(jì)算節(jié)點(diǎn)微架構(gòu)數(shù)據(jù)指標(biāo)和運(yùn)行的應(yīng)用程序進(jìn)程數(shù)據(jù)指標(biāo),實(shí)現(xiàn)智能大數(shù)據(jù)分析,自動(dòng)定位發(fā)生故障的計(jì)算節(jié)點(diǎn)并提供故障原因。
【專(zhuān)利說(shuō)明】智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體涉及一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié) 點(diǎn)的系統(tǒng)和方法。
【背景技術(shù)】
[0002] 隨著人類(lèi)社會(huì)的不斷進(jìn)步,科學(xué)技術(shù)的發(fā)展,人們不但對(duì)自然界的認(rèn)識(shí)越來(lái)越廣 泛,而且對(duì)未知世界探索的需求也越來(lái)越迫切。這就使得人類(lèi)撐握的信息數(shù)據(jù)的量急劇性 的增長(zhǎng),而與此同時(shí),這些海量的信息數(shù)據(jù)都需要及時(shí)的分析和處理。例如,一個(gè)大型天文 射電望遠(yuǎn)鏡陣列一秒鐘就能產(chǎn)生100GB以上的宇宙微波數(shù)據(jù),這些數(shù)據(jù)都需要及時(shí)得到分 析;再如,在粒子物理研究領(lǐng)域,一臺(tái)大型強(qiáng)子對(duì)撞機(jī)一次對(duì)撞的數(shù)據(jù)也是以TB為單位來(lái) 計(jì)量的;此外,像人類(lèi)基因組工程、石油勘探、天氣預(yù)報(bào)等等領(lǐng)域也對(duì)計(jì)算能力提出了越來(lái) 越高的要求。在這種大背景下數(shù)值計(jì)算已然成為了除實(shí)驗(yàn)、理論分析之外的第三種極其重 要的科學(xué)探索手段。正是基于這樣的現(xiàn)實(shí),促使了當(dāng)今世界各個(gè)科技強(qiáng)國(guó)都在不遺余力的 大力發(fā)展超級(jí)計(jì)算機(jī)。如,在2013年12月發(fā)布的世界T0P500中,排名第一的中國(guó)"天河二 號(hào)(TH-2)"就已經(jīng)達(dá)到了 54.9PFlops的峰值速度,共使用了 16000余個(gè)計(jì)算節(jié)點(diǎn)。
[0003] 除此之外,隨著云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)等新型技術(shù)的發(fā)展,出現(xiàn)了越來(lái)越多的大 型數(shù)據(jù)中心,云計(jì)算中心。它們動(dòng)輒擁有數(shù)以萬(wàn)計(jì)的計(jì)算機(jī)節(jié)點(diǎn)。如谷歌(Google)位于美 國(guó)俄勒岡州的Dalles數(shù)據(jù)中心擁有約15萬(wàn)臺(tái)服務(wù)器節(jié)點(diǎn)。在這樣大規(guī)模的數(shù)據(jù)中心中, 計(jì)算節(jié)點(diǎn)的性能監(jiān)控,故障定位,故障恢復(fù),以及中心整體效率統(tǒng)計(jì)等等,都存在著前所未 有的挑戰(zhàn)。因此,如何高效的管理和利用一個(gè)大規(guī)模乃至超大規(guī)模的數(shù)據(jù)中心,是當(dāng)今世界 各國(guó)都在努力探索的一個(gè)熱門(mén)領(lǐng)域。
[0004] 長(zhǎng)期以來(lái),數(shù)據(jù)中心的監(jiān)控管理都是靠人工半自動(dòng)的方式來(lái)完成的。負(fù)責(zé)運(yùn)維的 人員需要實(shí)時(shí)的查看集群的運(yùn)行狀態(tài),一旦出現(xiàn)問(wèn)題,雖然有時(shí)可以定位節(jié)點(diǎn)位置,卻往往 不能準(zhǔn)確定位故障的設(shè)備,還需要費(fèi)時(shí)費(fèi)力通過(guò)工作人員的經(jīng)驗(yàn)來(lái)判斷、排障;集群的用戶(hù) 雖然可以通過(guò)眾多的作業(yè)調(diào)度軟件了解自己的作業(yè)情況,卻很少可以統(tǒng)計(jì)到作業(yè)的歷史分 析;再者集群的決策者往往無(wú)法直接從集群上得到有關(guān)費(fèi)用支出、使用效率、人員工作效 率、費(fèi)效比等有關(guān)決策的信息資料,只能通過(guò)對(duì)大量數(shù)據(jù)的人工分析來(lái)決策,費(fèi)時(shí)費(fèi)力。此 夕卜,應(yīng)用開(kāi)發(fā)人員也往往無(wú)法從集群上獲得優(yōu)化應(yīng)用軟件急需的硬件微架構(gòu)、系統(tǒng)進(jìn)程、堆 棧、模塊錯(cuò)誤崩潰統(tǒng)計(jì)等信息,需要憑經(jīng)驗(yàn)通過(guò)大量的實(shí)驗(yàn)得到,即費(fèi)時(shí)又費(fèi)力。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提出了一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的系統(tǒng)和方法,具有大 型化、多功能、面向多用戶(hù)群的特點(diǎn)。它擁有完善的智能分析和統(tǒng)計(jì)功能,可以為不同層次 用戶(hù)的決策提供數(shù)據(jù)參考依據(jù)。
[0006] 所述系統(tǒng),包括:安裝在數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)上的監(jiān)控節(jié)點(diǎn)、與各個(gè)監(jiān)控節(jié)點(diǎn)通 信的監(jiān)控設(shè)備、以及用戶(hù)終端設(shè)備,其特征在于:
[0007] 所述監(jiān)控節(jié)點(diǎn),用于通過(guò)獲得計(jì)算節(jié)點(diǎn)的硬件控制寄存器的控制權(quán),采集所述計(jì) 算節(jié)點(diǎn)的硬件微架構(gòu)數(shù)據(jù)指標(biāo),通過(guò)獲得操作系統(tǒng)內(nèi)核的控制權(quán),獲得與所述計(jì)算節(jié)點(diǎn)上 運(yùn)行的應(yīng)用程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo),并將所述數(shù)據(jù)指標(biāo)發(fā)送到監(jiān)控設(shè)備;
[0008] 所述監(jiān)控設(shè)備,用于接收所述數(shù)據(jù)指標(biāo),基于所述數(shù)據(jù)指標(biāo)執(zhí)行大數(shù)據(jù)分析,并將 所述分析的結(jié)果發(fā)送到用戶(hù)終端設(shè)備;
[0009] 所述用戶(hù)終端設(shè)備,用于接收所述結(jié)果并顯示給用戶(hù)。
[0010] 所述方法包括:
[0011] 啟動(dòng)安裝在計(jì)算節(jié)點(diǎn)中的監(jiān)控節(jié)點(diǎn);
[0012] 所述監(jiān)控節(jié)點(diǎn)通過(guò)獲得計(jì)算節(jié)點(diǎn)的硬件控制寄存器的控制權(quán),采集所述計(jì)算節(jié)點(diǎn) 的硬件微架構(gòu)數(shù)據(jù)指標(biāo),通過(guò)獲得操作系統(tǒng)內(nèi)核的控制權(quán),獲得與所述計(jì)算節(jié)點(diǎn)上運(yùn)行的 應(yīng)用程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo),并將所述數(shù)據(jù)指標(biāo)發(fā)送到監(jiān)控設(shè)備;
[0013] 所述監(jiān)控設(shè)備接收所述數(shù)據(jù)指標(biāo),基于所述數(shù)據(jù)指標(biāo)執(zhí)行大數(shù)據(jù)分析,并將所述 分析的結(jié)果發(fā)送到用戶(hù)終端設(shè)備;
[0014] 所述用戶(hù)終端設(shè)備接收所述結(jié)果并顯示給用戶(hù)。
[0015] 特別地,所述分析包括:根據(jù)所述數(shù)據(jù)指標(biāo)定位發(fā)生故障的計(jì)算節(jié)點(diǎn),以及確定故 障原因。
[0016] 特別地,所述硬件微架構(gòu)數(shù)據(jù)指標(biāo)包括CPU的實(shí)時(shí)浮點(diǎn)運(yùn)行速度、流SMD指令擴(kuò) 展集SSE單元利用率、高級(jí)向量擴(kuò)展集AVX單元利用率、向量指令向量化率、完成每條指令 所需的時(shí)鐘數(shù)CPI、最后一級(jí)緩存LLC命中率、內(nèi)存帶寬、PCI快速總線(xiàn)接口 PCI-E設(shè)備帶 寬、緩存命中/未命中率中的一種或多種的組合;所述與所述計(jì)算節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序 的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo)包括進(jìn)程切換次數(shù)、堆棧信息、堆內(nèi)存分配情況中的一種或多種的 組合。
[0017] 特別地,所述數(shù)據(jù)指標(biāo)為CPU的實(shí)時(shí)浮點(diǎn)運(yùn)行速度和/或完成每條指令所需的時(shí) 鐘數(shù)CPI,所述分析包括:當(dāng)所述數(shù)據(jù)指標(biāo)在預(yù)設(shè)時(shí)間段內(nèi)持續(xù)低于預(yù)設(shè)的閾值,則判斷處 理器發(fā)生故障,并確定故障的原因?yàn)樘幚砥鳟惓=殿l。
[0018] 特別地,所述監(jiān)控節(jié)點(diǎn)還采集由操作系統(tǒng)提供的CPU利用率、內(nèi)存利用率、本地磁 盤(pán)10數(shù)據(jù)和/或以太網(wǎng)吞吐量。
[0019] 特別地,其中所述計(jì)算節(jié)點(diǎn)的硬件控制寄存器為所述計(jì)算節(jié)點(diǎn)的處理器的性能監(jiān) 控單元PMU中的MSR控制寄存器。
[0020] 本發(fā)明的有益效果是:
[0021] 通過(guò)在各個(gè)計(jì)算節(jié)點(diǎn)的性能監(jiān)控裝置提取必要的系統(tǒng)級(jí)性能指標(biāo)信息,并發(fā)送由 監(jiān)控管理節(jié)點(diǎn)來(lái)負(fù)責(zé)維護(hù)。而監(jiān)控管理節(jié)點(diǎn),則具有異常的識(shí)別和報(bào)警能力,同時(shí)按用戶(hù)群 分別挖掘所記錄的歷史數(shù)據(jù),并將結(jié)果反饋給用戶(hù)。同時(shí),監(jiān)控管理節(jié)點(diǎn)還可以按需、按時(shí) 間段,對(duì)指定的監(jiān)控節(jié)點(diǎn)提取硬件微架構(gòu)特征及進(jìn)程、堆棧等方面的信息。從而實(shí)現(xiàn)對(duì)大規(guī) 模集群監(jiān)控的多用戶(hù)化、多功能化和智能化。
[0022] 為了實(shí)現(xiàn)監(jiān)控的實(shí)效性,各計(jì)算節(jié)點(diǎn)的監(jiān)控端實(shí)現(xiàn)了每秒刷新的監(jiān)控模式。同時(shí) 為了減少計(jì)算節(jié)點(diǎn)的資源占用,各計(jì)算節(jié)點(diǎn)僅提取用于數(shù)據(jù)分析所必須的最小指標(biāo)項(xiàng),包 括CPU利用率,內(nèi)存利用率,本地磁盤(pán)讀寫(xiě)以及以太網(wǎng)吞吐量等十?dāng)?shù)個(gè)指標(biāo)。
[0023] 為了實(shí)現(xiàn)多功能化,本智能監(jiān)控系統(tǒng)還提供了對(duì)硬件微架構(gòu)相關(guān)的指標(biāo)的監(jiān)控分 析,如浮點(diǎn)運(yùn)行速度,向量化率,內(nèi)存帶寬,IB帶寬等等。但由于這部分內(nèi)容在監(jiān)控時(shí)對(duì)系 統(tǒng)資源的占用相對(duì)較多,因此,它們根據(jù)用戶(hù)指令按需啟動(dòng)。
[0024] 為了實(shí)現(xiàn)多用戶(hù)化,本智能監(jiān)控系統(tǒng)提出了涵蓋管理層、運(yùn)維層、實(shí)際應(yīng)用用戶(hù)層 和應(yīng)用開(kāi)發(fā)層,四個(gè)層次的分級(jí)視圖。
[0025] 為了實(shí)現(xiàn)智能化,本智能監(jiān)控系統(tǒng)發(fā)明了一種數(shù)據(jù)挖掘的分析方法,它依據(jù)基本 的性能監(jiān)控?cái)?shù)據(jù)信息,通過(guò)計(jì)算挖掘出不同層次用戶(hù)最感興趣的統(tǒng)計(jì)指標(biāo)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0026] 圖1是本發(fā)明提出的一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群的系統(tǒng)框圖
[0027] 圖2是本發(fā)明提出的一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群的方法的流程圖
【具體實(shí)施方式】
[0028] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明做進(jìn)一 步地詳細(xì)描述。
[0029] 參見(jiàn)附圖1,示出了本發(fā)明提出的一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的 系統(tǒng),包括安裝在數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)上的監(jiān)控節(jié)點(diǎn)、與各個(gè)監(jiān)控節(jié)點(diǎn)連接的監(jiān)控設(shè)備、 以及用戶(hù)終端設(shè)備。其中數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)具有相應(yīng)的硬件設(shè)備,例如處理器CPU、內(nèi) 存、硬盤(pán)、以太網(wǎng)絡(luò)控制器等,在所述計(jì)算節(jié)點(diǎn)上運(yùn)行操作系統(tǒng)以及應(yīng)用軟件;監(jiān)控設(shè)備包 括主監(jiān)控節(jié)點(diǎn)和數(shù)據(jù)庫(kù),主監(jiān)控節(jié)點(diǎn)與安裝在上述計(jì)算節(jié)點(diǎn)上的各個(gè)監(jiān)控節(jié)點(diǎn)通信,能夠 獲得數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的硬件和軟件運(yùn)行數(shù)據(jù),例如CPU利用率、內(nèi)存利用率、本地磁 盤(pán)10數(shù)據(jù)、以太網(wǎng)吞吐量,以及針對(duì)該計(jì)算節(jié)點(diǎn)硬件的微架構(gòu)數(shù)據(jù)指標(biāo)和運(yùn)行的應(yīng)用程序 進(jìn)程級(jí)的數(shù)據(jù)指標(biāo)。主監(jiān)控節(jié)點(diǎn)將獲得的上述數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)中,自動(dòng)執(zhí)行大數(shù)據(jù)挖掘并 保存大數(shù)據(jù)挖掘后獲得的結(jié)果。用戶(hù)通過(guò)用戶(hù)端設(shè)備從數(shù)據(jù)庫(kù)中讀取結(jié)果并顯示。用戶(hù)還 可以通過(guò)用戶(hù)終端設(shè)備向監(jiān)控設(shè)備輸入用戶(hù)定義的數(shù)據(jù)挖掘程序,由監(jiān)控設(shè)備提取數(shù)據(jù)中 心集群節(jié)點(diǎn)的相應(yīng)數(shù)據(jù)指標(biāo),按照用戶(hù)定義的數(shù)據(jù)挖掘程序執(zhí)行大數(shù)據(jù)挖掘并向用戶(hù)顯示 結(jié)果。
[0030] 參見(jiàn)附圖2,本發(fā)明提出的一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的方法由 數(shù)據(jù)采集、大數(shù)據(jù)挖掘、分級(jí)展示、以及故障定位和報(bào)警等幾個(gè)主要步驟組成。其中數(shù)據(jù)采 集包括基本數(shù)據(jù)采集和高級(jí)數(shù)據(jù)采集,基本數(shù)據(jù)采集由系統(tǒng)自動(dòng)執(zhí)行,無(wú)需用戶(hù)設(shè)置;高級(jí) 數(shù)據(jù)采集需要按照用戶(hù)意愿設(shè)置。
[0031] 1.數(shù)據(jù)采集
[0032] 數(shù)據(jù)采集是指在數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)上安裝監(jiān)控節(jié)點(diǎn),提取該計(jì)算節(jié)點(diǎn)的CPU 利用率、內(nèi)存利用率、本地磁盤(pán)10數(shù)據(jù)、以太網(wǎng)吞吐量,以及針對(duì)該計(jì)算節(jié)點(diǎn)硬件的微架構(gòu) 數(shù)據(jù)指標(biāo)和運(yùn)行的應(yīng)用程序進(jìn)程級(jí)的數(shù)據(jù)指標(biāo)。其中,針對(duì)計(jì)算節(jié)點(diǎn)硬件的微架構(gòu)數(shù)據(jù)指 標(biāo)和應(yīng)用程序進(jìn)程級(jí)的數(shù)據(jù)指標(biāo)的采集稱(chēng)為高級(jí)數(shù)據(jù)采集,其余指標(biāo)的采集稱(chēng)為基本數(shù)據(jù) 采集?;緮?shù)據(jù)采集為系統(tǒng)默認(rèn)設(shè)置的步驟,無(wú)需用戶(hù)干預(yù)即可執(zhí)行,高級(jí)數(shù)據(jù)采集根據(jù)用 戶(hù)需求而設(shè)置執(zhí)行。由于需要保證性能指標(biāo)數(shù)據(jù)的實(shí)效性,監(jiān)控節(jié)點(diǎn)必須滿(mǎn)足秒級(jí)刷新的 采集能力,同時(shí)必須保證極低的計(jì)算節(jié)點(diǎn)資源占用率。
[0033] 本發(fā)明提出的數(shù)據(jù)采集方法不同于現(xiàn)有技術(shù)中提出的方法。在現(xiàn)有技術(shù)中,數(shù)據(jù) 采集僅僅是收集操作系統(tǒng)本身提供的一些指標(biāo)數(shù)據(jù),即數(shù)據(jù)指標(biāo)的采集依賴(lài)于計(jì)算節(jié)點(diǎn)上 運(yùn)行的操作系統(tǒng),對(duì)于操作系統(tǒng)無(wú)法提供的數(shù)據(jù)指標(biāo),監(jiān)控節(jié)點(diǎn)無(wú)法獲得。而本發(fā)明所提出 的數(shù)據(jù)采集方法,不僅僅能完成上述由操作系統(tǒng)提供的數(shù)據(jù)指標(biāo)的采集,還可以采集一些 硬件微架構(gòu)數(shù)據(jù)指標(biāo),例如CPU的實(shí)時(shí)浮點(diǎn)運(yùn)行速度、流SIMD指令擴(kuò)展集SSE(Streaming SIMD Extensions)單兀利用率、高級(jí)向量擴(kuò)展集 AVX (Advanced Vector Extensios)單兀 利用率、向量指令向量化率、完成每條指令所需的時(shí)鐘數(shù)(CPI)、最后一級(jí)緩存LLC(Last Level Cache)命中率、轉(zhuǎn)換后備緩沖器 TLB(Translation Lookaside Buffer)參數(shù)、內(nèi)存 帶寬、PCI快速總線(xiàn)接口 PCI-E(PCI Express)設(shè)備帶寬、緩存命中/未命中(cache hit/ miss)率、TLB單元等等。此外,還可以采集一些應(yīng)用程序進(jìn)程級(jí)的數(shù)據(jù)指標(biāo),如進(jìn)程切換次 數(shù)、堆棧信息、堆內(nèi)存分配情況等等。這些指標(biāo)對(duì)于挖掘應(yīng)用軟件的性能、分析集群特性和 定位軟件級(jí)故障具有十分重要的意義。
[0034] 由于需要采集硬件和進(jìn)程級(jí)數(shù)據(jù)指標(biāo),因此本發(fā)明提出的監(jiān)控節(jié)點(diǎn)通過(guò)軟件客戶(hù) 端的方式實(shí)現(xiàn)。所述監(jiān)控節(jié)點(diǎn)對(duì)基本數(shù)據(jù)的采集同現(xiàn)有技術(shù)提出的方法,在此不再贅述,對(duì) 高級(jí)數(shù)據(jù)采集的過(guò)程具體介紹如下:
[0035] 對(duì)上述硬件微架構(gòu)數(shù)據(jù)指標(biāo)的提取需要通過(guò)對(duì)硬件中相關(guān)寄存器的控制來(lái)實(shí)現(xiàn)。 如,對(duì)于處理器微架構(gòu)數(shù)據(jù)指標(biāo),主要是通過(guò)對(duì)處理器中的性能監(jiān)控單元PMU (Performance Monitoring Unit)進(jìn)行控制來(lái)實(shí)現(xiàn)。因此,這就要求本案的監(jiān)控節(jié)點(diǎn)擁有最高的root權(quán) 限。對(duì)PMU的控制流程介紹如下:
[0036] S1 :獲取計(jì)算節(jié)點(diǎn)的處理器的PMU中的MSR(Module Specific Register)控制寄存 器的控制權(quán);
[0037] S2 :將相關(guān)事件的編碼和掩碼寫(xiě)入已控制的MSR控制寄存器中,并設(shè)置該控制寄 存器,開(kāi)始對(duì)相關(guān)事件計(jì)數(shù),例如,當(dāng)采集LLC命中率數(shù)據(jù)指標(biāo)時(shí),先將LLC命中率的編碼和 掩碼寫(xiě)入MSR控制寄存器中,然后設(shè)置該寄存器開(kāi)始計(jì)數(shù)LLC命中數(shù)量,計(jì)數(shù)結(jié)束后讀取該 控制寄存器中的計(jì)數(shù)數(shù)量,統(tǒng)計(jì)LLC命中率。
[0038] 對(duì)系統(tǒng)內(nèi)核級(jí)指標(biāo)的提取需要對(duì)內(nèi)核中相關(guān)代碼的監(jiān)控來(lái)實(shí)現(xiàn)。例如對(duì)進(jìn)程切換 的監(jiān)控,需要監(jiān)控內(nèi)核中有關(guān)進(jìn)程管理部分的代碼中控制進(jìn)程的部分。當(dāng)計(jì)算節(jié)點(diǎn)啟動(dòng),內(nèi) 核成功加載后即開(kāi)始監(jiān)控。因此,監(jiān)控節(jié)點(diǎn)必須擁有對(duì)內(nèi)核級(jí)的控制權(quán)。對(duì)系統(tǒng)內(nèi)核級(jí)指 標(biāo)的提取可能會(huì)稍微影響系統(tǒng)的性能,因此可針對(duì)監(jiān)控的場(chǎng)合按需提供。
[0039] 2.大數(shù)據(jù)挖掘和分級(jí)展示
[0040] 上述安裝在計(jì)算節(jié)點(diǎn)中的監(jiān)控節(jié)點(diǎn)還具有向監(jiān)控設(shè)備發(fā)送數(shù)據(jù)的能力,由監(jiān)控設(shè) 備統(tǒng)一接收和管理各個(gè)監(jiān)控節(jié)點(diǎn)。監(jiān)控設(shè)備中的主監(jiān)控節(jié)點(diǎn)負(fù)責(zé)從各個(gè)監(jiān)控節(jié)點(diǎn)接收采集 的數(shù)據(jù)指標(biāo),以及向各個(gè)監(jiān)控節(jié)點(diǎn)發(fā)送控制命令,所述控制命令包括所述系統(tǒng)默認(rèn)產(chǎn)生的 基本數(shù)據(jù)采集命令,以及根據(jù)用戶(hù)設(shè)置而產(chǎn)生的高級(jí)數(shù)據(jù)采集命令,所述各個(gè)監(jiān)控節(jié)點(diǎn)根 據(jù)所述控制命令執(zhí)行相應(yīng)數(shù)據(jù)指標(biāo)的采集。同時(shí)主監(jiān)控節(jié)點(diǎn)還負(fù)責(zé)將接收的所述數(shù)據(jù)指標(biāo) 按一定的存儲(chǔ)格式存入數(shù)據(jù)庫(kù)中,作為下一步數(shù)據(jù)挖掘的輸入數(shù)據(jù)。
[0041] 為了實(shí)現(xiàn)智能化,監(jiān)控設(shè)備還具有大數(shù)據(jù)挖掘能力,它根據(jù)預(yù)設(shè)統(tǒng)計(jì)設(shè)置對(duì)數(shù)據(jù) 庫(kù)中保存的數(shù)據(jù)指標(biāo)進(jìn)行大數(shù)據(jù)處理,并按照預(yù)設(shè)的分級(jí)展示方案,分別為不同的用戶(hù)提 供數(shù)據(jù)統(tǒng)計(jì)和分析結(jié)果。此外,監(jiān)控設(shè)備還具有用戶(hù)接口,可以接收用戶(hù)自定義的數(shù)據(jù)挖掘 算法,并按照所述數(shù)據(jù)挖掘算法執(zhí)行數(shù)據(jù)挖掘。所述預(yù)設(shè)的統(tǒng)計(jì)設(shè)置包括:
[0042] -、管理層用戶(hù)群指標(biāo)
[0043] 1.生產(chǎn)速率(任務(wù)通量)
[0044] a.實(shí)時(shí)運(yùn)行任務(wù)、應(yīng)用數(shù)
[0045] b. -周(月、年)內(nèi),每天完成(失?。┑娜蝿?wù)數(shù)【列圖、表】
[0046] c. 一周(月、年)內(nèi),平均每天完成(失敗)任務(wù)數(shù)
[0047] d. -周(月、年)內(nèi),總完成(失?。┤蝿?wù)數(shù)
[0048] e.每任務(wù)時(shí)間
[0049] 2.運(yùn)維成本(能耗)(計(jì)算、存儲(chǔ)、交換、機(jī)房【制冷】)
[0050] a.實(shí)時(shí)總功耗
[0051] b. -周(月、年)內(nèi),每天能耗(KW/h)【列圖、表】
[0052] c. 一周(月、年)內(nèi),平均每天能耗(KW/h)
[0053] d. 一周(月、年)內(nèi),總能耗(KW/h)
[0054] e.設(shè)備折舊、機(jī)房整體折舊費(fèi)用監(jiān)控、及各費(fèi)用單元間比值統(tǒng)計(jì)、單位費(fèi)用作業(yè)完 成量
[0055] 3.資產(chǎn)利用效率
[0056] a. -周(月、年)內(nèi),每天集群占空比 [0057] b. -周(月、年)內(nèi),平均每天集群占空比
[0058] c. 一周(月、年)內(nèi),每天集群繁忙時(shí)段(計(jì)算每小時(shí)集群占空比)
[0059] d. -周(月、年)內(nèi),平均繁忙時(shí)段(24小時(shí)時(shí)段上的年平均占空比)
[0060] e.實(shí)時(shí)在線(xiàn)用戶(hù)數(shù)(特定授權(quán)、查看人員信息)
[0061] f. 一周(月、年)內(nèi),每天在線(xiàn)用戶(hù)數(shù)【列圖、表】
[0062] g. -周(月、年)內(nèi),平均每天在線(xiàn)用戶(hù)數(shù)
[0063] L 一周(月、年)內(nèi),每天平均用戶(hù)完成任務(wù)數(shù)
[0064] i. 一周(月、年)內(nèi),平均每用戶(hù)完成任務(wù)數(shù)
[0065] 4.設(shè)備健康度
[0066] a.實(shí)時(shí)故障節(jié)點(diǎn)數(shù)、故障率
[0067] b. -周(月、年)內(nèi),每天故障節(jié)點(diǎn)數(shù)、故障率【列圖、表】
[0068] c. 一周(月、年)內(nèi),平均每天故障節(jié)點(diǎn)數(shù)、故障率 [0069] 二、集群設(shè)備管理維護(hù)人員用戶(hù)群指標(biāo)
[0070] 1.故障報(bào)警及定位 [0071] a.實(shí)時(shí)故障節(jié)點(diǎn)數(shù)、故障率
[0072] b. -周(月、年)內(nèi),每天故障節(jié)點(diǎn)記錄、故障率【列圖、表】
[0073] c. 一周(月、年)內(nèi),平均每節(jié)點(diǎn)故障次數(shù),每節(jié)點(diǎn)故障率(統(tǒng)計(jì)易故障節(jié)點(diǎn)) [0074] d.故障節(jié)點(diǎn)實(shí)時(shí)定位 [0075] e.故障節(jié)點(diǎn)實(shí)時(shí)報(bào)警
[0076] f.故障、失效節(jié)點(diǎn)失效類(lèi)型分級(jí):可聯(lián)接、不可聯(lián)接、掉電等等
[0077] g.對(duì)可聯(lián)接故障準(zhǔn)確定位故障設(shè)備:故障盤(pán)位置、掉內(nèi)存(位置)等等
[0078] 2.設(shè)備運(yùn)行狀態(tài)查看
[0079] a.集群整體實(shí)時(shí)CPU利用率、集中存儲(chǔ)10帶寬
[0080] b. -周(月、年)內(nèi),每天集群整體平均CPU利用率、平均集中存儲(chǔ)10帶寬
[0081] C. 一周(月、年)內(nèi),集群整體平均CPU利用率、平均集中存儲(chǔ)10帶寬
[0082] d.可實(shí)時(shí)查看每節(jié)點(diǎn)運(yùn)行狀態(tài):CPU、內(nèi)存、本地磁盤(pán)、網(wǎng)絡(luò)等等指標(biāo)
[0083] e.可歷史查詢(xún)一年內(nèi)所有節(jié)點(diǎn)每天運(yùn)行姿態(tài)
[0084] f.資源瓶頸分析(CPU、存儲(chǔ)、內(nèi)存、網(wǎng)絡(luò)【區(qū)分存儲(chǔ),數(shù)據(jù)交換】)
[0085] 3.計(jì)費(fèi)功能
[0086] a.用戶(hù)機(jī)時(shí)統(tǒng)計(jì)
[0087] 三、任務(wù)用戶(hù)群指標(biāo)
[0088] 1.當(dāng)前任務(wù)信息
[0089] a.當(dāng)前任務(wù)使用的節(jié)點(diǎn)數(shù)、核數(shù)、占用的內(nèi)存容量等等
[0090] b.可查看當(dāng)前任務(wù)所使用的節(jié)點(diǎn)數(shù)的狀態(tài)信息:CPU、內(nèi)存、本地磁盤(pán)、網(wǎng)絡(luò)等等
[0091] c.當(dāng)前排隊(duì)的任務(wù)數(shù)
[0092] d.當(dāng)前任務(wù)排隊(duì)時(shí)間
[0093] 2.歷史任務(wù)統(tǒng)計(jì)
[0094] a.該用戶(hù)歷史任務(wù)運(yùn)行時(shí)間
[0095] b.該用戶(hù)歷史平均任務(wù)運(yùn)行時(shí)間 [0096] c.該用戶(hù)完成(失效)的歷史任務(wù)數(shù) [0097] d.任務(wù)成功率(成功任務(wù)數(shù)/失效任務(wù)數(shù))
[0098] e.該用戶(hù)歷史任務(wù)使用的節(jié)點(diǎn)數(shù)、核數(shù)
[0099] f.該用戶(hù)平均歷史任務(wù)使用的節(jié)點(diǎn)數(shù)、核數(shù) [0100] g.歷史任務(wù)平均排隊(duì)時(shí)間
[0101] 四、應(yīng)用軟件研發(fā)人員用戶(hù)群指標(biāo)
[0102] 1.程序(模塊)使用信息統(tǒng)計(jì)
[0103] a. -周(月、年)內(nèi),每天處理(失效)的模塊總數(shù)
[0104] b. -周(月、年)內(nèi),模塊失效率
[0105] c. -周(月、年)內(nèi),模塊使用熱度統(tǒng)計(jì)、排名,及每個(gè)模塊的使用次數(shù)占比
[0106] d. -周(月、年)內(nèi),失效模塊熱度統(tǒng)計(jì)、排名,及每個(gè)失效模塊的失效次數(shù)占比
[0107] 2.性能追蹤指標(biāo)
[0108] a.所有應(yīng)用層面的服務(wù)(數(shù)據(jù)庫(kù)、文件系統(tǒng)、作業(yè)調(diào)度、中間加速層、并行框架等) 的負(fù)載情況
[0109] b.微架構(gòu)級(jí)的信息:cache hit/miss 率、TLB
[0110] C.操作系統(tǒng)級(jí)的信息:進(jìn)程數(shù)、進(jìn)程切換、堆棧、堆內(nèi)存分配情況等等。
[0111] 3.用戶(hù)使用習(xí)慣的統(tǒng)計(jì)
[0112] a.交互應(yīng)用的訪(fǎng)問(wèn)數(shù)據(jù)的延遲、駐留時(shí)間、I/O訪(fǎng)問(wèn)模式等
[0113] 最后,將監(jiān)控設(shè)備已經(jīng)按上述內(nèi)容挖掘的統(tǒng)計(jì)分析信息,按指定的用戶(hù)層分別展 示到用戶(hù)端設(shè)備。
[0114] 本發(fā)明的實(shí)施方式中的數(shù)據(jù)挖掘是按用戶(hù)的類(lèi)型來(lái)區(qū)分的。發(fā)明中已列出的挖掘 項(xiàng)是充分分析了相關(guān)類(lèi)型用戶(hù)的具體需求和關(guān)注點(diǎn)后總結(jié)的。而這類(lèi)指標(biāo)在通常的監(jiān)控里 是沒(méi)有的,需要人為的將數(shù)據(jù)導(dǎo)出分析,而本發(fā)明提出的實(shí)施方式是智能化、自動(dòng)完成的。 此外,本發(fā)明提出的實(shí)施方式還設(shè)計(jì)有預(yù)留的由用戶(hù)自定義的數(shù)據(jù)挖掘接口,可執(zhí)行用戶(hù) 定義的數(shù)據(jù)挖掘程序。
[0115] 3.故障定位和報(bào)警
[0116] 通過(guò)上述數(shù)據(jù)挖掘分析,能夠獲得計(jì)算節(jié)點(diǎn)的設(shè)備當(dāng)前工作性能指標(biāo),根據(jù)所述 工作性能指標(biāo)可以分析設(shè)備是否發(fā)生故障以及發(fā)生故障的原因。一方面能夠?qū)㈠e(cuò)誤信息通 過(guò)用戶(hù)端設(shè)備的智能展示模塊展示給特定的用戶(hù),另一方面,可以在用戶(hù)客端設(shè)備安裝故 障報(bào)警模塊,例如安裝一定的音響設(shè)備、燈光設(shè)備等,以在設(shè)備失效時(shí)發(fā)出警報(bào)信息,從而 提醒維護(hù)人員快速關(guān)注故障設(shè)備,快速完成設(shè)備故障排除。
[0117] 設(shè)備或應(yīng)用軟件的故障異常情況能夠根據(jù)統(tǒng)計(jì)的性能數(shù)據(jù)指標(biāo)來(lái)反映。為了簡(jiǎn)單 易用本發(fā)明是通過(guò)分析性能數(shù)據(jù)指標(biāo)的異常來(lái)定位故障的,特別是一些性能方面的故障, 是無(wú)法通過(guò)慣常的方法排除的。比如,集群的散熱不好,可能會(huì)導(dǎo)致處理器的降頻運(yùn)行,這 個(gè)時(shí)候按正常的故障監(jiān)控手段是不會(huì)報(bào)警的,但采用本發(fā)明提出的方法,由于收集有處理 器微架構(gòu)數(shù)據(jù)指標(biāo),可以實(shí)時(shí)的監(jiān)控處理器完成的浮點(diǎn)運(yùn)行速度、以及完成每條指令所需 的時(shí)鐘數(shù)CPI,所以當(dāng)在被監(jiān)控節(jié)點(diǎn)重負(fù)載時(shí)而這兩項(xiàng)指標(biāo)在一個(gè)較長(zhǎng)的時(shí)間內(nèi)持續(xù)低于 預(yù)設(shè)的閾值,則由監(jiān)控設(shè)備判斷出故障發(fā)生并智能報(bào)警,同時(shí)也就定位了故障發(fā)生的原因, 即處理器非正常降頻。
[0118] 當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟 悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1. 一種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的系統(tǒng),包括安裝在數(shù)據(jù)中心集群計(jì)算 節(jié)點(diǎn)上的監(jiān)控節(jié)點(diǎn)、與各個(gè)監(jiān)控節(jié)點(diǎn)通信的監(jiān)控設(shè)備、以及用戶(hù)終端設(shè)備,其特征在于: 所述監(jiān)控節(jié)點(diǎn),用于通過(guò)獲得計(jì)算節(jié)點(diǎn)的硬件控制寄存器的控制權(quán),采集所述計(jì)算節(jié) 點(diǎn)的硬件微架構(gòu)數(shù)據(jù)指標(biāo),通過(guò)獲得操作系統(tǒng)內(nèi)核的控制權(quán),獲得與所述計(jì)算節(jié)點(diǎn)上運(yùn)行 的應(yīng)用程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo),并將所述數(shù)據(jù)指標(biāo)發(fā)送到監(jiān)控設(shè)備; 所述監(jiān)控設(shè)備,用于接收所述數(shù)據(jù)指標(biāo),基于所述數(shù)據(jù)指標(biāo)執(zhí)行大數(shù)據(jù)分析,并將所述 分析的結(jié)果發(fā)送到用戶(hù)終端設(shè)備; 所述用戶(hù)終端設(shè)備,用于接收所述結(jié)果并顯示給用戶(hù)。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述分析包括:根據(jù)所述數(shù)據(jù)指標(biāo)定位發(fā)生 故障的計(jì)算節(jié)點(diǎn),以及確定故障原因。
3. 如權(quán)利要求1或2所述的系統(tǒng),其特征在于:所述硬件微架構(gòu)數(shù)據(jù)指標(biāo)包括CPU的 實(shí)時(shí)浮點(diǎn)運(yùn)行速度、流SMD指令擴(kuò)展集SSE單元利用率、高級(jí)向量擴(kuò)展集AVX單元利用率、 向量指令向量化率、完成每條指令所需的時(shí)鐘數(shù)CPI、最后一級(jí)緩存LLC命中率、內(nèi)存帶寬、 PCI快速總線(xiàn)接口 PCI-E設(shè)備帶寬、緩存命中/未命中率中的一種或多種的組合;所述與所 述計(jì)算節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo)包括進(jìn)程切換次數(shù)、堆棧信息、堆內(nèi) 存分配情況中的一種或多種的組合。
4. 如權(quán)利要求3所述的系統(tǒng),其特征在于:所述數(shù)據(jù)指標(biāo)為CPU的實(shí)時(shí)浮點(diǎn)運(yùn)行速度 和/或完成每條指令所需的時(shí)鐘數(shù)CPI,所述分析包括:當(dāng)所述數(shù)據(jù)指標(biāo)在預(yù)設(shè)時(shí)間段內(nèi)持 續(xù)低于預(yù)設(shè)的閾值,則判斷處理器發(fā)生故障,并確定故障的原因?yàn)樘幚砥鳟惓=殿l。
5. 如權(quán)利要求1所述的系統(tǒng),其特征在于:所述監(jiān)控節(jié)點(diǎn)還采集由操作系統(tǒng)提供的CPU 利用率、內(nèi)存利用率、本地磁盤(pán)10數(shù)據(jù)和/或以太網(wǎng)吞吐量。
6. 如權(quán)利要求1所述的系統(tǒng),其特征在于:其中所述計(jì)算節(jié)點(diǎn)的硬件控制寄存器為所 述計(jì)算節(jié)點(diǎn)的處理器的性能監(jiān)控單元PMU中的MSR控制寄存器。
7. -種智能監(jiān)控大規(guī)模數(shù)據(jù)中心集群計(jì)算節(jié)點(diǎn)的方法,其特征在于: 啟動(dòng)安裝在計(jì)算節(jié)點(diǎn)中的監(jiān)控節(jié)點(diǎn); 所述監(jiān)控節(jié)點(diǎn)通過(guò)獲得計(jì)算節(jié)點(diǎn)的硬件控制寄存器的控制權(quán),采集所述計(jì)算節(jié)點(diǎn)的硬 件微架構(gòu)數(shù)據(jù)指標(biāo),通過(guò)獲得操作系統(tǒng)內(nèi)核的控制權(quán),獲得與所述計(jì)算節(jié)點(diǎn)上運(yùn)行的應(yīng)用 程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo),并將所述數(shù)據(jù)指標(biāo)發(fā)送到監(jiān)控設(shè)備; 所述監(jiān)控設(shè)備接收所述數(shù)據(jù)指標(biāo),基于所述數(shù)據(jù)指標(biāo)執(zhí)行大數(shù)據(jù)分析,并將所述分析 的結(jié)果發(fā)送到用戶(hù)終端設(shè)備; 所述用戶(hù)終端設(shè)備接收所述結(jié)果并顯示給用戶(hù)。
8. 如權(quán)利要求7所述的方法,其特征在于,所述分析包括:根據(jù)所述數(shù)據(jù)指標(biāo)定位發(fā)生 故障的計(jì)算節(jié)點(diǎn),以及確定故障原因。
9. 如權(quán)利要求7或8所述的方法,其特征在于:所述硬件微架構(gòu)數(shù)據(jù)指標(biāo)包括CPU的 實(shí)時(shí)浮點(diǎn)運(yùn)行速度、流SMD指令擴(kuò)展集SSE單元利用率、高級(jí)向量擴(kuò)展集AVX單元利用率、 向量指令向量化率、完成每條指令所需的時(shí)鐘數(shù)CPI、最后一級(jí)緩存LLC命中率、內(nèi)存帶寬、 PCI快速總線(xiàn)接口 PCI-E設(shè)備帶寬、緩存命中/未命中率中的一種或多種的組合;所述與所 述計(jì)算節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序的進(jìn)程相關(guān)的數(shù)據(jù)指標(biāo)包括進(jìn)程切換次數(shù)、堆棧信息、堆內(nèi) 存分配情況中的一種或多種的組合。
10. 如權(quán)利要求9所述的系統(tǒng),其特征在于:所述數(shù)據(jù)指標(biāo)為CPU的實(shí)時(shí)浮點(diǎn)運(yùn)行速度 和/或完成每條指令所需的時(shí)鐘數(shù)CPI,所述分析包括:當(dāng)所述數(shù)據(jù)指標(biāo)在預(yù)設(shè)時(shí)間段內(nèi)持 續(xù)低于預(yù)設(shè)的閾值,則判斷處理器發(fā)生故障,并確定故障的原因?yàn)樘幚砥鳟惓=殿l。
11. 如權(quán)利要求10所述的方法,其特征在于:所述監(jiān)控節(jié)點(diǎn)還采集由操作系統(tǒng)提供的 (PU利用率、內(nèi)存利用率、本地磁盤(pán)10數(shù)據(jù)和/或以太網(wǎng)吞吐量。
12. 如權(quán)利要求11所述的方法,其特征在于:其中所述計(jì)算節(jié)點(diǎn)的硬件控制寄存器為 所述計(jì)算節(jié)點(diǎn)的處理器的性能監(jiān)控單元PMU中的MSR控制寄存器。
【文檔編號(hào)】G06F11/30GK104156296SQ201410377856
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2014年8月1日 優(yōu)先權(quán)日:2014年8月1日
【發(fā)明者】劉羽, 呂文靜, 金蓮, 陳博文, 于濤 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司