一種i/o密集型應(yīng)用識(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種云計(jì)算應(yīng)用的識(shí)別方法,尤其是涉及一種I/O密集型應(yīng)用識(shí)別方 法。
【背景技術(shù)】
[0002] 云計(jì)算是IT領(lǐng)域的一次重大技術(shù)變革,它深刻改變了人們使用IT資源的習(xí)慣,這 不僅僅體現(xiàn)在這一個(gè)技術(shù)領(lǐng)域內(nèi)的改變和影響,在未來也可能涵蓋人類和社會(huì)的整個(gè)生活 領(lǐng)域。同時(shí)云計(jì)算對傳統(tǒng)產(chǎn)業(yè)帶來的不僅僅是沖擊,而且也是便捷與機(jī)遇。云計(jì)算之所以如 此強(qiáng)大,是因?yàn)樵朴?jì)算中心有著強(qiáng)大的計(jì)算能力和海量的存儲(chǔ)能力,它能通過虛擬化技術(shù) 為用戶提供按需服務(wù)而無需用戶了解任何的技術(shù)細(xì)節(jié)。
[0003] 雖然云計(jì)算技術(shù)改變了公司的運(yùn)作方式,是劃時(shí)代的技術(shù),但也存在著一些潛在 的問題。首先是云端系統(tǒng)的故障會(huì)為用戶帶來一系列負(fù)面的連鎖反應(yīng),亞馬遜的EC2在過去 三年至少發(fā)生過3次規(guī)模較大的數(shù)據(jù)丟失事故,導(dǎo)致一些客戶永久失去了數(shù)據(jù)。其次是處理 成本的問題,冷卻系統(tǒng)、帶寬、防火墻支持、后臺(tái)程序、安全系統(tǒng)、巡查和24小時(shí)不間斷的網(wǎng) 絡(luò)監(jiān)控系統(tǒng),這些所產(chǎn)生的費(fèi)用也是一筆不小的數(shù)目。最后是是當(dāng)海量用戶訪問時(shí),云處理 服務(wù)系統(tǒng)以有限的帶寬來處理所有的問題,這勢必會(huì)導(dǎo)致效率遇到瓶頸,通常的做法是硬 件上的擴(kuò)充,擴(kuò)大云數(shù)據(jù)中心的規(guī)模來滿足更多的用戶需求。而針對現(xiàn)有系統(tǒng)的性能挖掘 和提升技術(shù)應(yīng)用較少,一些研究機(jī)構(gòu)雖然從不同層面進(jìn)行了探討,但總體來說,并沒有從應(yīng) 用本身來考慮問題,因此對數(shù)據(jù)中心性能的提升非常有限??梢韵胂?,針對不同的云應(yīng)用, 它們對云計(jì)算資源的需求也不會(huì)相同,如有的應(yīng)用可能對服務(wù)器的CPU的要求比較高,而有 的應(yīng)用可能對服務(wù)器的內(nèi)存壓力比較大,而另有一些可能需要的資源主要以I/O為主。如果 能夠針對這些不同的應(yīng)用,合理的考慮數(shù)據(jù)中心的資源分配,那么將極有可能大大提升云 數(shù)據(jù)中心的處理能力,服務(wù)能力。以I/O密集型應(yīng)用為例,它作為最為常見的云計(jì)算應(yīng)用類 型之一,如何減少一個(gè)具體應(yīng)用的處理時(shí)間,降低其I/O訪存次數(shù),提升數(shù)據(jù)中心的服務(wù)能 力,延長硬件設(shè)備的使用壽命等著都是非常重要而且有意義的工作。但所有這些工作的前 提是必須知道一個(gè)未知的云計(jì)算應(yīng)用是I/O密集型應(yīng)用,并且能設(shè)計(jì)開發(fā)出針對這種類型 應(yīng)用的有效的處理策略。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種識(shí)別精度高、判 別速度快的I/O密集型應(yīng)用識(shí)別方法。
[0005] 本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
[0006] -種I/O密集型應(yīng)用識(shí)別方法,包括以下步驟:
[0007] 1)建立I/O密集型應(yīng)用的識(shí)別模型;
[0008] 2)根據(jù)所述識(shí)別模型,對未知應(yīng)用執(zhí)行過程進(jìn)行監(jiān)測,采集一段時(shí)間內(nèi)未知應(yīng)用 執(zhí)行過程對資源的使用情況數(shù)據(jù);
[0009] 3)將步驟2)所采集的使用情況數(shù)據(jù)與設(shè)定的閾值條件進(jìn)行比較,判斷未知應(yīng)用是 否為I/O密集型應(yīng)用。
[0010] 步驟1)中,所述I/O密集型應(yīng)用的識(shí)別模型為一特征六元組:
[0011] (CPU,Csw,Mem,Pro,I/O,Net)
[0012] 其中,CHJ表示CPU狀態(tài),Csw表示應(yīng)用上下文切換狀態(tài),Mem表示虛擬內(nèi)存使用狀 態(tài),Pro表示進(jìn)程阻塞狀態(tài),I/O表示硬盤讀寫狀態(tài),Net表示網(wǎng)絡(luò)傳輸狀態(tài)。
[0013] 步驟2)中,根據(jù)所述識(shí)別模型,采集的使用情況數(shù)據(jù)包括CPU在CPUiowait、 CPUu s er、CPUsy s t em三個(gè)狀態(tài)下的占用值、上下文切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的 每秒任務(wù)數(shù)、硬盤讀寫速率以及網(wǎng)絡(luò)傳輸速率。
[0014] 所述步驟3)具體為:
[0015] 301)判斷CPU在CPUiowait、CPUuser、CPUsystem三個(gè)狀態(tài)下的占用值是否均滿足 第一閾值條件,若是,則執(zhí)行步驟302),若否,則執(zhí)行步驟307);
[0016] 302)判斷上下文切換數(shù)量是否滿足第二閾值條件,若是,則執(zhí)行步驟303),若否, 則執(zhí)行步驟307);
[0017] 303)判斷虛擬內(nèi)存占用值是否滿足第三閾值條件且是否發(fā)生頁面替換,若是,則 執(zhí)行步驟304),若否,則執(zhí)行步驟307);
[0018] 304)判斷阻塞隊(duì)列的每秒任務(wù)數(shù)是否滿足第四閾值條件,若是,則執(zhí)行步驟305), 若否,則執(zhí)行步驟307);
[0019] 305)判斷硬盤讀寫速率是否滿足第五閾值條件,若是,則執(zhí)行步驟306),若否,則 執(zhí)行步驟307);
[0020] 306)判斷網(wǎng)絡(luò)傳輸速率是否滿足第六閾值條件,若是,則判定未知應(yīng)用為I/O密集 型應(yīng)用,若否,則執(zhí)行步驟307);
[0021] 307)判定未知應(yīng)用為非I/O密集型應(yīng)用。
[0022] 所述步驟301)中,第一閾值條件為:iowait>C,user〈U,system〈U,iowait、user、 85^6111分別表示0?1]在0?1];[€^;[1:、0?1]11861'、0?1]85^61]1三個(gè)狀態(tài)下的占用值,(]和1]為設(shè)定的 閾值。
[0023] 所述步驟302)中,第二閾值條件為:上下文切換數(shù)量〉W,W為設(shè)定的閾值。
[0024]所述步驟303)中,第三閾值條件為:虛擬內(nèi)存占用值〉M,M為設(shè)定的閾值。
[0025]所述步驟304)中,第四閾值條件為:阻塞隊(duì)列的每秒任務(wù)數(shù)<P,P為設(shè)定的閾值。 [0026] 所述步驟305)中,第五閾值條件為:硬盤讀寫速率〉V,V為設(shè)定的閾值。
[0027] 所述步驟306)中,第六閾值條件為:網(wǎng)絡(luò)傳輸速率〉N,N為設(shè)定的閾值。
[0028] 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
[0029] (1)本發(fā)明根據(jù)I/O密集型應(yīng)用滿足的共性規(guī)律建立I/O密集型應(yīng)用的識(shí)別模型, 該識(shí)別模型由一個(gè)特征六元組組成,通過特征六元組的監(jiān)測,可快速判定未知應(yīng)用是否屬 于I/O密集型應(yīng)用,且識(shí)別正確性高。
[0030] (2)本發(fā)明能夠較好的識(shí)別云計(jì)算環(huán)境下的I/O密集型應(yīng)用,從而為進(jìn)一步針對這 種特定類型的應(yīng)用研究高效的處理方法提供了理論基礎(chǔ),同時(shí)為提高云計(jì)算服務(wù)運(yùn)營時(shí)的 資源使用效率提供基礎(chǔ)。
【附圖說明】
[0031]圖1為本發(fā)明方法的流程示意圖;
[0032] 圖2為實(shí)驗(yàn)一中CPUiowait所占 CPU的百分比示意圖;
[0033] 圖3為實(shí)驗(yàn)一中上下文切換每秒數(shù)量示意圖;
[0034] 圖4為實(shí)驗(yàn)一中虛擬內(nèi)存使用情況示意圖;
[0035] 圖5為實(shí)驗(yàn)一中進(jìn)程阻塞隊(duì)列數(shù)示意圖;
[0036] 圖6為實(shí)驗(yàn)一中硬盤每秒寫文件速度示意圖;
[0037] 圖7為實(shí)驗(yàn)一中網(wǎng)絡(luò)每秒接收速度示意圖;
[0038] 圖8為實(shí)驗(yàn)二中CPUiowait所占 CPU的百分比示意圖;
[0039] 圖9為實(shí)驗(yàn)二中上下文切換每秒數(shù)量示意圖;
[0040] 圖10為實(shí)驗(yàn)二中虛擬內(nèi)存使用情況示意圖;
[0041 ]圖11為實(shí)驗(yàn)二中進(jìn)程阻塞隊(duì)列數(shù)示意圖;
[0042] 圖12為實(shí)驗(yàn)二中硬盤每秒寫文件速度示意圖;
[0043] 圖13為實(shí)驗(yàn)二中網(wǎng)絡(luò)每秒接收速度示意圖。
【具體實(shí)施方式】
[0044]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。本實(shí)施例以本發(fā)明技術(shù)方案 為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于 下述的實(shí)施例。
[0045] 本發(fā)明實(shí)施例提供一種I/O密集型應(yīng)用識(shí)別方法,包括以下步驟:
[0046] 1)建立I/O密集型應(yīng)用的識(shí)別模型,該模型能夠體現(xiàn)I/O密集型應(yīng)用的共性特征, 本模型中,I/O密集型應(yīng)用的識(shí)別模型為一特征六元組:
[0047] (CPU,Csw,Mem,Pro,I/O,Net)
[0048] 其中,CHJ表示CPU狀態(tài),Csw表示應(yīng)用上下文切換狀態(tài),Mem表示虛擬內(nèi)存使用狀 態(tài),Pro表示進(jìn)程阻塞狀態(tài),I/O表示硬盤讀寫狀態(tài),Net表示網(wǎng)絡(luò)傳輸狀態(tài)。
[0049] CPU、Mem和I/O為通常狀態(tài)下主機(jī)系統(tǒng)利用率的主要應(yīng)用檢查識(shí)別項(xiàng)目。而計(jì)算機(jī) 系統(tǒng)中對具體應(yīng)用而言,會(huì)存在多個(gè)應(yīng)用共享、切換問題以及因?yàn)榫W(wǎng)絡(luò)傳輸影響的系統(tǒng)運(yùn) 行效率,所以對于各個(gè)應(yīng)用之間