国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法及裝置與流程

      文檔序號(hào):11133706閱讀:736來源:國(guó)知局
      云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法及裝置與制造工藝

      本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,尤其涉及一種云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法及裝置。



      背景技術(shù):

      云計(jì)算是IT(Information Technology,信息技術(shù))領(lǐng)域的一次重大技術(shù)變革,云計(jì)算強(qiáng)大的計(jì)算能力和海量的存儲(chǔ)能力,以及通過虛擬化技術(shù)為用戶為用戶提供按需服務(wù)的特性使得它將改變?nèi)藗僆T資源的使用方式和使用習(xí)慣。云計(jì)算對(duì)人們的不僅僅限于技術(shù)領(lǐng)域內(nèi)的改變和影響,在未來也可能影響到社會(huì)生活的各個(gè)領(lǐng)域。它對(duì)傳統(tǒng)產(chǎn)業(yè)帶來的不僅是沖擊,而且也是便捷與機(jī)遇。

      然而,云計(jì)算在帶來技術(shù)革命和應(yīng)用便捷的同時(shí),本身也帶來了不可回避的問題,如能耗問題,特別是在云數(shù)據(jù)中心,由于大量的服務(wù)器及其他各種IT設(shè)備的聚集,導(dǎo)致云數(shù)據(jù)中心的能耗非常巨大,甚至有可能影響到周邊的環(huán)境。此外,數(shù)據(jù)中心在為用戶請(qǐng)求的應(yīng)用分配資源時(shí),針對(duì)所有類型的應(yīng)用采用通用的資源分配策略進(jìn)行資源分配,不僅導(dǎo)致云數(shù)據(jù)中心的資源利用率較低,還進(jìn)一步加重了云數(shù)據(jù)中心的能耗問題。



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

      本發(fā)明的主要目的在于提供一種云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法及裝置,旨在提升云數(shù)據(jù)中心的資源利用率,以降低云數(shù)據(jù)中心的能耗。

      為實(shí)現(xiàn)上述目的,本發(fā)明提供一種云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法,所述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法包括:

      確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型;

      在確定所述虛擬機(jī)當(dāng)前應(yīng)用的應(yīng)用類型時(shí),獲取確定的應(yīng)用類型所對(duì)應(yīng)的資源分配策略;

      根據(jù)獲取的所述資源分配策略調(diào)整所述虛擬機(jī)的資源。

      可選地,所述確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型的步驟包括;

      采集所述虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息;

      分析獲取的運(yùn)行信息是否滿足預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的判定條件;

      在所述運(yùn)行信息滿足所述判定條件時(shí),確定所述虛擬機(jī)當(dāng)前運(yùn)行I/O密集型應(yīng)用。

      可選地,所述運(yùn)行信息包括所述虛擬機(jī)的上下文切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的單位任務(wù)數(shù)、硬盤讀寫速率、網(wǎng)絡(luò)傳輸速率以及其在CPUiowait、CPUuser和CPUsystem狀態(tài)下的CPU占用值。

      可選地,所述判定條件包括:

      所述虛擬機(jī)的上下文的單位切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的單位任務(wù)數(shù)、硬盤讀寫速率、網(wǎng)絡(luò)傳輸速率以及其在CPUiowait狀態(tài)下的CPU占用值分別大于各自對(duì)應(yīng)的第一預(yù)設(shè)閾值,且虛擬機(jī)在CPUuser和CPUsystem狀態(tài)下的CPU占用值均小于第二預(yù)設(shè)閾值。

      可選地,在根據(jù)獲取的所述資源分配策略調(diào)整所述虛擬機(jī)的資源的同時(shí),還執(zhí)行以下步驟:

      將所述虛擬機(jī)當(dāng)前的應(yīng)用調(diào)度策略更新為預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略。

      此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置,所述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置包括:

      確定模塊,用于確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型;

      獲取模塊,用于在確定所述虛擬機(jī)當(dāng)前應(yīng)用的應(yīng)用類型時(shí),獲取確定的應(yīng)用類型所對(duì)應(yīng)的資源分配策略;

      調(diào)整模塊,用于根據(jù)獲取的所述資源分配策略調(diào)整所述虛擬機(jī)的資源。

      可選地,所述確定模塊還用于,

      采集所述虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息;

      分析獲取的運(yùn)行信息是否滿足預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的判定條件;以及

      在所述運(yùn)行信息滿足所述判定條件時(shí),確定所述虛擬機(jī)當(dāng)前運(yùn)行I/O密 集型應(yīng)用。

      可選地,所述運(yùn)行信息包括所述虛擬機(jī)的上下文切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的單位任務(wù)數(shù)、硬盤讀寫速率、網(wǎng)絡(luò)傳輸速率以及其在CPUiowait、CPUuser和CPUsystem狀態(tài)下的CPU占用值。

      可選地,所述判定條件包括:

      所述虛擬機(jī)的上下文的單位切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的單位任務(wù)數(shù)、硬盤讀寫速率、網(wǎng)絡(luò)傳輸速率以及其在CPUiowait狀態(tài)下的CPU占用值分別大于各自對(duì)應(yīng)的第一預(yù)設(shè)閾值,且虛擬機(jī)在CPUuser和CPUsystem狀態(tài)下的CPU占用值均小于第二預(yù)設(shè)閾值。

      可選地,所述調(diào)整模塊還用于將所述虛擬機(jī)當(dāng)前的應(yīng)用調(diào)度策略更新為預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略。

      本發(fā)明提出的云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法及裝置,在應(yīng)用于云數(shù)據(jù)中心時(shí),能夠?qū)τ脩粽?qǐng)求的不同類型的應(yīng)用針對(duì)性的進(jìn)行計(jì)算資源的分配,使得分配的計(jì)算資源能夠有效滿足不同類型應(yīng)用對(duì)計(jì)算資源的需求,相較于現(xiàn)有技術(shù)采用通用的資源分配策略進(jìn)行資源分配,本發(fā)明能夠有效提升云數(shù)據(jù)中心的資源利用率,達(dá)到節(jié)能降耗的目的。

      附圖說明

      圖1為本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法第一實(shí)施例的流程示意圖;

      圖2為圖1中確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型的細(xì)化流程示例圖;

      圖3為本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法第一實(shí)施例中分析當(dāng)前應(yīng)用是否為I/O密集型應(yīng)用的流程示例圖;

      圖4為實(shí)驗(yàn)一中CPUiowait所占CPU的百分比示意圖;

      圖5為實(shí)驗(yàn)一中上下文切換每秒數(shù)量示意圖;

      圖6為實(shí)驗(yàn)一中虛擬內(nèi)存使用情況示意圖;

      圖7為實(shí)驗(yàn)一中進(jìn)程阻塞隊(duì)列數(shù)示意圖;

      圖8為實(shí)驗(yàn)一中硬盤每秒寫文件速度示意圖;

      圖9為實(shí)驗(yàn)一中網(wǎng)絡(luò)每秒接收速度示意圖;

      圖10為實(shí)驗(yàn)二中CPUiowait所占CPU的百分比示意圖;

      圖11為實(shí)驗(yàn)二中上下文切換每秒數(shù)量示意圖;

      圖12為實(shí)驗(yàn)二中虛擬內(nèi)存使用情況示意圖;

      圖13為實(shí)驗(yàn)二中進(jìn)程阻塞隊(duì)列數(shù)示意圖;

      圖14為實(shí)驗(yàn)二中硬盤每秒寫文件速度示意圖;

      圖15為實(shí)驗(yàn)二中網(wǎng)絡(luò)每秒接收速度示意圖;

      圖16為本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置第一實(shí)施例的功能模塊示意圖。

      本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。

      具體實(shí)施方式

      應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      本發(fā)明提供一種云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法,參照?qǐng)D1,在本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的第一實(shí)施例中,所述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法包括:

      步驟S10,確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型;

      需要說明的是,本實(shí)施例提出的云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法應(yīng)用于云數(shù)據(jù)中心中,由云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置執(zhí)行,具體通過云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置對(duì)用戶請(qǐng)求的不同類型的應(yīng)用針對(duì)性的進(jìn)行計(jì)算資源的分配,以提高云計(jì)算中心的資源利用率,達(dá)到節(jié)能降耗的目的。

      具體的,在本實(shí)施例中,將應(yīng)用分為兩類,分別為I/O密集型應(yīng)用和CPU密集型應(yīng)用。其中,操作系統(tǒng)在運(yùn)行I/O密集型應(yīng)用時(shí),其CPU效能相對(duì)硬盤/內(nèi)存的效能要好很多,此時(shí),系統(tǒng)運(yùn)作,大部分的狀況是CPU在等硬盤/內(nèi)存的讀/寫,此時(shí)CPU負(fù)荷不高;操作系統(tǒng)在運(yùn)行CPU密集型應(yīng)用時(shí),其硬盤/內(nèi)存效能相對(duì)CPU的效能要好很多,此時(shí),系統(tǒng)運(yùn)作,大部分的狀況是CPU滿負(fù)荷運(yùn)行??梢钥闯?,不同類型的應(yīng)用對(duì)CPU資源和I/O資源的需求不同。

      具體的,云數(shù)據(jù)中心在接收到用戶請(qǐng)求的應(yīng)用時(shí),會(huì)根據(jù)用戶的請(qǐng)求分 配一定的計(jì)算資源,也就是虛擬機(jī)。由虛擬機(jī)來執(zhí)行用戶請(qǐng)求的應(yīng)用,而這個(gè)虛擬機(jī)的位置對(duì)用戶是透明的,它可以運(yùn)行在云數(shù)據(jù)中心的任一服務(wù)器上,也可以運(yùn)行在云數(shù)據(jù)中心的多臺(tái)服務(wù)器上。

      在本實(shí)施例中,為實(shí)現(xiàn)計(jì)算資源的有效分配,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置首先需要確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型,其中,虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用即用戶請(qǐng)求的應(yīng)用。

      例如,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置識(shí)別到虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用的CPU占用率達(dá)到預(yù)設(shè)占用率且單位時(shí)間的I/O操作數(shù)小于預(yù)設(shè)操作數(shù)時(shí),確定虛擬機(jī)當(dāng)前運(yùn)行的是CPU密集型應(yīng)用;又例如,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置識(shí)別到虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用的CPU占用率小于預(yù)設(shè)占用率且單位時(shí)間的I/O操作數(shù)達(dá)到預(yù)設(shè)操作數(shù)時(shí),確定虛擬機(jī)當(dāng)前運(yùn)行的是I/O密集型應(yīng)用。其中,本實(shí)施例不對(duì)前述預(yù)設(shè)操作數(shù)和預(yù)設(shè)占用率做具體限制,本領(lǐng)域技術(shù)人員可根據(jù)實(shí)際需要進(jìn)行設(shè)置,如本實(shí)施例設(shè)置預(yù)設(shè)占用率為80%,設(shè)置預(yù)設(shè)操作數(shù)為10000。

      步驟S20,在確定所述虛擬機(jī)當(dāng)前應(yīng)用的應(yīng)用類型時(shí),獲取確定的應(yīng)用類型所對(duì)應(yīng)的資源分配策略;

      步驟S30,根據(jù)獲取的所述資源分配策略調(diào)整所述虛擬機(jī)的資源。

      需要說明的是,為實(shí)現(xiàn)計(jì)算資源的有效分配,本實(shí)施例根據(jù)不同類型的應(yīng)用分別設(shè)置儲(chǔ)存有對(duì)應(yīng)的資源分配策略。例如,對(duì)應(yīng)CPU密集型應(yīng)用的資源分配策略包括增加虛擬機(jī)的CPU資源;對(duì)應(yīng)I/O密集型應(yīng)用的資源分配策略包括增加虛擬機(jī)的I/O資源。

      在本發(fā)明實(shí)施例中,在確定虛擬運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型之后,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置根據(jù)確定的應(yīng)用類型獲取對(duì)應(yīng)的資源分配策略,例如,在確定當(dāng)前應(yīng)用為CPU密集型應(yīng)用時(shí),則獲取CPU密集型應(yīng)用對(duì)應(yīng)的資源分配策略;在確定當(dāng)前應(yīng)用為I/O密集型應(yīng)用時(shí),則獲取I/O密集型應(yīng)用對(duì)應(yīng)的資源分配策略。

      在獲取到當(dāng)前應(yīng)用對(duì)應(yīng)的資源分配策略之后,根據(jù)獲取的資源分配策略調(diào)整虛擬機(jī)的資源,例如,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置在確定當(dāng)前當(dāng)前應(yīng)用為I/O密集型應(yīng)用,且獲取的對(duì)應(yīng)資源分配策略為“增加I/O資源,并減小CPU資源”時(shí),則增加運(yùn)行當(dāng)前應(yīng)用的虛擬機(jī)的I/O資源,同時(shí) 減小該虛擬機(jī)的CPU資源。

      其中,本實(shí)施例對(duì)資源的調(diào)整量不做具體限制,本領(lǐng)域技術(shù)人員可根據(jù)實(shí)際需要進(jìn)行設(shè)置,例如,設(shè)置CPU資源的調(diào)整量為“0.5GHz”。

      本實(shí)施例提出的云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法,在應(yīng)用于云數(shù)據(jù)中心時(shí),能夠?qū)τ脩粽?qǐng)求的不同類型的應(yīng)用針對(duì)性的進(jìn)行計(jì)算資源的分配,使得分配的計(jì)算資源能夠有效滿足不同類型應(yīng)用對(duì)計(jì)算資源的需求,相較于現(xiàn)有技術(shù)采用通用的資源分配策略進(jìn)行資源分配,本發(fā)明能夠有效提升云數(shù)據(jù)中心的資源利用率,達(dá)到節(jié)能降耗的目的。

      進(jìn)一步地,基于第一實(shí)施例,提出本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的第二實(shí)施例,參照?qǐng)D2,在本實(shí)施例中,步驟S10包括;

      步驟S101,采集所述虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息;

      步驟S102,分析獲取的運(yùn)行信息是否滿足預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的判定條件;

      步驟S103,在所述運(yùn)行信息滿足所述判定條件時(shí),確定所述虛擬機(jī)當(dāng)前運(yùn)行I/O密集型應(yīng)用。

      需要說明的是,本實(shí)施例在第一實(shí)施例的基礎(chǔ)上,進(jìn)一步提出一種更精確的應(yīng)用類型識(shí)別方案,以下以I/O密集型應(yīng)用的識(shí)別為例進(jìn)行說明,其他可參照前述實(shí)施例,此處不再贅述。

      在本實(shí)施例中,建立了針對(duì)I/O密集型應(yīng)用的特征識(shí)別模型,為一特征六元組:

      (CPU,Csw,Mem,Process,I/O,Net)

      其中,CPU表示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),具體的,

      CPU:主要考察CPUiowait,CPUuser和CPUsystem狀態(tài)下的CPU占用值。對(duì)于I/O密集型應(yīng)用,CPUiowait的百分比會(huì)大于一個(gè)閾值C,根據(jù)大量實(shí)驗(yàn),C可取40%,即CPUiowait>40%。CPUuser和CPUsystem的百分比會(huì)小于一個(gè)閾值U,對(duì)于本實(shí)施例的實(shí)驗(yàn)環(huán)境,U取5%。CPU的iowait占用很高的時(shí)間,表明CPU在頻繁等待某種I/O操作。

      Csw:主要考察每秒上下文切換的數(shù)量。如果是I/O密集型應(yīng)用,那么上下文切換很高。通常上下文切換會(huì)大于一個(gè)閾值W,根據(jù)大量實(shí)驗(yàn),W可取10000。系統(tǒng)中大量的上下文切換,可能是系統(tǒng)進(jìn)程導(dǎo)致也可能是系統(tǒng)因等待某高優(yōu)先級(jí)操作導(dǎo)致。

      Mem:主要考察虛擬內(nèi)存的使用情況。內(nèi)存分為實(shí)際內(nèi)存和虛擬內(nèi)存。如果是I/O密集型應(yīng)用,會(huì)使用虛擬內(nèi)存,并且有大量頁(yè)面置換產(chǎn)生。虛擬內(nèi)存會(huì)大于一個(gè)閾值M,根據(jù)大量實(shí)驗(yàn),M可取16MB,說明內(nèi)存分配了大量資源用于I/O操作。

      Process:主要考察每秒阻塞隊(duì)列中的任務(wù)數(shù)(block)。當(dāng)負(fù)載較高或資源緊張時(shí),系統(tǒng)就會(huì)把一些任務(wù)放入阻塞隊(duì)列中,等待合適的時(shí)機(jī)去執(zhí)行。如果是I/O密集型應(yīng)用,阻塞隊(duì)列較高,并且會(huì)大于一個(gè)閾值P,對(duì)于IO密集型應(yīng)用,取P為2。一般情況阻塞隊(duì)列小于CPU核數(shù),通常單個(gè)I/O密集型應(yīng)用不會(huì)導(dǎo)致系統(tǒng)處于高負(fù)載狀態(tài)。

      I/O:I/O主要考察每秒硬盤讀寫速率(disk_write)和(disk_read)。如果是I/O密集型應(yīng)用讀寫速率會(huì)很高,通常會(huì)大于一個(gè)閾值V,V可取1MB/s。

      Net:主要考察每秒發(fā)送和接收的網(wǎng)絡(luò)流量。如果是I/O密集型應(yīng)用,那么接收或者發(fā)送的流量會(huì)很高,通常會(huì)大于一個(gè)閾值N,N可取1MB/s。網(wǎng)絡(luò)上監(jiān)測(cè)到大量流量數(shù)據(jù),表明正在傳輸數(shù)據(jù),可能是文件上傳下載服務(wù)或者流媒體服務(wù)。

      在本實(shí)施例中,為識(shí)別虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型,首先采集該虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息,包括所述虛擬機(jī)的上下文的單位切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的單位任務(wù)數(shù)、硬盤讀寫速率、網(wǎng)絡(luò)傳輸速率以及其在CPUiowait、CPUuser和CPUsystem狀態(tài)下的CPU占用值。

      在采集到所述虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息之后,進(jìn)一步分析獲取的運(yùn)行信息是否滿足預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的判定條件(即前述特征六元組)。

      具體的,參照?qǐng)D3,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置首先對(duì)CPU數(shù)據(jù)進(jìn)行分析,比較當(dāng)前CPUiowait的CPU占用值和閾值C(即虛擬機(jī)在CPUiowait下的CPU占用值所對(duì)應(yīng)的第一預(yù)設(shè)閾值),以及分別比較當(dāng)前CPUuser和CPUsystem的CPU占用值與U的大小。如果滿足當(dāng)前CPUiowait 的CPU占用值大于閾值C且CPUuser和CPUsystem的CPU占用值均小于U(即第二預(yù)設(shè)閾值),那么轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      其次,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置分析虛擬機(jī)每秒鐘的上下文切換數(shù)量。比較上下文切換數(shù)量的數(shù)量和閾值W(即上下文的單位切換數(shù)量所對(duì)應(yīng)的第一預(yù)設(shè)閾值)。如果滿足上下文切換數(shù)大于閾值W,則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第三,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置分析虛擬內(nèi)存所占的空間大小。比較虛擬內(nèi)存占用值和閾值M(即虛擬內(nèi)存占用值所對(duì)應(yīng)的第一預(yù)設(shè)閾值),如果虛擬內(nèi)存占用值大于閾值M,則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第四,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置分析每秒鐘阻塞隊(duì)列中的任務(wù)數(shù)。將該數(shù)量和閾值P進(jìn)行比較,如果每秒鐘的阻塞隊(duì)列中的任務(wù)數(shù)大于閾值P(即阻塞隊(duì)列的單位任務(wù)數(shù)所對(duì)應(yīng)的第一預(yù)設(shè)閾值),則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第五,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置分析硬盤讀寫速率。檢查硬盤讀寫速率是否很大并且將其和閾值I(即硬盤讀寫速率所對(duì)應(yīng)的第一預(yù)設(shè)閾值)進(jìn)行比較,如果大于閾值I,則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第六,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置分析網(wǎng)絡(luò)傳輸速率。檢查是否有大量的網(wǎng)絡(luò)流量并且和閾值N進(jìn)行比較,如果大于閾值N(即網(wǎng)絡(luò)傳輸速率所對(duì)應(yīng)的第一預(yù)設(shè)閾值),則確定當(dāng)前應(yīng)用是I/O密集型應(yīng)用,退出,否則,轉(zhuǎn)到第七步;

      第七,確定當(dāng)前應(yīng)用不是I/O密集型應(yīng)用,退出。

      為驗(yàn)證上述識(shí)別方法的正確性及可行性,以下采用了大量的實(shí)驗(yàn)來進(jìn)行模擬驗(yàn)證。

      1、實(shí)驗(yàn)環(huán)境

      本實(shí)施例的IaaS環(huán)境基于CloudStack云計(jì)算平臺(tái),系統(tǒng)版本4.0,搭建了一個(gè)小型的云計(jì)算系統(tǒng),其中有1個(gè)管理服務(wù)器Management,2個(gè)主機(jī)節(jié)點(diǎn)Host,和1個(gè)存儲(chǔ)節(jié)點(diǎn)Storage。主機(jī)節(jié)點(diǎn)Host的操作系統(tǒng)為Redhat server5.3,處理器Inter I5 3470@3.60GHz,內(nèi)存8GB DDR3,硬盤容量1TB。Host上的虛擬機(jī),操作系統(tǒng)為Ubuntu12.04版本,處理器為1GHz*2,內(nèi)存 為2GB,網(wǎng)絡(luò)帶寬為150Mbs,磁盤轉(zhuǎn)速為7200/分鐘。

      具體參數(shù)如下表:

      表1

      2、實(shí)驗(yàn)內(nèi)容

      實(shí)驗(yàn)一:向FTP服務(wù)器上傳13。6GB的文件,文件一共14個(gè),每個(gè)大小1GB左右。FTP服務(wù)器是主機(jī)Host上的一臺(tái)虛擬機(jī)。實(shí)驗(yàn)數(shù)據(jù)如圖4-圖9所示。

      圖4的數(shù)據(jù)表明,在前1900秒的任務(wù)執(zhí)行時(shí)間里,CPU的iowait所占用的百分比一直處于50%以上,而且較為劇烈。1900秒以后,任務(wù)結(jié)束,CPU消耗趨近于0。

      圖5的數(shù)據(jù)表明,在前1900秒的任務(wù)執(zhí)行時(shí)間里,上下文切換達(dá)到了15000次/秒,說明系統(tǒng)很忙碌,CPU在頻繁等待I/O的執(zhí)行。1900秒以后,任務(wù)結(jié)束,上下文切換變?yōu)?。

      圖6的數(shù)據(jù)表明,在前1900秒的任務(wù)執(zhí)行時(shí)間里,虛擬內(nèi)存逐步上升,最后使用了16MB,表明該任務(wù)需要消耗虛擬內(nèi)存。1900秒后,任務(wù)執(zhí)行結(jié)束,虛擬空間未釋放。

      圖7的數(shù)據(jù)表明,在前1900秒的任務(wù)執(zhí)行時(shí)間里,阻塞隊(duì)列達(dá)到每秒2。6個(gè)左右,表明系統(tǒng)因?yàn)槟撤N原因,產(chǎn)生了大量阻塞,同時(shí)block<4,即小于CPU核數(shù),表明系統(tǒng)并沒有完全滿負(fù)荷,仍然處于正常狀態(tài)。1900秒后,任務(wù)執(zhí)行結(jié)束,阻塞隊(duì)列降為0。

      圖8的數(shù)據(jù)表明,在前1900秒的任務(wù)執(zhí)行時(shí)間里,在硬盤上監(jiān)測(cè)到大量的寫數(shù)據(jù),均值大于1MB/s,這表明硬盤正在保存大量數(shù)據(jù)。1900以后,任務(wù)執(zhí)行結(jié)束,速率降為0。

      圖9的數(shù)據(jù)表明,在前1900秒的任務(wù)執(zhí)行時(shí)間里,網(wǎng)絡(luò)接收監(jiān)測(cè)到了大量數(shù)據(jù),均值大于1MB/s,表明網(wǎng)絡(luò)中有大量數(shù)據(jù)向本機(jī)發(fā)送。1900以后,任務(wù)執(zhí)行結(jié)束,速率將為0。

      由圖4-圖9所示的參數(shù),根據(jù)本發(fā)明所提出的六元組模型F(t)=(CPU,Csw,Mem,Process,I/O,Net)進(jìn)行判定:

      CPU:user<5%,system<5%,iowait>40%。CPUiowait占用很高的資源,表明CPU在頻繁等待某種I/O操作。

      Csw:中斷不高,上下文切換>15000。系統(tǒng)中大量的上下文切換,表明系統(tǒng)級(jí)操作使用較高,可能是系統(tǒng)進(jìn)程導(dǎo)致也可能是系統(tǒng)因等待某高優(yōu)先級(jí)操作導(dǎo)致。

      Mem:監(jiān)測(cè)到使用了虛擬內(nèi)存,有16MB,同時(shí)有頁(yè)面置換產(chǎn)生,說明內(nèi)存分配了大量資源用于I/O操作。

      Process:阻塞隊(duì)列中任務(wù)數(shù)為2。8個(gè)/秒,同時(shí)均小于4,4為CPU核數(shù),表明系統(tǒng)不是滿負(fù)荷狀態(tài),此虛擬機(jī)還能承受其他任務(wù)。

      I/O:硬盤寫速率大于10MB/s,硬盤讀速率不高。I/O寫有大量數(shù)據(jù),這表明,I/O上有大量寫操作。

      Net:網(wǎng)絡(luò)接收速率大于10MB/s,網(wǎng)絡(luò)發(fā)送速率不高。網(wǎng)絡(luò)上監(jiān)測(cè)到大量接收數(shù)據(jù),表明正在有大量數(shù)據(jù)從外部來到本機(jī),且剛好等于硬盤寫的速率。

      結(jié)論:通過以上可以判斷該應(yīng)用為I/O密集型應(yīng)用。

      實(shí)驗(yàn)二:在科學(xué)計(jì)算服務(wù)器上運(yùn)行計(jì)算并輸出2億以內(nèi)質(zhì)數(shù)的運(yùn)算??茖W(xué)計(jì)算服務(wù)器是主機(jī)Host上的一臺(tái)虛擬機(jī)。實(shí)驗(yàn)數(shù)據(jù)如圖10至圖所示。

      圖10的數(shù)據(jù)表明,在整個(gè)執(zhí)行過程中,iowait非常低,大部分時(shí)間為0,遠(yuǎn)小于閾值40%。

      圖11的數(shù)據(jù)表明,在整個(gè)執(zhí)行過程中,上下文切換非常低,只有100左右,遠(yuǎn)小于10000。

      圖12的數(shù)據(jù)表明,在整個(gè)執(zhí)行過程中,虛擬內(nèi)存沒有使用,表明該任務(wù)沒有消耗虛擬內(nèi)存。

      圖13的數(shù)據(jù)表明,在整個(gè)執(zhí)行過程中,阻塞隊(duì)列達(dá)到每秒0。8個(gè)左右,非常低,小于閾值2。系統(tǒng)處于正常狀態(tài)。

      圖14的數(shù)據(jù)表明,在整個(gè)執(zhí)行過程中,在硬盤上沒有監(jiān)測(cè)到硬盤讀寫的大量讀寫,在大多數(shù)時(shí)間內(nèi),I/O速率都為0。

      圖15的數(shù)據(jù)表明,在整個(gè)執(zhí)行過程中,同時(shí)網(wǎng)絡(luò)也沒有監(jiān)測(cè)到很大的數(shù)據(jù),只有40B/s左右,該應(yīng)用基本不消耗網(wǎng)絡(luò)資源。

      由圖10-圖15所示的參數(shù),根據(jù)六元組F(t)=(CPU,Csw,Mem,Pro,I/O,Net)分析:

      CPU:iowait<10%。CPU的iowait所占百分比很低,表明系統(tǒng)的CPU并沒有等待I/O的操作。

      Csw:上下文切換<100。表明系統(tǒng)并沒有使用系統(tǒng)調(diào)度操作。

      Mem:沒有虛擬內(nèi)存分配,也沒有頁(yè)面置換發(fā)生。

      Process:阻塞隊(duì)列中的任務(wù)數(shù)<1,表明系統(tǒng)正常狀態(tài),較為空閑。

      I/O:硬盤上沒有監(jiān)測(cè)到大量讀和寫的數(shù)據(jù),表明沒有I/O操作的執(zhí)行,該任務(wù)不消耗系統(tǒng)硬盤資源。

      Net:網(wǎng)絡(luò)上未監(jiān)測(cè)到大量數(shù)據(jù),表明該任務(wù)不消耗網(wǎng)絡(luò)帶寬資源。

      結(jié)論:通過以上可以判斷該應(yīng)用不是I/O密集型應(yīng)用。

      3、分析

      通過使用兩組不同的實(shí)驗(yàn)來驗(yàn)證I/O密集型應(yīng)用六元組的使用情況。首先用戶向云計(jì)算中心的虛擬機(jī)上傳文件來模擬典型的I/O密集型應(yīng)用的類型,獲取虛擬機(jī)執(zhí)行該任務(wù)的運(yùn)行信息,并記錄下來,如果該運(yùn)行信息符合I/O密集型應(yīng)用六元組所規(guī)定的閾值范圍以內(nèi),則說明I/O密集型應(yīng)用六元組模型可以正確判斷一個(gè)未知應(yīng)用的符合該模型所表示的特征,從而判斷該應(yīng)用是I/O密集型應(yīng)用。

      通過用戶在云計(jì)算中心的虛擬機(jī)上運(yùn)行2億以內(nèi)的質(zhì)數(shù)統(tǒng)計(jì)運(yùn)算并打印輸出,這是非I/O密集型應(yīng)用,獲取該任務(wù)運(yùn)行時(shí)系統(tǒng)狀態(tài)值并記錄下來。由于這個(gè)應(yīng)用模擬的是科學(xué)計(jì)算,它們?cè)谶\(yùn)行時(shí)會(huì)消耗大量的CPU資源和內(nèi)存資源,對(duì)于I/O設(shè)備的搶占程度很低,因此它們所表現(xiàn)出來的狀態(tài)特征會(huì)和I/O密集型應(yīng)用六元組模型有明顯差異,通過計(jì)算從而說明I/O密集型應(yīng)用六元組可以計(jì)算一個(gè)未知應(yīng)用不在I/O密集型應(yīng)用六元組所規(guī)定的范圍以內(nèi),從而判斷該應(yīng)用是非I/O密集型應(yīng)用。

      此外,還做了其他應(yīng)用的大量實(shí)驗(yàn),來進(jìn)一步驗(yàn)證本發(fā)明的正確性和可行性,結(jié)果如表2所示:

      表2

      分析上表可得出,F(xiàn)TP服務(wù)器上的文件上傳和下載等應(yīng)用,各項(xiàng)參數(shù)都符合I/O密集型應(yīng)用特征模型,因此系統(tǒng)判定它們?yōu)镮/O密集型應(yīng)用。然而對(duì)于矩陣乘法計(jì)算,π的計(jì)算等應(yīng)用,由于在I/O讀寫上,基本監(jiān)測(cè)不到I/O設(shè)備的讀寫,系統(tǒng)判定它們?yōu)榉荌/O密集型應(yīng)用。對(duì)于視頻服務(wù)和爬蟲應(yīng)用,由于在CPU上,CPUiowait所占百分比很小,因此系統(tǒng)判定它們?yōu)榉荌/O密集型應(yīng)用。以上多組實(shí)驗(yàn)表明,本文提出的I/O密集型六元組代表了I/O密集型應(yīng)用的共性特征,未知應(yīng)用通過該模型的判定,能夠很好地識(shí)別出是否為I/O密集型應(yīng)用,具有很高的成功率,達(dá)到了預(yù)期的目的。

      進(jìn)一步地,基于第二實(shí)施例,提出本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的第三實(shí)施例,在本實(shí)施例中,在執(zhí)行步驟S30的同時(shí),還執(zhí)行以下步驟:

      將所述虛擬機(jī)當(dāng)前的應(yīng)用調(diào)度策略更新為預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略。

      需要說明的是,本實(shí)施例為進(jìn)一步增加云計(jì)算中心的資源利用效率,在第二實(shí)施例的基礎(chǔ)上,增加了對(duì)虛擬機(jī)的應(yīng)用調(diào)度策略的調(diào)整操作。以下僅針對(duì)該區(qū)別進(jìn)行說明,其他可參照前述第二實(shí)施例,此處不再贅述。

      在本發(fā)明實(shí)施例中,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置在根據(jù)獲取的資源分配策略調(diào)整虛擬機(jī)的資源的同時(shí),還將虛擬機(jī)當(dāng)前的應(yīng)用調(diào)度策略更新為預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略。其中,I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略包括:將I/O密集型應(yīng)用對(duì)應(yīng)的進(jìn)程設(shè)置為不可搶占。

      以本實(shí)施例所述的當(dāng)前應(yīng)用的進(jìn)程為A進(jìn)程進(jìn)行說明:

      如果A進(jìn)程在運(yùn)行期間,有一個(gè)優(yōu)先級(jí)更高的進(jìn)程到來,此時(shí)并不搶占A進(jìn)程的運(yùn)行權(quán),而是將A進(jìn)程的need_shed置位,等A進(jìn)程運(yùn)行完畢讓出CPU資源后,立即進(jìn)行調(diào)度,以保證A進(jìn)程在運(yùn)行期間不可搶占。其中,need_shed為標(biāo)識(shí)進(jìn)程是否需要執(zhí)行調(diào)度的標(biāo)識(shí)位。

      本發(fā)明還提供一種執(zhí)行前述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置,參照?qǐng)D16,對(duì)應(yīng)于前述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的第一實(shí)施例,在本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置的第一實(shí)施例中,所述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置包括:

      確定模塊10,用于確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型;

      需要說明的是,本實(shí)施例提出的云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置應(yīng)用于云數(shù)據(jù)中心中,通過云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置對(duì)用戶請(qǐng)求的不同類型的應(yīng)用針對(duì)性的進(jìn)行計(jì)算資源的分配,能夠提高云計(jì)算中心的資源利用率,達(dá)到節(jié)能降耗的目的。

      具體的,在本實(shí)施例中,將應(yīng)用分為兩類,分別為I/O密集型應(yīng)用和CPU密集型應(yīng)用。其中,操作系統(tǒng)在運(yùn)行I/O密集型應(yīng)用時(shí),其CPU效能相對(duì)硬盤/內(nèi)存的效能要好很多,此時(shí),系統(tǒng)運(yùn)作,大部分的狀況是CPU在等硬盤/內(nèi)存的讀/寫,此時(shí)CPU負(fù)荷不高;操作系統(tǒng)在運(yùn)行CPU密集型應(yīng)用時(shí),其硬盤/內(nèi)存效能相對(duì)CPU的效能要好很多,此時(shí),系統(tǒng)運(yùn)作,大部分的狀況是CPU滿負(fù)荷運(yùn)行??梢钥闯?,不同類型的應(yīng)用對(duì)CPU資源和I/O資源的需求不同。

      具體的,云數(shù)據(jù)中心在接收到用戶請(qǐng)求的應(yīng)用時(shí),會(huì)根據(jù)用戶的請(qǐng)求分配一定的計(jì)算資源,也就是虛擬機(jī)。由虛擬機(jī)來執(zhí)行用戶請(qǐng)求的應(yīng)用,而這個(gè)虛擬機(jī)的位置對(duì)用戶是透明的,它可以運(yùn)行在云數(shù)據(jù)中心的任一服務(wù)器上,也可以運(yùn)行在云數(shù)據(jù)中心的多臺(tái)服務(wù)器上。

      在本實(shí)施例中,為實(shí)現(xiàn)計(jì)算資源的有效分配,云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置的確定模塊10首先需要確定虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型,其中,虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用即用戶請(qǐng)求的應(yīng)用。

      例如,確定模塊10識(shí)別到虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用的CPU占用率達(dá)到預(yù)設(shè)占用率且單位時(shí)間的I/O操作數(shù)小于預(yù)設(shè)操作數(shù)時(shí),確定虛擬機(jī)當(dāng)前運(yùn)行的是CPU密集型應(yīng)用;又例如,確定模塊10識(shí)別到虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用的CPU占用率小于預(yù)設(shè)占用率且單位時(shí)間的I/O操作數(shù)達(dá)到預(yù)設(shè)操作數(shù)時(shí),確定虛 擬機(jī)當(dāng)前運(yùn)行的是I/O密集型應(yīng)用。其中,本實(shí)施例不對(duì)前述預(yù)設(shè)操作數(shù)和預(yù)設(shè)占用率做具體限制,本領(lǐng)域技術(shù)人員可根據(jù)實(shí)際需要進(jìn)行設(shè)置,如本實(shí)施例設(shè)置預(yù)設(shè)占用率為80%,設(shè)置預(yù)設(shè)操作數(shù)為10000。

      獲取模塊20,用于在確定所述虛擬機(jī)當(dāng)前應(yīng)用的應(yīng)用類型時(shí),獲取確定的應(yīng)用類型所對(duì)應(yīng)的資源分配策略;

      調(diào)整模塊30,用于根據(jù)獲取的所述資源分配策略調(diào)整所述虛擬機(jī)的資源。

      需要說明的是,為實(shí)現(xiàn)計(jì)算資源的有效分配,本實(shí)施例根據(jù)不同類型的應(yīng)用分別設(shè)置儲(chǔ)存有對(duì)應(yīng)的資源分配策略。例如,對(duì)應(yīng)CPU密集型應(yīng)用的資源分配策略包括增加虛擬機(jī)的CPU資源;對(duì)應(yīng)I/O密集型應(yīng)用的資源分配策略包括增加虛擬機(jī)的I/O資源。

      在本發(fā)明實(shí)施例中,在確定模塊10確定虛擬運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型之后,獲取模塊20確定的應(yīng)用類型獲取對(duì)應(yīng)的資源分配策略,例如,在確定模塊10確定當(dāng)前應(yīng)用為CPU密集型應(yīng)用時(shí),獲取模塊20獲取CPU密集型應(yīng)用對(duì)應(yīng)的資源分配策略;在確定模塊10確定當(dāng)前應(yīng)用為I/O密集型應(yīng)用時(shí),獲取模塊20獲取I/O密集型應(yīng)用對(duì)應(yīng)的資源分配策略。

      在獲取模塊20獲取到當(dāng)前應(yīng)用對(duì)應(yīng)的資源分配策略之后,調(diào)整模塊30根據(jù)獲取模塊20獲取的資源分配策略調(diào)整虛擬機(jī)的資源,例如,在確定模塊10確定當(dāng)前當(dāng)前應(yīng)用為I/O密集型應(yīng)用,且獲取模塊20獲取的對(duì)應(yīng)資源分配策略為“增加I/O資源,并減小CPU資源”時(shí),則調(diào)整模塊30增加運(yùn)行當(dāng)前應(yīng)用的虛擬機(jī)的I/O資源,同時(shí)減小該虛擬機(jī)的CPU資源。

      其中,本實(shí)施例對(duì)資源的調(diào)整量不做具體限制,本領(lǐng)域技術(shù)人員可根據(jù)實(shí)際需要進(jìn)行設(shè)置,例如,設(shè)置CPU資源的調(diào)整量為“0.5GHz”。

      本實(shí)施例提出的云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置,在應(yīng)用于云數(shù)據(jù)中心時(shí),能夠?qū)τ脩粽?qǐng)求的不同類型的應(yīng)用針對(duì)性的進(jìn)行計(jì)算資源的分配,使得分配的計(jì)算資源能夠有效滿足不同類型應(yīng)用對(duì)計(jì)算資源的需求,相較于現(xiàn)有技術(shù)采用通用的資源分配策略進(jìn)行資源分配,本發(fā)明能夠有效提升云數(shù)據(jù)中心的資源利用率,達(dá)到節(jié)能降耗的目的。

      進(jìn)一步地,基于第一實(shí)施例,提出本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用 識(shí)別裝置的第二實(shí)施例,對(duì)應(yīng)于前述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的第二實(shí)施例,在本實(shí)施例中,所述確定模塊10還用于,

      采集所述虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息;

      分析獲取的運(yùn)行信息是否滿足預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的判定條件;以及

      在所述運(yùn)行信息滿足所述判定條件時(shí),確定所述虛擬機(jī)當(dāng)前運(yùn)行I/O密集型應(yīng)用。

      需要說明的是,本實(shí)施例在第一實(shí)施例的基礎(chǔ)上,進(jìn)一步提出一種更精確的應(yīng)用類型識(shí)別方案,以下以I/O密集型應(yīng)用的識(shí)別為例進(jìn)行說明,其他可參照前述實(shí)施例,此處不再贅述。

      在本實(shí)施例中,建立了針對(duì)I/O密集型應(yīng)用的特征識(shí)別模型,為一特征六元組:

      (CPU,Csw,Mem,Process,I/O,Net)

      其中,CPU表示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),具體的,

      CPU:主要考察CPUiowait,CPUuser和CPUsystem狀態(tài)下的CPU占用值。對(duì)于I/O密集型應(yīng)用,CPUiowait的百分比會(huì)大于一個(gè)閾值C,根據(jù)大量實(shí)驗(yàn),C可取40%,即CPUiowait>40%。CPUuser和CPUsystem的百分比會(huì)小于一個(gè)閾值U,對(duì)于本實(shí)施例的實(shí)驗(yàn)環(huán)境,U取5%。CPU的iowait占用很高的時(shí)間,表明CPU在頻繁等待某種I/O操作。

      Csw:主要考察每秒上下文切換的數(shù)量。如果是I/O密集型應(yīng)用,那么上下文切換很高。通常上下文切換會(huì)大于一個(gè)閾值W,根據(jù)大量實(shí)驗(yàn),W可取10000。系統(tǒng)中大量的上下文切換,可能是系統(tǒng)進(jìn)程導(dǎo)致也可能是系統(tǒng)因等待某高優(yōu)先級(jí)操作導(dǎo)致。

      Mem:主要考察虛擬內(nèi)存的使用情況。內(nèi)存分為實(shí)際內(nèi)存和虛擬內(nèi)存。如果是I/O密集型應(yīng)用,會(huì)使用虛擬內(nèi)存,并且有大量頁(yè)面置換產(chǎn)生。虛擬內(nèi)存會(huì)大于一個(gè)閾值M,根據(jù)大量實(shí)驗(yàn),M可取16MB,說明內(nèi)存分配了大量資源用于I/O操作。

      Process:主要考察每秒阻塞隊(duì)列中的任務(wù)數(shù)(block)。當(dāng)負(fù)載較高或資 源緊張時(shí),系統(tǒng)就會(huì)把一些任務(wù)放入阻塞隊(duì)列中,等待合適的時(shí)機(jī)去執(zhí)行。如果是I/O密集型應(yīng)用,阻塞隊(duì)列較高,并且會(huì)大于一個(gè)閾值P,對(duì)于IO密集型應(yīng)用,取P為2。一般情況阻塞隊(duì)列小于CPU核數(shù),通常單個(gè)I/O密集型應(yīng)用不會(huì)導(dǎo)致系統(tǒng)處于高負(fù)載狀態(tài)。

      I/O:I/O主要考察每秒硬盤讀寫速率(disk_write)和(disk_read)。如果是I/O密集型應(yīng)用讀寫速率會(huì)很高,通常會(huì)大于一個(gè)閾值V,V可取1MB/s。

      Net:主要考察每秒發(fā)送和接收的網(wǎng)絡(luò)流量。如果是I/O密集型應(yīng)用,那么接收或者發(fā)送的流量會(huì)很高,通常會(huì)大于一個(gè)閾值N,N可取1MB/s。網(wǎng)絡(luò)上監(jiān)測(cè)到大量流量數(shù)據(jù),表明正在傳輸數(shù)據(jù),可能是文件上傳下載服務(wù)或者流媒體服務(wù)。

      在本實(shí)施例中,為識(shí)別虛擬機(jī)運(yùn)行的當(dāng)前應(yīng)用的應(yīng)用類型,確定模塊10首先采集該虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息,包括所述虛擬機(jī)的上下文的單位切換數(shù)量、虛擬內(nèi)存占用值、阻塞隊(duì)列的單位任務(wù)數(shù)、硬盤讀寫速率、網(wǎng)絡(luò)傳輸速率以及其在CPUiowait、CPUuser和CPUsystem狀態(tài)下的CPU占用值。

      在采集到所述虛擬機(jī)運(yùn)行當(dāng)前應(yīng)用時(shí)的運(yùn)行信息之后,確定模塊10進(jìn)一步分析獲取的運(yùn)行信息是否滿足預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的判定條件(即前述特征六元組)。

      具體的,參照?qǐng)D3,確定模塊10首先對(duì)CPU數(shù)據(jù)進(jìn)行分析,比較當(dāng)前CPUiowait的CPU占用值和閾值C(即虛擬機(jī)在CPUiowait下的CPU占用值所對(duì)應(yīng)的第一預(yù)設(shè)閾值),以及分別比較當(dāng)前CPUuser和CPUsystem的CPU占用值與U的大小。如果滿足當(dāng)前CPUiowait的CPU占用值大于閾值C且CPUuser和CPUsystem的CPU占用值均小于U(即第二預(yù)設(shè)閾值),那么轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      其次,確定模塊10分析虛擬機(jī)每秒鐘的上下文切換數(shù)量。比較上下文切換數(shù)量的數(shù)量和閾值W(即上下文的單位切換數(shù)量所對(duì)應(yīng)的第一預(yù)設(shè)閾值)。如果滿足上下文切換數(shù)大于閾值W,則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第三,確定模塊10分析虛擬內(nèi)存所占的空間大小。比較虛擬內(nèi)存占用值和閾值M(即虛擬內(nèi)存占用值所對(duì)應(yīng)的第一預(yù)設(shè)閾值),如果虛擬內(nèi)存占用值大于閾值M,則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第四,確定模塊10分析每秒鐘阻塞隊(duì)列中的任務(wù)數(shù)。將該數(shù)量和閾值P進(jìn)行比較,如果每秒鐘的阻塞隊(duì)列中的任務(wù)數(shù)大于閾值P(即阻塞隊(duì)列的單位任務(wù)數(shù)所對(duì)應(yīng)的第一預(yù)設(shè)閾值),則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第五,確定模塊10分析硬盤讀寫速率。檢查硬盤讀寫速率是否很大并且將其和閾值I(即硬盤讀寫速率所對(duì)應(yīng)的第一預(yù)設(shè)閾值)進(jìn)行比較,如果大于閾值I,則轉(zhuǎn)到下一步,否則,轉(zhuǎn)到第七步;

      第六,確定模塊10分析網(wǎng)絡(luò)傳輸速率。檢查是否有大量的網(wǎng)絡(luò)流量并且和閾值N進(jìn)行比較,如果大于閾值N(即網(wǎng)絡(luò)傳輸速率所對(duì)應(yīng)的第一預(yù)設(shè)閾值),則確定當(dāng)前應(yīng)用是I/O密集型應(yīng)用,退出,否則,轉(zhuǎn)到第七步;

      第七,確定當(dāng)前應(yīng)用不是I/O密集型應(yīng)用,退出。

      進(jìn)一步地,基于第二實(shí)施例,提出本發(fā)明云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別裝置的第三實(shí)施例,對(duì)應(yīng)于前述云計(jì)算環(huán)境下IO密集型應(yīng)用識(shí)別方法的第三實(shí)施例,在本實(shí)施例中,所述調(diào)整模塊30還用于將所述虛擬機(jī)當(dāng)前的應(yīng)用調(diào)度策略更新為預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略。

      需要說明的是,本實(shí)施例為進(jìn)一步增加云計(jì)算中心的資源利用效率,在第二實(shí)施例的基礎(chǔ)上,增加了對(duì)虛擬機(jī)的應(yīng)用調(diào)度策略的調(diào)整操作。以下僅針對(duì)該區(qū)別進(jìn)行說明,其他可參照前述第二實(shí)施例,此處不再贅述。

      在本發(fā)明實(shí)施例中,調(diào)整模塊10在根據(jù)獲取的資源分配策略調(diào)整虛擬機(jī)的資源的同時(shí),還將虛擬機(jī)當(dāng)前的應(yīng)用調(diào)度策略更新為預(yù)存的I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略。其中,I/O密集型應(yīng)用所對(duì)應(yīng)的應(yīng)用調(diào)度策略包括:將I/O密集型應(yīng)用對(duì)應(yīng)的進(jìn)程設(shè)置為不可搶占。

      以本實(shí)施例所述的當(dāng)前應(yīng)用的進(jìn)程為A進(jìn)程進(jìn)行說明:

      如果A進(jìn)程在運(yùn)行期間,有一個(gè)優(yōu)先級(jí)更高的進(jìn)程到來,此時(shí)并不搶占A進(jìn)程的運(yùn)行權(quán),而是將A進(jìn)程的need_shed置位,等A進(jìn)程運(yùn)行完畢讓出CPU資源后,立即進(jìn)行調(diào)度,以保證A進(jìn)程在運(yùn)行期間不可搶占。其中,need_shed為標(biāo)識(shí)進(jìn)程是否需要執(zhí)行調(diào)度的標(biāo)識(shí)位。

      以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間 接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

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