亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法、裝置及高性能計(jì)算系統(tǒng)與流程

文檔序號(hào):12747911閱讀:220來(lái)源:國(guó)知局
監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法、裝置及高性能計(jì)算系統(tǒng)與流程

本發(fā)明涉及云計(jì)算領(lǐng)域,尤其涉及監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法、裝置及高性能計(jì)算系統(tǒng)。



背景技術(shù):

在例如高性能計(jì)算等云計(jì)算領(lǐng)域中,用戶通常將待執(zhí)行的應(yīng)用(例如高性能計(jì)算的一項(xiàng)計(jì)算作業(yè))分配到服務(wù)器集群中一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)來(lái)執(zhí)行。目前,執(zhí)行計(jì)算應(yīng)用的硬件性能越來(lái)越高,這極大提高了對(duì)作業(yè)的執(zhí)行效率。另外,在一項(xiàng)作業(yè)被提交到服務(wù)器集群后,用戶還需要了解關(guān)于該作業(yè)的執(zhí)行情況。

現(xiàn)有的作業(yè)管理系統(tǒng)通常只能查詢關(guān)于應(yīng)用的總體運(yùn)行狀態(tài)(即,退出、掛起、排隊(duì)和運(yùn)行)。換言之,現(xiàn)有的作業(yè)管理系統(tǒng)并不能監(jiān)測(cè)應(yīng)用執(zhí)行性能。

因此,本發(fā)明提供一種新的監(jiān)測(cè)應(yīng)用執(zhí)行性能的技術(shù)方案。



技術(shù)實(shí)現(xiàn)要素:

為此,本發(fā)明提供一種新的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方案,有效的解決了上面至少一個(gè)問(wèn)題。

根據(jù)本發(fā)明的一個(gè)方面,提供一種監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法,適于在計(jì)算設(shè)備中執(zhí)行。該應(yīng)用適于在服務(wù)器集群中執(zhí)行。該服務(wù)器集群包括多個(gè)計(jì)算節(jié)點(diǎn)。每個(gè)計(jì)算節(jié)點(diǎn)包括一個(gè)或多個(gè)適于被進(jìn)程占用的計(jì)算單元。該方法包括下述步驟。獲取與執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)列表?;谠摴?jié)點(diǎn)列表,獲取執(zhí)行應(yīng)用的每個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的進(jìn)程列表和函數(shù)列表。基于所獲取的每個(gè)進(jìn)程列表,提取其中與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)。從每個(gè)關(guān)聯(lián)的進(jìn)程對(duì)應(yīng)的函數(shù)列表中,提取與該進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng)。根據(jù)所提取與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)和與每個(gè)提取的進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng),監(jiān)測(cè)應(yīng)用的執(zhí)行性能。

可選地,在根據(jù)本發(fā)明的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法中,進(jìn)程項(xiàng)包括下述中至少一部分:進(jìn)程標(biāo)識(shí)、進(jìn)程名稱、進(jìn)程狀態(tài)、對(duì)所占用的計(jì)算單元的使用率、內(nèi)存使用量、內(nèi)存占用率、進(jìn)程持續(xù)時(shí)間、父進(jìn)程標(biāo)識(shí)、所占用的計(jì)算單元的標(biāo)識(shí)、交換區(qū)(swap)的使用量和進(jìn)程創(chuàng)建時(shí)間。函數(shù)項(xiàng)包括:函數(shù)名稱、該函數(shù)所屬的執(zhí)行模塊的名稱、單位時(shí)間內(nèi)對(duì)該函數(shù)累計(jì)的采樣次數(shù)、和該函數(shù)的采樣次數(shù)占執(zhí)行該函數(shù)的進(jìn)程所在的計(jì)算節(jié)點(diǎn)在該單位時(shí)間內(nèi)對(duì)函數(shù)采樣的總次數(shù)的比例。

可選地,根據(jù)本發(fā)明的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法還包括獲取執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài),其中,每個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)包括下述中至少一種:內(nèi)存使用量超過(guò)第一閾值并使用交換區(qū)(swap),代碼向量化(VEC)比率低于第二閾值,指令集執(zhí)行(AVX)比率低于第三閾值,CPU使用率超過(guò)第四閾值且浮點(diǎn)運(yùn)算速率(Gflops)低于第五閾值。

在獲取到執(zhí)行應(yīng)用的任一個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)時(shí),根據(jù)本發(fā)明的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法還包括根據(jù)所提取與所述應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)和與每個(gè)提取的進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng),判斷引起該計(jì)算節(jié)點(diǎn)運(yùn)行異常的進(jìn)程項(xiàng)和函數(shù)項(xiàng),以便定位應(yīng)用的性能瓶頸。

可選地,在根據(jù)本發(fā)明的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法中,從每個(gè)關(guān)聯(lián)的進(jìn)程項(xiàng)所占用的計(jì)算單元所對(duì)應(yīng)的函數(shù)列表中,提取與該進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng)的步驟包括:根據(jù)進(jìn)程項(xiàng)的進(jìn)程標(biāo)識(shí),從所對(duì)應(yīng)的函數(shù)列表中提取與該進(jìn)程名稱相關(guān)聯(lián)的函數(shù)項(xiàng)。服務(wù)器集群為高性能計(jì)算集群。

根據(jù)本發(fā)明的又一個(gè)方面,提供一種監(jiān)測(cè)應(yīng)用執(zhí)行性能的裝置,適于駐留在計(jì)算設(shè)備中。該應(yīng)用適于在服務(wù)器集群中執(zhí)行。服務(wù)器集群例如為高性能計(jì)算集群。該服務(wù)器集群包括多個(gè)計(jì)算節(jié)點(diǎn)。每個(gè)計(jì)算節(jié)點(diǎn)包括一個(gè)或多個(gè)適于被進(jìn)程占用的計(jì)算單元。該裝置包括第一獲取單元、第二獲取單元、第一篩選單元、第二篩選單元和監(jiān)測(cè)單元。其中,第一獲取單元適于獲取與執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)列表。第二獲取單元基于該節(jié)點(diǎn)列表,適于獲取執(zhí)行應(yīng)用的每個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的進(jìn)程列表和函數(shù)列表。第一篩選單元基于所獲取的每個(gè)進(jìn)程列表,提取其中與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)。第二篩選單元從每個(gè)關(guān)聯(lián)的進(jìn)程對(duì)應(yīng)的函數(shù)列表中,提取與該進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng)。監(jiān)測(cè)單元適于根據(jù)所提取與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)和與每個(gè)提取的進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng),監(jiān)測(cè)應(yīng)用的執(zhí)行性能。

根據(jù)本發(fā)明的又一個(gè)方面,提供一種高性能計(jì)算系統(tǒng),包括服務(wù)器集群、作業(yè)管理設(shè)備和駐留有根據(jù)本發(fā)明的監(jiān)測(cè)應(yīng)用執(zhí)行性能的裝置的計(jì)算設(shè)備。其中,服務(wù)器集群包括多個(gè)計(jì)算節(jié)點(diǎn)。每個(gè)計(jì)算節(jié)點(diǎn)中駐留有獲取計(jì)算節(jié)點(diǎn)中進(jìn)程信息和函數(shù)信息的性能收集器。作業(yè)管理設(shè)備適于接收應(yīng)用提交終端所提交的待執(zhí)行的應(yīng)用,并將該待執(zhí)行的應(yīng)用分配給至少一個(gè)計(jì)算節(jié)點(diǎn)。計(jì)算設(shè)備適于從性能收集器獲取進(jìn)程列表和函數(shù)列表。

綜上,根據(jù)本發(fā)明的監(jiān)測(cè)應(yīng)用(作業(yè))執(zhí)行性能的技術(shù)方案,能夠獲取多個(gè)執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)中每個(gè)計(jì)算單元的進(jìn)程列表和函數(shù)列表。進(jìn)而,本發(fā)明的技術(shù)方案,可以從進(jìn)程列表和函數(shù)列表中提取與本應(yīng)用相關(guān)的進(jìn)程項(xiàng)和函數(shù)項(xiàng)。在此基礎(chǔ)上,本發(fā)明的技術(shù)方案可以從執(zhí)行性能角度,監(jiān)測(cè)應(yīng)用的執(zhí)行過(guò)程。進(jìn)一步,本發(fā)明的技術(shù)方案還可以獲取執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài),根據(jù)所提取的進(jìn)程項(xiàng)和函數(shù)項(xiàng),確定引起計(jì)算節(jié)點(diǎn)運(yùn)行異常的進(jìn)程項(xiàng)和函數(shù)項(xiàng),以便定位應(yīng)用的性能瓶頸。

附圖說(shuō)明

為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方面,這些方面指示了可以實(shí)踐本文所公開(kāi)的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過(guò)結(jié)合附圖閱讀下面的詳細(xì)描述,本公開(kāi)的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開(kāi),相同的附圖標(biāo)記通常指代相同的部件或元素。

圖1示出了根據(jù)本發(fā)明一些實(shí)施例的高性能計(jì)算系統(tǒng)100的示意圖;

圖2示出了根據(jù)本發(fā)明一些實(shí)施例的監(jiān)測(cè)應(yīng)用執(zhí)行性能的裝置200的示意圖;

圖3A示出了一個(gè)處于異常運(yùn)行狀態(tài)的計(jì)算節(jié)點(diǎn)的性能指標(biāo)界面示意圖;

圖3B示出了又一個(gè)處于異常運(yùn)行狀態(tài)的計(jì)算節(jié)點(diǎn)的性能指標(biāo)界面示意圖;

圖3C示出了又一個(gè)處于異常運(yùn)行狀態(tài)的計(jì)算節(jié)點(diǎn)的性能指標(biāo)界面示意圖;

圖4示出了根據(jù)本發(fā)明一些實(shí)施例的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法400的流程圖;以及

圖5示出了根據(jù)本發(fā)明一些實(shí)施例的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法500的流程圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

圖1示出了根據(jù)本發(fā)明一些實(shí)施例的高性能計(jì)算系統(tǒng)100的示意圖。如圖1所示,系統(tǒng)100包括作業(yè)管理設(shè)備110、用于監(jiān)測(cè)應(yīng)用執(zhí)行性能的計(jì)算設(shè)備120和多個(gè)執(zhí)行計(jì)算任務(wù)的計(jì)算節(jié)點(diǎn)130-1、130-2...130-N。這里,每個(gè)計(jì)算節(jié)點(diǎn)可以是一個(gè)獨(dú)立的計(jì)算實(shí)體(例如一臺(tái)高性能計(jì)算機(jī)或者云網(wǎng)絡(luò)中一臺(tái)服務(wù)器實(shí)體)??傮w而言,系統(tǒng)100可以將用戶提交的應(yīng)用(作業(yè)),分配給至少一個(gè)計(jì)算節(jié)點(diǎn)來(lái)執(zhí)行。

取決于期望的配置,每個(gè)計(jì)算節(jié)點(diǎn)可以包括一個(gè)或多個(gè)處理器。每個(gè)處理器可以是單核或多核配置。這里,處理器的每個(gè)核可以稱為一個(gè)計(jì)算單元。一個(gè)或多個(gè)進(jìn)程可以占用一個(gè)計(jì)算單元來(lái)執(zhí)行運(yùn)算。本發(fā)明的計(jì)算節(jié)點(diǎn)可以駐留有性能收集器。這里,性能收集器可以收集關(guān)于計(jì)算節(jié)點(diǎn)的各種性能指標(biāo)特征。性能指標(biāo)特征例如包括處理器(或者以處理器每個(gè)核為單位)使用率、內(nèi)存使用率、網(wǎng)絡(luò)發(fā)送和接收速度、磁盤讀寫(xiě)速度、代碼向量化比率和指令集執(zhí)行比率等,但不限于此。

在根據(jù)本發(fā)明一個(gè)實(shí)施例中,駐留在一個(gè)計(jì)算節(jié)點(diǎn)的性能收集器可以被配置為通過(guò)調(diào)用該計(jì)算節(jié)點(diǎn)的操作系統(tǒng)(例如Linux或Windows server等)提供的標(biāo)準(zhǔn)接口(API)來(lái)獲取性能指標(biāo)特征。另外,性能收集器還可以是公知的各種可以收集計(jì)算節(jié)點(diǎn)性能數(shù)據(jù)的應(yīng)用,這里不再贅述。

另外,根據(jù)本發(fā)明的性能收集器還可以收集進(jìn)程信息和函數(shù)信息。進(jìn)程是計(jì)算節(jié)點(diǎn)上操作系統(tǒng)進(jìn)行資源分配和調(diào)度的基本的單位。進(jìn)程是執(zhí)行程序的實(shí)體。程序是由源代碼組成的資源文件。源代碼由一系列的函數(shù)組成。一般而言,源代碼可以按照代碼模塊進(jìn)行劃分。一個(gè)源代碼文件可以包括一個(gè)或多個(gè)代碼模塊,即執(zhí)行模塊。每個(gè)代碼模塊可以包括一個(gè)或多個(gè)函數(shù)。每個(gè)進(jìn)程對(duì)應(yīng)一條進(jìn)程信息(即一個(gè)進(jìn)程項(xiàng))。進(jìn)程信息例如可以包括進(jìn)程ID、進(jìn)程狀態(tài)、該進(jìn)程對(duì)其占用的計(jì)算單元的使用率、內(nèi)存占用率、進(jìn)程持續(xù)時(shí)間、父進(jìn)程標(biāo)識(shí)、所占用的計(jì)算單元的標(biāo)識(shí)、交換區(qū)(swap)的使用量,進(jìn)程創(chuàng)建時(shí)間等。這里,取決于計(jì)算節(jié)點(diǎn)中操作系統(tǒng)的版本,進(jìn)程狀態(tài)可以有不同的分類標(biāo)準(zhǔn)。以Linux為例,進(jìn)程狀態(tài)可以包括R、S、D、T、Z和X。其中,R表示TASK_RUNNING,即可執(zhí)行狀態(tài)。S表示TASK_INTERRUPTIBLE,即可中斷的睡眠狀態(tài)。D表示TASK_UNINTERRUPTIBLE,即不可中斷的睡眠狀態(tài)。T表示TASK_STOPPED,即暫停狀態(tài)。Z表示TASK_ZOMBIE,即僵死狀態(tài)。X表示TASK_DEAD,即退出狀態(tài)。

函數(shù)信息(即函數(shù)項(xiàng))可以包括:函數(shù)名稱、名稱標(biāo)識(shí)。該函數(shù)所屬的執(zhí)行模塊的名稱、單位時(shí)間內(nèi)對(duì)該函數(shù)累計(jì)的采樣次數(shù)和該函數(shù)的采樣次數(shù)占執(zhí)行該函數(shù)的計(jì)算單元在該單位時(shí)間內(nèi)對(duì)函數(shù)采樣的總次數(shù)的比例等。需要說(shuō)明的是,總的函數(shù)采樣次數(shù)是對(duì)單位時(shí)間(例如1分鐘)內(nèi)所采集到的所有函數(shù)的總數(shù)。

作業(yè)管理設(shè)備110或者其他的性能數(shù)據(jù)收集服務(wù)器(圖中未示出)可以從每個(gè)計(jì)算節(jié)點(diǎn)的性能收集器獲取到進(jìn)程信息和函數(shù)信息。用于監(jiān)測(cè)應(yīng)用執(zhí)行性能的計(jì)算設(shè)備120可以從作業(yè)管理設(shè)備110或者性能收集服務(wù)器獲取到進(jìn)程信息和函數(shù)信息。在此基礎(chǔ)上,計(jì)算設(shè)備120可以提取一個(gè)應(yīng)用相關(guān)的進(jìn)程信息和函數(shù)信息,以定位該應(yīng)用的性能瓶頸。下面結(jié)合圖2對(duì)監(jiān)測(cè)應(yīng)用執(zhí)行性能的裝置進(jìn)行示例性說(shuō)明。

圖2示出了根據(jù)本發(fā)明一些實(shí)施例的監(jiān)測(cè)應(yīng)用執(zhí)行性能的裝置200的示意圖。裝置200適于駐留在計(jì)算設(shè)備(120)中。這里,計(jì)算設(shè)備例如可以被實(shí)現(xiàn)為桌面計(jì)算機(jī)或筆記本計(jì)算機(jī)配置的個(gè)人計(jì)算機(jī)。計(jì)算設(shè)備也可以被實(shí)現(xiàn)為服務(wù)器設(shè)備或者移動(dòng)終端(例如手機(jī)、個(gè)人數(shù)字設(shè)備或者可穿戴智能設(shè)備等),這里不再贅述。待監(jiān)測(cè)的應(yīng)用可以在服務(wù)器集群(100)中執(zhí)行。

裝置200包括第一獲取單元210、第二獲取單元220、第三獲取單元230、第一篩選單元240和監(jiān)測(cè)單元250。

為了對(duì)一個(gè)應(yīng)用的執(zhí)行性能進(jìn)行監(jiān)測(cè),第一獲取單元210可以獲取對(duì)應(yīng)執(zhí)行該應(yīng)用的計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)列表。這里,第一獲取單元210例如是從作業(yè)管理設(shè)備(110)獲取到該節(jié)點(diǎn)列表。在一個(gè)實(shí)施例中,應(yīng)用對(duì)應(yīng)的節(jié)點(diǎn)列表的數(shù)據(jù)示例如下:

上文示出了1個(gè)節(jié)點(diǎn)列表。該節(jié)點(diǎn)列表的第1個(gè)字段(13010)為應(yīng)用標(biāo)識(shí)。第2個(gè)字段(named2)為應(yīng)用名稱。第3個(gè)字段及以后的內(nèi)容為執(zhí)行應(yīng)用13010的計(jì)算節(jié)點(diǎn)的標(biāo)識(shí)(例如node023.pa)。

第二獲取單元220根據(jù)節(jié)點(diǎn)列表,獲取節(jié)點(diǎn)列表中每個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的進(jìn)程列表和函數(shù)列表。在根據(jù)本發(fā)明一個(gè)實(shí)施例中,第二獲取單元220可以獲取每個(gè)計(jì)算節(jié)點(diǎn)(其標(biāo)識(shí)例如node023.pa)對(duì)應(yīng)的性能指標(biāo)文件。該文件包括了這個(gè)計(jì)算節(jié)點(diǎn)中執(zhí)行的每個(gè)作業(yè)與相關(guān)聯(lián)的進(jìn)程項(xiàng)的對(duì)應(yīng)關(guān)系、每個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的進(jìn)程列表(即這個(gè)計(jì)算節(jié)點(diǎn)中執(zhí)行的所有進(jìn)程項(xiàng)組成的列表)和對(duì)應(yīng)的函數(shù)列表(即該計(jì)算節(jié)點(diǎn)中執(zhí)行的所有函數(shù)項(xiàng)組成的列表)。

根據(jù)本發(fā)明一個(gè)實(shí)施例,進(jìn)程列表的數(shù)據(jù)示例如下:

{55958wugh 2215744 D 0.3 3.8 0:15.72 55929 0 17 0.3 2265784 2015/10/29-21:24:4opa deea37eade087537f0e6499426957c5b}

{55960wugh 2174616 D 0.3 3.8 0:14.30 55929 0 19 0.3 2306908 2015/10/29-21:24:4opa deea37eade087537f0e6499426957c5b}

{55941wugh 2437192 D 0.2 4.2 0:12.65 55929 0 0 0.2 2042588 2015/10/29-21:24:4opa deea37eade087537f0e6499426957c5b}

上述進(jìn)程列表示出了進(jìn)程標(biāo)識(shí)分別為55958、55960和55941的進(jìn)程項(xiàng)。以標(biāo)識(shí)為55958的進(jìn)程項(xiàng)為例,進(jìn)程項(xiàng)包括進(jìn)程標(biāo)識(shí)(55958)、該進(jìn)程的內(nèi)存使用量(2215744字節(jié))、進(jìn)程狀態(tài)(D)、對(duì)所占用的計(jì)算單元的使用率(0.3%)、內(nèi)存使用率(3.8%)、進(jìn)程持續(xù)時(shí)間(0:15.72,即0分15.72秒)、父進(jìn)程標(biāo)識(shí)(55929)、所占用的計(jì)算單元的標(biāo)識(shí)(17)、交換區(qū)的使用量(2265784字節(jié))、進(jìn)程創(chuàng)建時(shí)間(2015/10/29-21:24:4)、進(jìn)程名稱(opa)和MD5校驗(yàn)碼(deea37eade087537f0e6499426957c5b)。這里對(duì)進(jìn)程項(xiàng)的部分字段進(jìn)行了示例性說(shuō)明。本發(fā)明對(duì)進(jìn)程項(xiàng)的字段數(shù)不做過(guò)多限制。

根據(jù)本發(fā)明一個(gè)實(shí)施例,函數(shù)列表的數(shù)據(jù)示例如下:

在上述函數(shù)列表中,第1行中451162131為本次所統(tǒng)計(jì)的總的函數(shù)采樣次數(shù)。第2-5行分別為函數(shù)名稱為tanh.L、scan_swap_map、scan_swap_map和intel_idle的4個(gè)函數(shù)項(xiàng)。以tanh.L的函數(shù)項(xiàng)為例,該函數(shù)在總的函數(shù)采樣次數(shù)中占比為23.222181%,采樣次數(shù)為451162131,所屬的執(zhí)行模塊名稱為nemo.exe。

上述對(duì)函數(shù)列表和進(jìn)程列表進(jìn)行了示例性說(shuō)明。但不限于此,根據(jù)本發(fā)明的實(shí)施例可以使用其他格式的函數(shù)列表和進(jìn)程列表??傊瘮?shù)列表和進(jìn)程列表被配置為可以從其中提取與應(yīng)用相關(guān)的函數(shù)項(xiàng)和進(jìn)程項(xiàng)。

第一篩選單元230可以基于第二獲取單元220所獲取的每個(gè)進(jìn)程列表,提取與應(yīng)用(作業(yè))相關(guān)的進(jìn)程項(xiàng)。在一個(gè)實(shí)施例中,第一篩選單元230可以從對(duì)應(yīng)一個(gè)計(jì)算節(jié)點(diǎn)的性能指標(biāo)文件中提取與應(yīng)用相關(guān)的進(jìn)程項(xiàng),但不限于此。

第二篩選單元240可以基于第一篩選單元230所提取的進(jìn)程項(xiàng),從函數(shù)列表中提取與進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng)。即,第二篩選單元240提取與應(yīng)用關(guān)聯(lián)的函數(shù)項(xiàng)。在一個(gè)實(shí)施例中,第二篩選單元240基于每個(gè)函數(shù)項(xiàng)中進(jìn)程標(biāo)識(shí)字段,從函數(shù)列表中提取與進(jìn)程名稱相關(guān)聯(lián)的函數(shù)項(xiàng)。

這樣,監(jiān)測(cè)單元250可以根據(jù)所提取的與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)和函數(shù)項(xiàng),監(jiān)測(cè)應(yīng)用的執(zhí)行性能。取決于具體的規(guī)則配置,監(jiān)測(cè)單元250可以通過(guò)詳細(xì)的進(jìn)程項(xiàng)和函數(shù)項(xiàng)內(nèi)容,從性能評(píng)價(jià)的角度來(lái)分析應(yīng)用的執(zhí)行過(guò)程,以便優(yōu)化應(yīng)用。

可選地,監(jiān)測(cè)單元250還可以獲取執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)。在一個(gè)例子中,監(jiān)測(cè)單元250可以直接根據(jù)來(lái)自計(jì)算節(jié)點(diǎn)的性能指標(biāo)(例如,性能收集器所提供的數(shù)據(jù))來(lái)確定是否處于異常運(yùn)行狀態(tài)。在又一個(gè)例子中,監(jiān)測(cè)單元250可以接收異常判斷模塊(圖中未示出)在確定計(jì)算節(jié)點(diǎn)異常時(shí)所發(fā)出的關(guān)于異常運(yùn)行狀態(tài)的報(bào)警消息。

這里,一個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)可以有多種。例如,一個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)可以是內(nèi)存使用量超過(guò)第一閾值并使用交換區(qū)(swap)。如圖3A示出了一個(gè)處于異常運(yùn)行狀態(tài)的計(jì)算節(jié)點(diǎn)的性能指標(biāo)界面示意圖。

在又一個(gè)例子中,計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)為代碼向量化(VEC)比率低于第二閾值和\或指令集執(zhí)行(AVX)比率低于第三閾值。圖3B示出了又一個(gè)處于異常運(yùn)行狀態(tài)的計(jì)算節(jié)點(diǎn)的性能指標(biāo)界面示意圖。

在又一個(gè)例子中,計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)為CPU使用率超過(guò)第四閾值且浮點(diǎn)運(yùn)算速率(Gflops)低于第五閾值。圖3C示出了又一個(gè)處于異常運(yùn)行狀態(tài)的計(jì)算節(jié)點(diǎn)的性能指標(biāo)界面示意圖。需要說(shuō)明的是,上述僅僅是對(duì)異常運(yùn)行狀態(tài)的示例性說(shuō)明,本發(fā)明對(duì)異常運(yùn)行狀態(tài)的種類和規(guī)則不作過(guò)多限制。

在獲取到一個(gè)計(jì)算節(jié)點(diǎn)處于異常運(yùn)行狀態(tài)時(shí),監(jiān)測(cè)單元250可以根據(jù)所提取的、對(duì)應(yīng)這個(gè)異常的計(jì)算節(jié)點(diǎn)的函數(shù)項(xiàng)和進(jìn)程項(xiàng),判斷引起這個(gè)計(jì)算節(jié)點(diǎn)運(yùn)行異常的進(jìn)程項(xiàng)和函數(shù)項(xiàng),以定位應(yīng)用的性能瓶頸。

圖4示出了根據(jù)本發(fā)明一些實(shí)施例的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法400的流程圖。方法400適于在計(jì)算設(shè)備中執(zhí)行。待監(jiān)測(cè)的應(yīng)用適于在服務(wù)器集群中執(zhí)行。該服務(wù)器集群包括多個(gè)計(jì)算節(jié)點(diǎn)。該服務(wù)器集群例如為高性能計(jì)算集群。每個(gè)計(jì)算節(jié)點(diǎn)包括一個(gè)或多個(gè)適于被進(jìn)程占用的計(jì)算單元。

方法400始于步驟S410,獲取與執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)列表。步驟S410的具體實(shí)施方式與上文中第一獲取單元210一致,這里不再贅述。

基于步驟S410中獲取的節(jié)點(diǎn)列表,方法400執(zhí)行步驟S420。在步驟S420中,獲取執(zhí)行應(yīng)用的每個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的進(jìn)程列表和函數(shù)列表。步驟S420的具體實(shí)施方式與上文中第二獲取單元220一致,這里不再贅述。

基于步驟S420中獲取的每個(gè)進(jìn)程列表,方法400執(zhí)行步驟S430。在步驟S430中,提取每個(gè)進(jìn)程列表中與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)。步驟S430的具體實(shí)施方式與上文中第一篩選單元230一致,這里不再贅述。在一個(gè)實(shí)施例中,每個(gè)進(jìn)程項(xiàng)包括下述中至少一部分:進(jìn)程標(biāo)識(shí)、進(jìn)程名稱、進(jìn)程狀態(tài)、對(duì)所占用的計(jì)算單元的使用率、內(nèi)存使用量、內(nèi)存占用率、進(jìn)程持續(xù)時(shí)間、父進(jìn)程標(biāo)識(shí)、所占用的計(jì)算單元的標(biāo)識(shí)、交換區(qū)(swap)的使用量和進(jìn)程創(chuàng)建時(shí)間。

基于步驟S430中每個(gè)關(guān)聯(lián)的進(jìn)程項(xiàng),方法400進(jìn)入步驟S440。在步驟S440中,從相關(guān)聯(lián)的每個(gè)進(jìn)程項(xiàng)所對(duì)應(yīng)的函數(shù)列表中,提取與該進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng)。根據(jù)一個(gè)實(shí)施例,在步驟S440中,根據(jù)進(jìn)程項(xiàng)的進(jìn)程標(biāo)識(shí),從所對(duì)應(yīng)的函數(shù)列表中提取與該進(jìn)程標(biāo)識(shí)相關(guān)聯(lián)的函數(shù)項(xiàng)。步驟S440的更具體實(shí)施方式與上文中第二篩選單元240一致,這里不再贅述。在一個(gè)實(shí)施例中,每個(gè)函數(shù)項(xiàng)包括:函數(shù)名稱、該函數(shù)所屬的執(zhí)行模塊的名稱、單位時(shí)間內(nèi)對(duì)該函數(shù)累計(jì)的采樣次數(shù)、和該函數(shù)的采樣次數(shù)占執(zhí)行該函數(shù)的進(jìn)程所在的計(jì)算節(jié)點(diǎn)在該單位時(shí)間內(nèi)對(duì)函數(shù)采樣的總次數(shù)的比例。

根據(jù)步驟S430的到的進(jìn)程項(xiàng)和步驟S440得到的函數(shù)項(xiàng),方法執(zhí)行步驟S450,監(jiān)測(cè)應(yīng)用的執(zhí)行性能。步驟S450的具體實(shí)施方式與上文中監(jiān)測(cè)單元250一致,這里不再贅述。

圖5示出了根據(jù)本發(fā)明一些實(shí)施例的監(jiān)測(cè)應(yīng)用執(zhí)行性能的方法500的流程圖。方法500適于在計(jì)算設(shè)備中執(zhí)行。

方法500包括步驟S510、S520、S530、S540和S550。步驟S510至S550分別對(duì)應(yīng)上文中步驟S410至S450,這里不再贅述。

方法500還包括步驟S560。在步驟S550中,獲取執(zhí)行應(yīng)用的計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)。其中,每個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)包括下述中至少一種:內(nèi)存使用量超過(guò)第一閾值并使用交換區(qū)(swap),代碼向量化(VEC)比率低于第二閾值,指令集執(zhí)行(AVX)比率低于第三閾值,CPU使用率超過(guò)第四閾值且浮點(diǎn)運(yùn)算速率(Gflops)低于第五閾值。步驟S550獲取計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)的方式與上文中監(jiān)測(cè)單元250一致,這里不再贅述。

在步驟S560中獲取到一個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)時(shí),方法500進(jìn)入步驟S570。在步驟S570中,根據(jù)所提取與應(yīng)用關(guān)聯(lián)的進(jìn)程項(xiàng)和函數(shù)項(xiàng),判斷引起該計(jì)算節(jié)點(diǎn)運(yùn)行異常的進(jìn)程項(xiàng)和函數(shù)項(xiàng),以便定位應(yīng)用的性能瓶頸。

A10、如A8或A9所述的裝置,其中,所述函數(shù)項(xiàng)的函數(shù)信息包括:函數(shù)名稱、該函數(shù)所屬的執(zhí)行模塊的名稱、單位時(shí)間內(nèi)對(duì)該函數(shù)累計(jì)的采樣次數(shù)、和該函數(shù)的采樣次數(shù)占執(zhí)行該函數(shù)的進(jìn)程所在的計(jì)算節(jié)點(diǎn)在該單位時(shí)間內(nèi)對(duì)函數(shù)采樣的總次數(shù)的比例。A11、如A8-A10中任一項(xiàng)所述的裝置,其中,所述監(jiān)測(cè)單元還適于獲取所述執(zhí)行所述應(yīng)用的計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài),其中每個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)包括下述中至少一種:內(nèi)存使用量超過(guò)第一閾值并使用交換區(qū)(swap),代碼向量化(VEC)比率低于第二閾值,指令集執(zhí)行(AVX)比率低于第三閾值,CPU使用率超過(guò)第四閾值且浮點(diǎn)運(yùn)算速率(Gflops)低于第五閾值。A12、如A11所述的裝置,在獲取到執(zhí)行所述應(yīng)用的任一個(gè)計(jì)算節(jié)點(diǎn)的異常運(yùn)行狀態(tài)時(shí),該監(jiān)測(cè)單元還適于:根據(jù)所述第一篩選單元所獲取的進(jìn)程項(xiàng)和第二篩選單元所獲取的函數(shù)項(xiàng),判斷引起該計(jì)算節(jié)點(diǎn)運(yùn)行異常的進(jìn)程項(xiàng)和函數(shù)項(xiàng),以便定位所述應(yīng)用的性能瓶頸。A13、如A8-A12中任一項(xiàng)所述的裝置,其中,所述第二篩選單元適于根據(jù)下述方式從相關(guān)聯(lián)的每個(gè)進(jìn)程項(xiàng)所占用的計(jì)算單元所對(duì)應(yīng)的函數(shù)列表中,提取與該進(jìn)程項(xiàng)關(guān)聯(lián)的函數(shù)項(xiàng):根據(jù)進(jìn)程項(xiàng)的進(jìn)程標(biāo)識(shí),從所對(duì)應(yīng)的函數(shù)列表中提取與該進(jìn)程名稱相關(guān)聯(lián)的函數(shù)項(xiàng)。A14、如A8-A13中任一項(xiàng)所述的裝置,其中,所述服務(wù)器集群為高性能計(jì)算集群。

在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下被實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。

類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開(kāi)的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。

本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。

如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來(lái)描述普通對(duì)象僅僅表示涉及類似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。

盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說(shuō)明書(shū)中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書(shū)的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。對(duì)于本發(fā)明的范圍,對(duì)本發(fā)明所做的公開(kāi)是說(shuō)明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書(shū)限定。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1