亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種虛擬機(jī)監(jiān)控器的時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制

        2014-06-07 05:53:26趙玉艷陳海寶趙生慧
        計(jì)算機(jī)工程 2014年11期
        關(guān)鍵詞:調(diào)整機(jī)制監(jiān)控器密集型

        趙玉艷,陳海寶,2,趙生慧

        (1.滁州學(xué)院計(jì)算機(jī)與信息工程學(xué)院,安徽滁州239000;2.華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢430074)

        一種虛擬機(jī)監(jiān)控器的時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制

        趙玉艷1,陳海寶1,2,趙生慧1

        (1.滁州學(xué)院計(jì)算機(jī)與信息工程學(xué)院,安徽滁州239000;2.華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢430074)

        在同一物理主機(jī)甚至同一CPU/core上,虛擬化技術(shù)使得多個(gè)虛擬機(jī)能夠以公平共享物理資源的方式運(yùn)行。然而,隨著共享同一CPU/core的虛擬機(jī)數(shù)量的增多,每個(gè)虛擬機(jī)所經(jīng)歷的物理CPU/core訪問(wèn)延遲也在顯著增加,造成異構(gòu)型應(yīng)用(運(yùn)行過(guò)程中既有網(wǎng)絡(luò)I/O需求,也有計(jì)算需求)在性能方面的負(fù)面影響。為解決上述問(wèn)題,引入一種應(yīng)用類型感知的虛擬機(jī)管理器時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制。該機(jī)制可以根據(jù)虛擬機(jī)中應(yīng)用的類型動(dòng)態(tài)調(diào)整虛擬機(jī)的時(shí)間片長(zhǎng)度。實(shí)驗(yàn)結(jié)果表明,與Xen Credit調(diào)度機(jī)制相比,時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制可使異構(gòu)型應(yīng)用(Nginx Web服務(wù)器)具有更好的響應(yīng)能力和吞吐能力。

        應(yīng)用類型驅(qū)動(dòng);虛擬機(jī)監(jiān)控器;動(dòng)態(tài)時(shí)間片;虛擬化;異構(gòu)型應(yīng)用

        1 概述

        云計(jì)算模式可以顯著降低用戶的投資以及運(yùn)營(yíng)成本,因?yàn)橛脩艨梢院?jiǎn)單地以按使用付費(fèi)的模式租用云資源來(lái)托管和運(yùn)行應(yīng)用。支持云托管的一項(xiàng)關(guān)鍵技術(shù)是虛擬機(jī)合并,也就是利用虛擬化技術(shù)將單臺(tái)物理機(jī)劃分為多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)被分配來(lái)運(yùn)行客戶的應(yīng)用。盡管每個(gè)虛擬機(jī)通常被分配至少一個(gè)虛擬核(例如文獻(xiàn)[1]中的VCPU),但是虛擬核和物理核之間的映射并不總是一對(duì)一的。例如,在商業(yè)云平臺(tái)Amazon EC2[2]中,其計(jì)算實(shí)例是以EC2計(jì)算單元(ECU)為單位進(jìn)行分配。分配了一個(gè)計(jì)算單元(ECU)的EC2實(shí)例(虛擬機(jī))的計(jì)算能力粗略地等同于一臺(tái)配置了1 GHz CPU的物理機(jī)器。在一個(gè)配備了3 GHz CPU的物理機(jī)中,可能會(huì)有3個(gè)虛擬機(jī)共享一個(gè)物理CPU。在這樣的情況下,虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,VMM)的CPU調(diào)度器(例如Xen默認(rèn)的Credit調(diào)度器)以輪轉(zhuǎn)的方式調(diào)度可運(yùn)行的虛擬機(jī),每個(gè)虛擬機(jī)被準(zhǔn)許獲得相同數(shù)量的物理CPU時(shí)間來(lái)確保共享CPU的虛擬機(jī)之間的公平性。然而,文獻(xiàn)[3]通過(guò)實(shí)驗(yàn)指出CPU在多個(gè)虛擬機(jī)之間共享會(huì)對(duì)網(wǎng)絡(luò)I/O處理延遲敏感的應(yīng)用產(chǎn)生明顯負(fù)面影響。一個(gè)需要處理網(wǎng)絡(luò)I/O事件的虛擬機(jī)必須等到它訪問(wèn)物理CPU時(shí)才可以處理這個(gè)I/O事件。而在這種情況下,CPU訪問(wèn)延遲趨向于每個(gè)虛擬機(jī)所分得默認(rèn)物理CPU時(shí)間片的倍數(shù)(例如Xen中的30 ms),并且不能對(duì)虛擬機(jī)中的應(yīng)用隱藏這樣的延遲。這種影響非常不利于單純的網(wǎng)絡(luò)I/O密集型應(yīng)用(如只支持對(duì)靜態(tài)頁(yè)面訪問(wèn)的Web服務(wù)器。需要指出,在這種場(chǎng)景中,CPU大部分時(shí)間都處于空閑狀態(tài)),同時(shí)這種影響也不利于既包含網(wǎng)絡(luò)I/O部分,也包含計(jì)算部分的異構(gòu)型應(yīng)用。與單純I/O密集型應(yīng)用相比,異構(gòu)型應(yīng)用需要消耗相對(duì)多的CPU時(shí)間來(lái)完成計(jì)算任務(wù)。為避免產(chǎn)生歧義,現(xiàn)約定如下:術(shù)語(yǔ)“異構(gòu)型應(yīng)用”在本文中特指這樣一類應(yīng)用,在它們運(yùn)行的過(guò)程中即對(duì)網(wǎng)絡(luò)I/O有需求,也對(duì)計(jì)算有需求。例如,支持動(dòng)態(tài)頁(yè)面訪問(wèn)的Web服務(wù)器,相對(duì)于靜態(tài)頁(yè)面訪問(wèn)來(lái)說(shuō),一個(gè)Web服務(wù)器在收到客戶的動(dòng)態(tài)頁(yè)面請(qǐng)求后,它需要通過(guò)一定的計(jì)算量來(lái)處理這個(gè)請(qǐng)求,在得到請(qǐng)求的結(jié)果后,對(duì)客戶進(jìn)行響應(yīng),在這種情況下,支持動(dòng)態(tài)頁(yè)面訪問(wèn)的Web服務(wù)器就是一個(gè)異構(gòu)型應(yīng)用。

        如果對(duì)共享CPU的虛擬機(jī)使用默認(rèn)的CPU時(shí)間片,運(yùn)行著Web服務(wù)器的虛擬機(jī)可能不會(huì)及時(shí)地訪問(wèn)物理CPU來(lái)處理和響應(yīng)請(qǐng)求。為了避免通信處理延遲所造成的影響,一種方法是選擇使用一個(gè)獨(dú)占物理CPU的虛擬機(jī)。然而,這可能會(huì)導(dǎo)致較高的成本,因此,它并不是成本敏感型客戶的首選。本文關(guān)注于緩解共享CPU的虛擬機(jī)(例如EC2中的小型或者微型計(jì)算實(shí)例)所受到的網(wǎng)絡(luò)I/O處理延遲影響,并針對(duì)上述問(wèn)題,引入應(yīng)用類型感知的虛擬機(jī)監(jiān)控器時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制以提高應(yīng)用性能。

        2 相關(guān)研究

        虛擬機(jī)管理器的I/O性能優(yōu)化是一個(gè)熱點(diǎn)研究領(lǐng)域。例如,文獻(xiàn)[4]通過(guò)修改客戶操作系統(tǒng)優(yōu)化KVM(一種開(kāi)源的虛擬機(jī)管理器)的I/O性能。文獻(xiàn)[5]對(duì)Xen的I/O虛擬化驅(qū)動(dòng)進(jìn)行了研究。緩解網(wǎng)絡(luò)I/O處理延遲的一個(gè)途徑是修改虛擬機(jī)監(jiān)控器(VMM)的CPU調(diào)度器,讓網(wǎng)絡(luò)I/O密集型虛擬機(jī)(運(yùn)行網(wǎng)絡(luò)I/O密集型應(yīng)用的虛擬機(jī))的優(yōu)先級(jí)高于CPU密集型虛擬機(jī)(運(yùn)行CPU密集型應(yīng)用的虛擬機(jī))。例如,文獻(xiàn)[6]在面對(duì)運(yùn)行網(wǎng)絡(luò)I/O密集型應(yīng)用的虛擬機(jī)和運(yùn)行CPU密集型應(yīng)用的虛擬機(jī)時(shí),優(yōu)先調(diào)度前者。然而,這種方法在CPU份額分配上引入了短期的不公平。類似地,文獻(xiàn)[7]使用了局部加速來(lái)幫助I/O密集型虛擬機(jī)搶占一個(gè)運(yùn)行中的虛擬機(jī)以響應(yīng)到來(lái)的I/O事件,但是它很難進(jìn)行配置來(lái)保持共享CPU的虛擬機(jī)之間的公平性,因此,并不適用于建立在虛擬化技術(shù)之上的云計(jì)算系統(tǒng)。文獻(xiàn)[8]擴(kuò)展了Xen的Credit調(diào)度器來(lái)支持軟實(shí)時(shí)應(yīng)用,但是它可能給運(yùn)行延遲敏感型應(yīng)用的虛擬機(jī)更多的CPU時(shí)間,從而打破了虛擬機(jī)之間的公平性。Xen的Credit調(diào)度器[9]使用了BOOST機(jī)制通過(guò)臨時(shí)加速I(mǎi)/O密集型應(yīng)用虛擬機(jī)(設(shè)置一個(gè)高的優(yōu)先級(jí))來(lái)縮短I/O響應(yīng)時(shí)間。盡管這個(gè)機(jī)制對(duì)于單純I/O密集型虛擬機(jī)非常有效,但是在異構(gòu)型應(yīng)用運(yùn)行于虛擬機(jī)的情況下,一旦一個(gè)虛擬機(jī)通過(guò)BOOST機(jī)制獲得調(diào)度來(lái)處理I/O請(qǐng)求,工作負(fù)荷中的計(jì)算密集部分會(huì)消耗它在當(dāng)前調(diào)度周期中的CPU份額(Xen中的術(shù)語(yǔ)是Credits)。因?yàn)镃redit調(diào)度器在虛擬機(jī)間是CPU公平的,當(dāng)異構(gòu)型應(yīng)用的計(jì)算密集部分消耗完虛擬機(jī)所分得的CPU份額后,BOOST機(jī)制在當(dāng)前調(diào)度周期的后面部分中就會(huì)失去作用,從而導(dǎo)致高的I/O處理延遲。

        針對(duì)BOOST機(jī)制在處理異構(gòu)型應(yīng)用時(shí)所面臨的問(wèn)題,本文提出一種基于時(shí)間片的動(dòng)態(tài)調(diào)整機(jī)制來(lái)提高這類異構(gòu)型應(yīng)用的性能。

        3 時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制

        本節(jié)首先以一個(gè)例子來(lái)分析虛擬機(jī)共享CPU對(duì)異構(gòu)應(yīng)用I/O處理延遲的負(fù)面影響,然后用一個(gè)實(shí)驗(yàn)進(jìn)行驗(yàn)證,最后引入時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制。

        3.1 CPU共享問(wèn)題的分析及驗(yàn)證

        在這個(gè)例子中,有3個(gè)單核虛擬機(jī)(VM1, VM2和VM3)共享一個(gè)物理CPU核,VM1和VM2運(yùn)行計(jì)算密集型應(yīng)用,而VM3運(yùn)行著一個(gè)異構(gòu)型應(yīng)用。VM3中的應(yīng)用等待客戶請(qǐng)求的到來(lái),然后以數(shù)據(jù)或控制信息響應(yīng)這個(gè)請(qǐng)求。假設(shè)虛擬機(jī)監(jiān)控器(VMM)中的CPU調(diào)度器使用一個(gè)被許多商業(yè)虛擬機(jī)平臺(tái)采用的按比例分享的調(diào)度策略(例如,用在 Amazon EC2,RackSpace和GoGrid商業(yè)云中的Xen)。如圖1所示,一個(gè)目的地是VM3的請(qǐng)求發(fā)送到物理機(jī)后,它首先被緩存在VM3之外(例如,在虛擬機(jī)監(jiān)控器中或者在特權(quán)驅(qū)動(dòng)器域中),一直等到 VM3被調(diào)度。當(dāng)VM3被調(diào)度后,它會(huì)處理這個(gè)請(qǐng)求并產(chǎn)生響應(yīng)。如果CPU的時(shí)間片是30 ms,請(qǐng)求的響應(yīng)延遲可以高達(dá)60 ms。而這樣一個(gè)高延遲影響了 VM3中應(yīng)用的響應(yīng)性以及請(qǐng)求處理率。

        圖1 默認(rèn)調(diào)度時(shí)間片示意圖

        為了展示延遲問(wèn)題,設(shè)計(jì)了如下實(shí)驗(yàn),在一臺(tái)物理機(jī)(IBM System x3650:Intel Xeon E5530,32 GB RAM,500 GB Disk)上安裝Xen4.2,并使用默認(rèn)的Credit調(diào)度器。每臺(tái)虛擬機(jī)都運(yùn)行了開(kāi)源軟件lookbusy[10],用以保證虛擬機(jī)的CPU在實(shí)驗(yàn)期間處于忙碌狀態(tài)。不失一般性,本文實(shí)驗(yàn)使用虛擬機(jī)中運(yùn)行的lookbusy和網(wǎng)絡(luò)連通性探測(cè)命令ping合成了一個(gè)異構(gòu)型應(yīng)用。然后,分別在3種情況下(1臺(tái)單核虛擬機(jī)獨(dú)占一個(gè)物理核;2臺(tái)單核虛擬機(jī)共享一個(gè)物理核;3臺(tái)單核虛擬機(jī)共享一個(gè)物理核),從另外一臺(tái)物理機(jī)上使用ping命令測(cè)試一個(gè)虛擬機(jī)的數(shù)據(jù)包往返時(shí)間RTT(Round-Trip Time)。

        圖2展示了ping一臺(tái)虛擬機(jī)時(shí)RTT的累積分布函數(shù)(CDF)。實(shí)驗(yàn)結(jié)果清晰地表明ping RTT隨著共享CPU的虛擬機(jī)數(shù)量增加而增加。

        圖2 ping RTT的累計(jì)分布函數(shù)

        3.2 機(jī)制和算法

        由2.1節(jié)可知,對(duì)于異構(gòu)型應(yīng)用,如果將調(diào)度時(shí)間片減小,虛擬機(jī)可以更頻繁地訪問(wèn)物理CPU,相應(yīng)的I/O處理延遲也隨之降低。然而,對(duì)于計(jì)算密集型應(yīng)用來(lái)說(shuō),降低調(diào)度時(shí)間片會(huì)增加上下文切換的次數(shù),從而會(huì)帶來(lái)一定應(yīng)用性能上的開(kāi)銷(xiāo)。也就是說(shuō),對(duì)于運(yùn)行了計(jì)算密集型應(yīng)用的虛擬機(jī),并不適合于縮短它們的時(shí)間片。

        為了解決上述問(wèn)題,本文基于Credit調(diào)度器提出了一種應(yīng)用感知的動(dòng)態(tài)時(shí)間片調(diào)整機(jī)制,根據(jù)運(yùn)行在虛擬機(jī)中應(yīng)用的類型來(lái)動(dòng)態(tài)調(diào)整此虛擬機(jī)的調(diào)度時(shí)間片,從而達(dá)到提高應(yīng)用性能的目的,如Web服務(wù)器的連接率和響應(yīng)時(shí)間。

        (1)動(dòng)態(tài)調(diào)整機(jī)制:動(dòng)態(tài)調(diào)整機(jī)制的思路簡(jiǎn)述如下。首先,系統(tǒng)中只存在2種長(zhǎng)度的時(shí)間片,一種是默認(rèn)時(shí)間片(也就是Credit調(diào)度器中采用的30 ms);另一種是短時(shí)間片。在本文中,短時(shí)間的長(zhǎng)度是一個(gè)經(jīng)驗(yàn)值,由管理員根據(jù)系統(tǒng)的實(shí)際情況設(shè)置(第3節(jié)的實(shí)驗(yàn)部分將比較短時(shí)間片被設(shè)置為不同的長(zhǎng)度時(shí),對(duì)應(yīng)用性能的影響)。其次,系統(tǒng)在開(kāi)始運(yùn)行時(shí),所有虛擬機(jī)都使用默認(rèn)的時(shí)間片長(zhǎng)度。如果虛擬機(jī)運(yùn)行著同構(gòu)型應(yīng)用(如單純的網(wǎng)絡(luò)I/O密集型應(yīng)用或者單純計(jì)算密集型應(yīng)用),則繼續(xù)用默認(rèn)的時(shí)間片。因?yàn)樵谀J(rèn)時(shí)間片下,Xen Credit調(diào)度器能夠有效保證單純計(jì)算密集型應(yīng)用的性能,同時(shí)其BOOST機(jī)制也能保證單純網(wǎng)絡(luò)I/O密集型應(yīng)用的性能[11]。而如果虛擬機(jī)中運(yùn)行著異構(gòu)型應(yīng)用,系統(tǒng)則把此虛擬機(jī)的時(shí)間片調(diào)整為短時(shí)間片。

        (2)應(yīng)用類型推斷算法:在實(shí)現(xiàn)時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制之前,調(diào)度器需要獲取運(yùn)行在虛擬機(jī)中的應(yīng)用類型,由于虛擬機(jī)管理器和虛擬機(jī)之間存在著語(yǔ)義鴻溝的問(wèn)題,虛擬機(jī)管理器并不能直接獲取虛擬機(jī)內(nèi)部運(yùn)行應(yīng)用的信息(如應(yīng)用類型)。消除語(yǔ)義鴻溝一般采用的是侵入式方法:在虛擬機(jī)操作系統(tǒng)內(nèi)核中增加一個(gè)超級(jí)調(diào)用,通過(guò)這個(gè)超級(jí)調(diào)用來(lái)向虛擬機(jī)管理器傳遞虛擬機(jī)內(nèi)部應(yīng)用的類型信息。本文采用一種非侵入式的方法,即不需要修改虛擬機(jī)操作系統(tǒng)內(nèi)核,VMM只需監(jiān)控一些信息從而推斷出應(yīng)用的類型。

        本文的設(shè)計(jì)包括一個(gè)監(jiān)控器用來(lái)分析和推斷運(yùn)行在虛擬機(jī)中的應(yīng)用類型以及一個(gè)時(shí)間片調(diào)整算法。圖3顯示了調(diào)度器的框架,它可以監(jiān)控虛擬機(jī)的行為以及動(dòng)態(tài)調(diào)整時(shí)間片。

        圖3 調(diào)度器框架

        行為監(jiān)控器被周期性調(diào)用以監(jiān)控每個(gè)虛擬機(jī)數(shù)據(jù)包接收頻率(在一個(gè)監(jiān)控間隔內(nèi)每個(gè)虛擬機(jī)接收數(shù)據(jù)包的數(shù)量)以及虛擬機(jī)的VCPU利用率。其中,數(shù)據(jù)包接收頻率用來(lái)推斷運(yùn)行在虛擬機(jī)上的應(yīng)用是否為網(wǎng)絡(luò)I/O密集型應(yīng)用,虛擬機(jī)的VCPU利用率則用來(lái)推斷運(yùn)行的是否為計(jì)算密集型應(yīng)用。將VCPU利用率和數(shù)據(jù)包接收頻率結(jié)合起來(lái),則可用來(lái)推斷虛擬機(jī)中運(yùn)行的是否為異構(gòu)型應(yīng)用。

        類型推斷算法如下:

        為了避免因監(jiān)控?cái)?shù)據(jù)短暫變化所引起的類型變化,算法在進(jìn)行類型推斷時(shí)考慮了每臺(tái)虛擬機(jī)在N個(gè)監(jiān)控周期的數(shù)據(jù)包接收頻率以及VCPU利用率,N在本文中設(shè)置為5。在虛擬機(jī)的生命周期中,根據(jù)行為監(jiān)控的反饋信息,每個(gè)虛擬機(jī)的類型可以變化。因?yàn)殡S著監(jiān)控頻率的增加,監(jiān)控開(kāi)銷(xiāo)也會(huì)增加,所以文中采用的監(jiān)控間隔為1 s。

        3.3 原型實(shí)現(xiàn)

        本工作以Xen4.2中的Credit調(diào)度器為基礎(chǔ)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)原型系統(tǒng)。

        在Credit調(diào)度器的源代碼(sched_credit.c文件)中通過(guò)添加程序段實(shí)現(xiàn)監(jiān)控虛擬機(jī)VCPU利用率的功能。程序段首先統(tǒng)計(jì)每個(gè)虛擬機(jī)在一個(gè)監(jiān)控周期內(nèi)獲得的物理CPU時(shí)間(也就是虛擬機(jī)中每個(gè)VCPU在一個(gè)監(jiān)控周期中占用物理 CPU時(shí)間之和),然后利用下面的公式計(jì)算虛擬機(jī)的VCPU利用率:Utilization=100×cpuTime/(T×VCPUsNum),其中,cpuTime是虛擬機(jī)在一個(gè)監(jiān)控周期內(nèi)總共獲得的物理CPU時(shí)間;T是在一個(gè)監(jiān)控周期應(yīng)獲得的物理CPU時(shí)間;VCPUsNum是虛擬機(jī)的VCPU數(shù)量。

        在監(jiān)控虛擬機(jī)數(shù)據(jù)包接收量方面,首先在特權(quán)域dom0的網(wǎng)絡(luò)后端設(shè)備(netback)源代碼(netback.c)中添加程序段,監(jiān)控虛擬機(jī)的數(shù)據(jù)包接收數(shù)量并將相應(yīng)信息寫(xiě)入 dom0和虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,VMM)之間的共享內(nèi)存頁(yè)(shared info page),然后,虛擬機(jī)管理器在需要時(shí)可以從共享內(nèi)存頁(yè)中讀取該信息。

        獲取以上2個(gè)參數(shù)值后,類型推斷算法根據(jù)系統(tǒng)設(shè)定的閾值判斷每個(gè)虛擬機(jī)中運(yùn)行應(yīng)用的類型。本文設(shè)定的虛擬機(jī)VCPU利用率閾值為50%,包接收率的閾值設(shè)置為每秒30個(gè)數(shù)據(jù)包。在實(shí)際應(yīng)用中,系統(tǒng)管理員可以根據(jù)系統(tǒng)的運(yùn)行情況修改上面2個(gè)閾值。

        為了實(shí)現(xiàn)時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制,在Credit調(diào)度器的源代碼中添加了如下的控制邏輯:(1)在虛擬機(jī)結(jié)構(gòu)體csched_dom中添加3個(gè)變量:分別是tslice_ ms,tick_period_ms,ticks_per_tslice。其中,tslice_ms表示時(shí)間片的長(zhǎng)度;tick_period_ms表示Credit值的記賬周期;ticks_per_tslice表示每個(gè)時(shí)間片包含記賬周期的數(shù)量,這3個(gè)變量的關(guān)系是:第一個(gè)變量的值等于后 2個(gè)變量值的乘積,即 tslice_ms=tick_ period_ms×ticks_per_tslice。(2)根據(jù)類型算法得到的應(yīng)用類型,在3個(gè)變量中設(shè)置相應(yīng)的值。例如,如果應(yīng)用類型是異構(gòu)型,那么將tslice_ms設(shè)置為短時(shí)間片,如12(單位是ms),tick_period_ms和tick_ period_ms則分別對(duì)應(yīng)的設(shè)置為4(單位是毫秒)和3。如果應(yīng)用類型是同構(gòu)型,3個(gè)變量設(shè)置為系統(tǒng)的默認(rèn)值。(3)csched_schedule函數(shù)開(kāi)始執(zhí)行的時(shí)候,從虛擬機(jī)結(jié)構(gòu)體csched_dom中讀取tslice_ms的值,同時(shí)將 csched_tick函數(shù) (作用是定時(shí)扣除 Credit值)中定時(shí)器的定時(shí)周期設(shè)置為tick_period_ms。

        另外,由于并未修改Xen Credit調(diào)度器的CPU時(shí)間分配和消耗機(jī)制,因此繼承了Credit調(diào)度器的CPU公平性保證策略,也就是能夠保證物理CPU時(shí)間在虛擬機(jī)之間得到公平共享。

        4 實(shí)驗(yàn)與分析

        本文實(shí)驗(yàn)的目的是測(cè)試動(dòng)態(tài)時(shí)間片機(jī)制對(duì)異構(gòu)型應(yīng)用的性能影響。在實(shí)驗(yàn)中,依次將動(dòng)態(tài)調(diào)節(jié)機(jī)制中的小時(shí)間片設(shè)定為24 ms,18 ms,12 ms,6 ms, 3 ms。然后在每種時(shí)間片下執(zhí)行一遍實(shí)驗(yàn),最后將每種時(shí)間片下的性能數(shù)據(jù)與默認(rèn)時(shí)間片(30 ms)下的性能數(shù)據(jù)進(jìn)行比較。

        4.1 實(shí)驗(yàn)環(huán)境設(shè)置

        物理服務(wù)器(IBM System x3650:Intel Xeon E5530, 32 GB RAM,500 GB Disk)運(yùn)行了4個(gè)共享同一物理核的單核虛擬機(jī)(VM1,VM2,VM3和VM4)。為了保證CPU分配的公平性,在實(shí)驗(yàn)開(kāi)始前利用Xen的控制端命令“xm sched-credit-d‘vmName'-w 256-c 25”,將每個(gè)虛擬機(jī)的weight值設(shè)置為默認(rèn)值(256),cap值設(shè)置為25,也就是每個(gè)虛擬機(jī)最多獲得25%的CPU時(shí)間。虛擬機(jī)VM1運(yùn)行了Nginx和lookbusy合成的一個(gè)異構(gòu)型應(yīng)用;虛擬機(jī)VM4運(yùn)行了網(wǎng)絡(luò)I/O密集型應(yīng)用(Nginx);為了增大對(duì)VM1和VM4中應(yīng)用的干擾,從而能夠更清晰地體現(xiàn)出本文所提機(jī)制的優(yōu)勢(shì),在剩余的2個(gè)虛擬機(jī)(VM2和VM3)中分別運(yùn)行了計(jì)算密集型應(yīng)用(lookbusy)。2臺(tái)客戶端機(jī)器分別同時(shí)使用Httperf[12]產(chǎn)生對(duì)VM1和VM4中一個(gè)4 KB靜態(tài)Web頁(yè)面的請(qǐng)求,以測(cè)量VM1和VM4中Web服務(wù)器的性能。

        實(shí)驗(yàn)中使用Nginx Web服務(wù)器的靜態(tài)頁(yè)面查詢和lookbusy來(lái)合成一個(gè)異構(gòu)型應(yīng)用,使其既有網(wǎng)絡(luò)I/O密集型部分,也有計(jì)算密集型部分。其中, Nginx對(duì)網(wǎng)絡(luò)I/O處理延遲非常敏感,網(wǎng)絡(luò)I/O處理延遲會(huì)影響Nginx服務(wù)器的響應(yīng)時(shí)間和請(qǐng)求處理的吞吐量。Lookbusy用來(lái)產(chǎn)生CPU負(fù)載(使虛擬機(jī)的VCPU利用率保持在50%)。

        為了進(jìn)行比較,將并發(fā)連接請(qǐng)求率從每秒100個(gè)逐漸增加到每秒500個(gè),步長(zhǎng)為100,然后在每種連接請(qǐng)求率下分別測(cè)試了不同方法(默認(rèn)時(shí)間片和小時(shí)間片)下的Web服務(wù)器響應(yīng)時(shí)間和連接率等2個(gè)指標(biāo)。

        4.2 結(jié)果分析

        圖4和圖5分別展示了VM1的響應(yīng)時(shí)間和連接率。

        圖4 VM1中不同連接請(qǐng)求率下的響應(yīng)時(shí)間對(duì)比

        圖5 VM1中不同時(shí)間片下的連接率對(duì)比

        從圖4中可以看到,隨著連接請(qǐng)求率的增加,默認(rèn)時(shí)間片(30 ms)下的Web服務(wù)器響應(yīng)時(shí)間從每秒100個(gè)連接下的3.4 ms迅速升高到每秒500個(gè)連接下的79.9 ms。相比較而言,小時(shí)間片下的Web服務(wù)器響應(yīng)時(shí)間則有明顯優(yōu)勢(shì),尤其是在3 ms的短時(shí)間片下,響應(yīng)時(shí)間只從0.6 ms(每秒100個(gè)連接)升高到1.1 ms(每秒500個(gè)連接)。

        從圖5中的數(shù)據(jù)可以得到3個(gè)信息:(1)相對(duì)于默認(rèn)時(shí)間片(30 ms)而言,隨著連接請(qǐng)求率的增加,小時(shí)間片在連接率方面的優(yōu)勢(shì)逐漸體現(xiàn)出來(lái)。(2)連接請(qǐng)求率在不大于每秒300個(gè)時(shí),默認(rèn)時(shí)間片和短時(shí)間片在連接率方面性能相同,這主要是因?yàn)?連接請(qǐng)求率沒(méi)有超出各種時(shí)間片下的服務(wù)器處理能力。當(dāng)超出服務(wù)器處理能力后,也就是,連接請(qǐng)求率大于每秒300個(gè)時(shí),不同時(shí)間片下的性能差距才體現(xiàn)出來(lái)。(3)在18 ms,12 ms,6 ms和3 ms等4種短時(shí)間片下連接率等于連接請(qǐng)求率(4種短時(shí)間下的數(shù)據(jù)重疊在一起),這表明系統(tǒng)在分別采用上述4種短時(shí)間片下,連接請(qǐng)求率并未超出服務(wù)器的處理能力;同時(shí)也表明在時(shí)間片為18 ms時(shí),服務(wù)器已經(jīng)能夠有效地處理客戶端發(fā)來(lái)的請(qǐng)求,因此,不需要進(jìn)一步將時(shí)間片設(shè)置得更小。

        因?yàn)閂M2和VM3中運(yùn)行的是計(jì)算密集型應(yīng)用,本文所提動(dòng)態(tài)機(jī)制并不會(huì)調(diào)節(jié)它們的時(shí)間片長(zhǎng)度,也就是它們所運(yùn)行的計(jì)算密集型應(yīng)用性能與默認(rèn)環(huán)境下的性能相當(dāng)。此外,由于VM4中運(yùn)行的是單純的網(wǎng)絡(luò)I/O密集型應(yīng)用,動(dòng)態(tài)時(shí)間片調(diào)整機(jī)制也不改變它的時(shí)間片長(zhǎng)度。在BOOST機(jī)制的作用下,其Web服務(wù)器的性能(請(qǐng)求連接率和響應(yīng)時(shí)間)同樣與默認(rèn)環(huán)境下的性能相當(dāng)。因此,此處省略了VM2,VM3和VM4的性能對(duì)比圖。

        以上的實(shí)驗(yàn)結(jié)果表明,與默認(rèn)時(shí)間片相比,短時(shí)間片能夠有效提高虛擬機(jī)中異構(gòu)型應(yīng)用的性能。

        5 結(jié)束語(yǔ)

        本文設(shè)計(jì)了一個(gè)應(yīng)用類型感知的虛擬機(jī)管理器動(dòng)態(tài)時(shí)間片調(diào)整機(jī)制,并在Xen Credit調(diào)度器基礎(chǔ)之上實(shí)現(xiàn)了一個(gè)原型系統(tǒng)。本文基于以下思想:對(duì)于運(yùn)行異構(gòu)型應(yīng)用的虛擬機(jī),將其默認(rèn)時(shí)間片(如Xen Credit調(diào)度器中默認(rèn)的30 ms)分成多個(gè)小時(shí)間片(如10個(gè)3 ms的時(shí)間片),從而達(dá)到在一個(gè)調(diào)度周期中多次對(duì)其調(diào)度的目的。也就是說(shuō),相對(duì)于默認(rèn)時(shí)間片的虛擬機(jī),短時(shí)間片虛擬機(jī)可以更頻繁地訪問(wèn)物理CPU來(lái)處理I/O事件。原型系統(tǒng)的實(shí)驗(yàn)結(jié)果表明,在Web應(yīng)用的響應(yīng)時(shí)間和連接率方面優(yōu)于Xen Credit調(diào)度器。

        目前原型系統(tǒng)采用的短時(shí)間片長(zhǎng)度是由系統(tǒng)管理員根據(jù)經(jīng)驗(yàn)提前設(shè)定的,系統(tǒng)根據(jù)虛擬機(jī)的應(yīng)用類型,動(dòng)態(tài)地在指定的短時(shí)間片和默認(rèn)時(shí)間片之間進(jìn)行切換。因此,下一步的研究工作就是設(shè)計(jì)一種無(wú)需系統(tǒng)管理員干涉的短時(shí)間設(shè)定機(jī)制,并且考慮如何將動(dòng)態(tài)時(shí)間片與CPU運(yùn)行隊(duì)列的動(dòng)態(tài)優(yōu)先級(jí)結(jié)合起來(lái),進(jìn)一步提升此類應(yīng)用的性能。

        [1] 薛海峰,卿斯?jié)h,張煥國(guó).XEN虛擬機(jī)分析[J].系統(tǒng)仿真學(xué)報(bào),2008,19(23):5556-5558.

        [2] 亞馬遜公司.AWS產(chǎn)品與解決方案[EB/OL].[2014-03-01.]http://aws.amazon.com/cn/ec2.

        [3] Xu C,Gamage S,Kompella R,et al.vTurbo:Accelerating Virtual Machine I/O Processing Using Designated Turbo-SlicedCore[C]//ProceedingsofUSENIX Annual Technical Conference.[S.l.]:USENIX Press,2013: 243-254.

        [4] 張彬彬,汪小林,楊 亮,等.修改客戶操作系統(tǒng)優(yōu)化KVM虛擬機(jī)的I/O性能[J].計(jì)算機(jī)學(xué)報(bào),2010,33(12): 2312-2320.

        [5] 胡冷非,李小勇.基于Xen的I/O準(zhǔn)虛擬化驅(qū)動(dòng)研究[J].計(jì)算機(jī)工程,2009,35(23):258-262.

        [6] Govindan S,Nath A R,Das A,et al.Communication-aware CPU SchedulingforConsolidated Xen-based Hosting Platforms[C]//Proceedings of the 3rd Interna-tional Conference on Virtual Execution Environments.[S.l.]: ACM Press,2007:126-136.

        [7] Kim H,Lim H,Jeong J,et al.Task-aware Virtual Machine Scheduling for I/O Performance[C]//Proceedings of ACM InternationalConference on VirtualExecution Environments.[S.l.]:ACM Press,2009:101-110.

        [8] Lee M,Krishnakumar A S,Krishnan P,et al.Supporting Soft Real-time Tasks in the Xen Hypervisor[C]// Proceedings of the 6th International Conference on VirtualExecution Environments.Pittsburgh,USA:[s.n.],2010:97-108.

        [9] Xen Project Advisory Board.Xen Credit Scheduler[EB/ OL].[2014-03-01].http://wiki.xen.org/wiki/Credit_ Scheduler,

        [10] Devin Carraway.A Synthetic Load Generator[EB/OL].[2014-03-01].http://www.devin.com/lookbusy/.

        [11] Gamage S,Kangarlou A,Kompella R R,et al.vSlicer: Latency-aware Virtual Machine Scheduling via Differentiated-frequency CPU Slicing[C]//Proceedings of the 21st International Symposium on High-performance Parallel and Distributed Computing.[S.l.]:ACM Press,2012: 3-14.

        [12] HP Inc.A Tool for Measuring Web Server Performance[EB/OL].[2014-03-01].http://www.hpl.hp.com/ research/linux/httperf/.

        編輯 顧逸斐

        A Dynamic Time Slice Adjusting Mechanism of Virtual Machine Monitor

        ZHAO Yuyan1,CHEN Haibao1,2,ZHAO Shenghui1
        (1.School of Computer and Information Engineering,Chuzhou University,Chuzhou 239000,China;
        2.School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,China)

        Multiple Virtual Machines(VMs)can be hosted in the same CPU core with virtualization technologies,in a fair share manner of the physical resources among the VMs.However,as the number of VMs sharing the same core/CPU increase,the CPU access latency perceived by each VM also increases,which translates into longer network I/O processing latency experienced by heterogeneous application including both network I/O and computation.To mitigate such impact,an application type driven dynamic time slice adjusting mechanism is presented.The evaluation of a prototype in Xen shows that,compared with Credit scheduler of Xen,this mechanism improves the connection rate and response time of Nginx Web server.

        application type driven;Virtual Machine Monitor(VMM);dynamic time slice;virtualization;heterogeneous application

        1000-3428(2014)11-0031-05

        A

        TP393.09

        10.3969/j.issn.1000-3428.2014.11.006

        安徽省自然科學(xué)基金資助面上項(xiàng)目(1408085MF126);安徽省教育廳自然科學(xué)研究基金資助重大項(xiàng)目(KJ2011ZD06);滁州學(xué)院優(yōu)秀青年人才基金資助重點(diǎn)項(xiàng)目(2013RC006);滁州學(xué)院科研啟動(dòng)基金資助項(xiàng)目(2014qd016)。

        趙玉艷(1982-),女,講師、碩士,主研方向:數(shù)據(jù)挖掘,云計(jì)算;陳海寶,講師、博士研究生;趙生慧,教授、博士。

        2014-03-07

        2014-04-24E-mail:zhyy@chzu.edu.cn

        中文引用格式:趙玉艷,陳海寶,趙生慧.一種虛擬機(jī)監(jiān)控器的時(shí)間片動(dòng)態(tài)調(diào)整機(jī)制[J].計(jì)算機(jī)工程,2014, 40(11):31-35.

        英文引用格式:Zhao Yuyan,Chen Haibao,Zhao Shenghui.A Dynamic Time Slice Adjusting Mechanism of Virtual Machine Monitor[J].Computer Engineering,2014,40(11):31-35.

        猜你喜歡
        調(diào)整機(jī)制監(jiān)控器密集型
        歐盟理事會(huì)就碳邊界調(diào)整機(jī)制達(dá)成協(xié)議
        壓痛點(diǎn)密集型銀質(zhì)針溫針灸治療肱骨外上髁炎的臨床觀察
        關(guān)于MK10 型下滑儀近場(chǎng)監(jiān)控參數(shù)超標(biāo)的故障檢修
        參透并購(gòu)交易價(jià)格調(diào)整機(jī)制
        密集型快速冷卻技術(shù)在熱軋帶鋼生產(chǎn)線的應(yīng)用
        山東冶金(2019年3期)2019-07-10 00:53:56
        密集型自動(dòng)化立體倉(cāng)庫(kù)解析
        一種自動(dòng)監(jiān)控系統(tǒng)的輸液監(jiān)控器的設(shè)計(jì)
        電子制作(2017年22期)2017-02-02 07:10:09
        知識(shí)密集型組織的商業(yè)模式創(chuàng)新策略——以網(wǎng)絡(luò)教育組織為例
        美國(guó)失業(yè)保險(xiǎn)待遇調(diào)整機(jī)制分析及對(duì)中國(guó)的啟示
        關(guān)于壓機(jī)雙聯(lián)閥安全監(jiān)控器的研究
        蜜臀久久99精品久久久久久| 久久AⅤ天堂Av无码AV| 国产色婷亚洲99精品av网站| 日本一区二区三区视频国产| 97午夜理论片影院在线播放| 日本高清www午色夜高清视频| 国产一区二区三区精品免费av| 97色伦图片97综合影院| 欧美性猛交xxxx富婆| 福利网址在线观看| 国产91对白在线观看| 久久亚洲精品中文字幕蜜潮| 插上翅膀插上科学的翅膀飞| 国产精品丝袜久久久久久不卡| 国产欧美日韩网站| 精品自拍偷拍一区二区三区 | 日本免费在线一区二区三区| 99久久精品免费观看国产| 国产高潮刺激叫喊视频| 99热久久只有这里是精品 | 极品美女扒开粉嫩小泬图片| 亚洲av成人无码网站…| 一区五码在线| 国家一级内射高清视频| 亚洲av无码电影在线播放| 无码人妻丰满熟妇啪啪7774| 亚洲中文字幕日产喷水| 在线精品国产亚洲av麻豆| 超碰cao已满18进入离开官网| 亚洲中文字幕每日更新| 日韩av他人妻中文字幕| 亚洲中文无码av永久| 乱人伦中文无码视频| 亚洲av日韩av一卡二卡| 日韩在线不卡一区三区av| 性色av免费网站| 国产一国产一级新婚之夜| 亚洲av第二区国产精品| 99riav国产精品视频| ā片在线观看| 人妻少妇久久精品一区二区 |