亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種虛擬機資源分配方法及其系統(tǒng)的制作方法

文檔序號:6441404閱讀:203來源:國知局
專利名稱:一種虛擬機資源分配方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及虛擬機技術(shù)領(lǐng)域,尤其涉及一種虛擬機資源分配方法,以及一種虛擬機資源分配系統(tǒng)。
背景技術(shù)
60年代末期興起的虛擬機技術(shù)與虛擬機,隨著存儲虛擬化技術(shù),以及一批新產(chǎn)品的涌現(xiàn),在70年代初期達到了它的第一個高峰。但是,隨著硬件價格的下降、性能的大幅上升,以及廉價的小型機、個人電腦和多任務(wù)操作系統(tǒng)的出現(xiàn),虛擬機技術(shù)開始走向衰落。
90年代,研究者在研究解決大規(guī)模并行處理機(MPP,Massively Parallel Processing)不能運行已有的操作系統(tǒng)和編程困難等問題時發(fā)現(xiàn),使用虛擬機技術(shù)可以使這些體系結(jié)構(gòu)復(fù)雜的機器看起來與已有平臺完全相似,從而可以運行現(xiàn)有的操作系統(tǒng)。
虛擬化是一種計算機系統(tǒng)抽象技術(shù),通過物理平臺上的虛擬機邏輯層管理計算機資源,并向運行在其上的客戶層提供虛擬的資源。客戶機操作系統(tǒng)可以通過標準接口訪問資源,但是接口并不是與物理的資源直接通信,而是通過虛擬層來對真實資源進行管理,從而使得有限的資源可在多個虛擬機之間復(fù)用。直接運行在硬件平臺上的虛擬化層稱為虛擬機監(jiān)視器VMM或者Hypervisor,它負責對虛擬機提供硬件資源和軟件資源的抽象,為客戶操作系統(tǒng)提供運行環(huán)境。
在虛擬化過程中,虛擬化軟件需要實現(xiàn)對硬件的抽象,資源的分配、調(diào)度和管理, 虛擬機與宿主操作系統(tǒng)及多個虛擬機的隔離等功能。VMM對底層的所有硬件資源進行抽象, 然后把它們重新組合并集成到多個虛擬機(Virtual Machine)中實現(xiàn)虛擬化,每個虛擬機都能夠運行獨立的操作系統(tǒng)實例。
當前,主流的虛擬化技術(shù)產(chǎn)品有Vmware、Xen, Hyper-V和KVM等,它們在服務(wù)器的整合、資源的控制與優(yōu)化,成本與能源的節(jié)約上都做出了杰出的貢獻。虛擬化技術(shù)在虛擬集群領(lǐng)域也用很好的應(yīng)用前景,并逐漸應(yīng)用在云計算等高端領(lǐng)域中。
然而,通過虛擬化技術(shù),在一臺主機上可以運行著多個虛擬機,在每個虛擬機中運行著不同的操作系統(tǒng)和應(yīng)用,而每個虛擬機都需要占用一定的計算機資源,如CPU資源和 I/O資源。
由于各個虛擬機運行的應(yīng)用是不同的。有些虛擬機中運行的是實時性應(yīng)用,例如視頻會議;有些虛擬機中運行的是I/O密集型應(yīng)用,例如本地觀看高清電影;有些虛擬機中運行著CPU密集應(yīng)用,例如進行精確的科學計算;還有些虛擬機運行著通信密集的應(yīng)用,例如下載。還有很多的應(yīng)用它是幾個特征綜合的,例如網(wǎng)上視頻點播,它既是實時的、IO密集的,也是通信密集的。當CPU資源充足時,可以保證各種虛擬機的正常運行,但是當CPU 負載非常重時,虛擬機進入爭奪計算機資源的狀態(tài),此時若缺乏適當?shù)膬?yōu)化措施,很容易導(dǎo)致主機上的所有虛擬機的應(yīng)用相互影響,而使得各個虛擬機的性能下降。
以一個開放源代碼虛擬機監(jiān)視器Xen為例,它的CPU調(diào)度和I/O調(diào)度算法對運行在其上的虛擬機非常注重公平和一致性,而不考慮虛擬機上運行的應(yīng)用的具體資源需求。因此從開始到結(jié)束,Xen對所有的虛擬機都是按照初始分配給它的份額Weight來同等對待,并按照基本的分時方法依次輪流執(zhí)行不同的虛擬CPU。但是在不同的虛擬機中運行著不同的應(yīng)用程序,并且各個應(yīng)用程序的特征也不盡相同。例如,實時性的應(yīng)用,它需要I/O處理要及時,且CPU計算要同步,這樣才能滿足程序響應(yīng)時間的要求,而使得用戶得到真正的實時感受。
如果對各個虛擬機都分配同等份額的I/O處理資源和CPU,則可能導(dǎo)致需要大量 I/O處理資源的實時性的應(yīng)用的響應(yīng)變慢,影響用戶體驗。發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提供一種能夠?qū)ν挥嬎銠C上運行的各個虛擬機合理地分配計算機資源的虛擬機資源分配方法。
一種虛擬機資源分配方法,包括以下步驟分別獲取在主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值;根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值, 計算所述虛擬機的I/O操作資源分配值;根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,以及所述虛擬機VCPU單次執(zhí)行時間的統(tǒng)計值及對應(yīng)的VCPU單次執(zhí)行時間的平均值,計算所述虛擬機的實時響應(yīng)資源分配值;根據(jù)各個虛擬機單位時間指令隊列深度的統(tǒng)計值及對應(yīng)的單位時間指令隊列深度的平均值,計算所述虛擬機的運算資源分配值;根據(jù)各個虛擬機單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值及對應(yīng)的單位時間收發(fā)數(shù)據(jù)包數(shù)目的平均值,計算所述虛擬機的通信資源分配值;根據(jù)所述I/O操作資源分配值,所述實時響應(yīng)資源分配值,所述運算資源分配值,以及所述通信資源分配值, 計算所述虛擬機的總資源分配值;根據(jù)各個所述虛擬機的總資源分配值,調(diào)節(jié)各個虛擬機的資源分配比例。
與現(xiàn)有技術(shù)相比較,本發(fā)明的虛擬機資源分配方法中,統(tǒng)計主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值。根據(jù)單位時間I/O操作次數(shù)計算虛擬機的I/O操作資源分配值;根據(jù)VCPU單次執(zhí)行時間計算所述實時響應(yīng)資源分配值;根據(jù)單位時間指令隊列深度計算所述運算資源分配值;根據(jù)單位時間收發(fā)數(shù)據(jù)包數(shù)目,計算所述通信資源分配值。最后獲得對各個虛擬機分配資源的總資源分配值,根據(jù)所述總資源分配值來調(diào)節(jié)各個虛擬機占用的計算機資源分配比例。
例如,在統(tǒng)計獲得某一虛擬機的單位時間I/O操作次數(shù)較多時,其對應(yīng)的I/O操作資源分配值增大,從而使其對應(yīng)的總資源分配值也增大,獲得更多的計算機資源分配比例, 保證所述計算機能夠運行順暢。同樣,當其他的統(tǒng)計值增大時,也會相應(yīng)地增加其對應(yīng)的資源分配值,因此可以實現(xiàn)同一計算機上運行的各個虛擬機之間的合理資源調(diào)配。
進一步地,還可以通過設(shè)置各個資源分配值在所述總資源分配值中所占的權(quán)重, 從而可以對各個虛擬機設(shè)定資源分配的優(yōu)先級,例如,設(shè)定所述I/O操作資源分配值在所述總資源分配值中所占的權(quán)重較大,則對單位時間I/O操作次數(shù)較多的虛擬機,將優(yōu)先分配更多計算機資源。
本發(fā)明要解決的技術(shù)問題在于提供一種能夠?qū)ν挥嬎銠C上運行的各個虛擬機合理地分配計算機資源的虛擬機資源分配系統(tǒng)。
一種虛擬機資源分配系統(tǒng),包括監(jiān)控模塊、操作資源分配值計算模塊、實時資源分配值計算模塊、運算資源分配值計算模塊、通信資源分配值計算模塊、總資源分配值計算模塊和資源調(diào)度模塊。所述監(jiān)控模塊用于獲取在主機上運行的各個虛擬機的單位時間I/O 操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值。所述操作資源分配值計算模塊用于根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,計算所述虛擬機的I/O操作資源分配值。所述實時資源分配值計算模塊用于根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,以及所述虛擬機VCPU單次執(zhí)行時間的統(tǒng)計值及對應(yīng)的VCPU單次執(zhí)行時間的平均值, 計算所述虛擬機的實時響應(yīng)資源分配值。所述運算資源分配值計算模塊用于根據(jù)各個虛擬機單位時間指令隊列深度的統(tǒng)計值及對應(yīng)的單位時間指令隊列深度的平均值,計算所述虛擬機的運算資源分配值。所述通信資源分配值計算模塊用于根據(jù)各個虛擬機單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值及對應(yīng)的單位時間收發(fā)數(shù)據(jù)包數(shù)目的平均值,計算所述虛擬機的通信資源分配值。所述總資源分配值計算模塊用于根據(jù)所述I/O操作資源分配值,所述實時響應(yīng)資源分配值,所述運算資源分配值,以及所述通信資源分配值,計算所述虛擬機的總資源分配值。所述資源調(diào)度模塊用于根據(jù)各個所述虛擬機的總資源分配值,調(diào)節(jié)各個虛擬機的資源分配比例。
與現(xiàn)有技術(shù)相比較,本發(fā)明的虛擬機資源分配系統(tǒng)中,所述監(jiān)控模塊統(tǒng)計主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、 以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值。所述操作資源分配值計算模塊根據(jù)單位時間I/O操作次數(shù)計算虛擬機的 I/O操作資源分配值;所述實時資源分配值計算模塊根據(jù)VCPU單次執(zhí)行時間計算所述實時響應(yīng)資源分配值;所述運算資源分配值計算模塊根據(jù)單位時間指令隊列深度計算所述運算資源分配值;所述通信資源分配值計算模塊根據(jù)單位時間收發(fā)數(shù)據(jù)包數(shù)目,計算所述通信資源分配值。最后由所述總資源分配值計算模塊獲得對各個虛擬機分配資源的總資源分配值,并由所述資源調(diào)度模塊根據(jù)所述總資源分配值來調(diào)節(jié)各個虛擬機占用的計算機資源分配比例。
例如,在統(tǒng)計獲得某一虛擬機的單位時間I/O操作次數(shù)較多時,其對應(yīng)的I/O操作資源分配值增大,從而使其對應(yīng)的總資源分配值也增大,獲得更多的計算機資源分配比例, 保證所述計算機能夠運行順暢。同樣,當其他的統(tǒng)計值增大時,也會相應(yīng)地增加其對應(yīng)的資源分配值,因此可以實現(xiàn)同一計算機上運行的各個虛擬機之間的合理資源調(diào)配。
進一步地,還可以通過設(shè)置各個資源分配值在所述總資源分配值中所占的權(quán)重, 從而可以對各個虛擬機設(shè)定資源分配的優(yōu)先級,例如,設(shè)定所述I/O操作資源分配值在所述總資源分配值中所占的權(quán)重較大,則對單位時間I/O操作次數(shù)較多的虛擬機,將優(yōu)先分配更多計算機資源。


圖1是本發(fā)明虛擬機資源分配方法的流程示意圖;圖2是本發(fā)明虛擬機資源分配系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式請參閱圖1,圖1是本發(fā)明虛擬機資源分配方法的流程示意圖。本發(fā)明虛擬機資源分配方法包括以下步驟Si,分別獲取在主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值;在本步驟中,通過對各個虛擬機的運行情況的監(jiān)控,獲取上述各項統(tǒng)計值。即通過監(jiān)控各個虛擬機的I/O操作,獲取所述虛擬機的單位時間I/O操作次數(shù)的統(tǒng)計值;通過監(jiān)控各個虛擬機的VCPU單次執(zhí)行時間,獲取所述虛擬機的VCPU單次執(zhí)行時間的統(tǒng)計值;通過監(jiān)控各個虛擬機的指令隊列,獲取所述單位時間指令隊列深度的統(tǒng)計值;通過監(jiān)控各個虛擬機的數(shù)據(jù)包收發(fā),獲取所述單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值。進一步可設(shè)定每隔一個預(yù)定周期對各個虛擬機的運行情況發(fā)起一次上述監(jiān)控,以獲得最新的統(tǒng)計值數(shù)據(jù)。然后對上述各項統(tǒng)計值,在主機上運行的所有虛擬機范圍內(nèi)求取其平均值。例如, 根據(jù)各個虛擬機的單位時間I/O操作次數(shù)的統(tǒng)計值,計算單位時間I/O操作次數(shù)的平均值; 根據(jù)各個虛擬機的VCPU單次執(zhí)行時間,計算VCPU單次執(zhí)行時間的平均值;根據(jù)各個虛擬機的單位時間指令隊列深度,計算單位時間指令隊列深度的平均值;根據(jù)各個虛擬機的單位時間收發(fā)數(shù)據(jù)包數(shù)目,計算單位時間收發(fā)數(shù)據(jù)包數(shù)目的平均值。S2,根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,計算所述虛擬機的I/O操作資源分配值;在本步驟中,優(yōu)選按照以下公式計算所述虛擬機的I/O操作資源分配值
權(quán)利要求
1.一種虛擬機資源分配方法,其特征在于,包括以下步驟分別獲取在主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、 單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值;根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,計算所述虛擬機的I/O操作資源分配值;根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,以及所述虛擬機VCPU單次執(zhí)行時間的統(tǒng)計值及對應(yīng)的VCPU單次執(zhí)行時間的平均值, 計算所述虛擬機的實時響應(yīng)資源分配值;根據(jù)各個虛擬機單位時間指令隊列深度的統(tǒng)計值及對應(yīng)的單位時間指令隊列深度的平均值,計算所述虛擬機的運算資源分配值;根據(jù)各個虛擬機單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值及對應(yīng)的單位時間收發(fā)數(shù)據(jù)包數(shù)目的平均值,計算所述虛擬機的通信資源分配值;根據(jù)所述I/O操作資源分配值,所述實時響應(yīng)資源分配值,所述運算資源分配值,以及所述通信資源分配值,計算所述虛擬機的總資源分配值;根據(jù)各個所述虛擬機的總資源分配值,調(diào)節(jié)各個虛擬機的資源分配比例。
2.如權(quán)利要求1所述的虛擬機資源分配方法,其特征在于,根據(jù)以下公式計算所述虛擬機的總資源分配值Weight = W1X F (χ)+w2 X G (χ,t)+w3X H (y)+w4 X I (η)其中,Weight是所述虛擬機的總資源分配值,W1, W2, W3和W4分別為預(yù)先設(shè)定的各種資源分配值的權(quán)重,F(xiàn)(X)為所述虛擬機的I/O操作資源分配值,G(x,t)為所述虛擬機的實時響應(yīng)資源分配值,H(y)為所述虛擬機的運算資源分配值,I (η)為所述虛擬機的通信資源分配值。
3.如權(quán)利要求2所述的虛擬機資源分配方法,其特征在于,根據(jù)以下公式計算所述虛擬機的I/O操作資源分配值
4.如權(quán)利要求2所述的虛擬機資源分配方法,其特征在于,在計算所述虛擬機的總資源分配值之前,進一步包括根據(jù)用戶指令,調(diào)整各種資源分配值的權(quán)重的步驟。
5.如權(quán)利要求1至4中任一項所述的虛擬機資源分配方法,其特征在于,根據(jù)各個所述虛擬機的總資源分配值,調(diào)節(jié)各個虛擬機的資源分配比例的步驟包括計算各個所述虛擬機的總資源分配值的總和; 計算各個所述虛擬機的總資源分配值與所述總和的比值; 根據(jù)所述比值調(diào)整各個虛擬機的資源分配比例。
6.一種虛擬機資源分配系統(tǒng),其特征在于,包括監(jiān)控模塊,用于獲取在主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值;操作資源分配值計算模塊,用于根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,計算所述虛擬機的I/O操作資源分配值;實時資源分配值計算模塊,用于根據(jù)各個虛擬機單位時間I/O操作次數(shù)的統(tǒng)計值及對應(yīng)的單位時間I/O操作次數(shù)的平均值,以及所述虛擬機VCPU單次執(zhí)行時間的統(tǒng)計值及對應(yīng)的VCPU單詞執(zhí)行時間的平均值,計算所述虛擬機的實時響應(yīng)資源分配值;運算資源分配值計算模塊,用于根據(jù)各個虛擬機單位時間指令隊列深度的統(tǒng)計值及對應(yīng)的單位時間指令隊列深度的平均值,計算所述虛擬機的運算資源分配值;通信資源分配值計算模塊,用于根據(jù)各個虛擬機單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值及對應(yīng)的單位時間收發(fā)數(shù)據(jù)包數(shù)目的平均值,計算所述虛擬機的通信資源分配值;總資源分配值計算模塊,用于根據(jù)所述I/O操作資源分配值,所述實時響應(yīng)資源分配值,所述運算資源分配值,以及所述通信資源分配值,計算所述虛擬機的總資源分配值;資源調(diào)度模塊,用于根據(jù)各個所述虛擬機的總資源分配值,調(diào)節(jié)各個虛擬機的資源分配比例。
7.如權(quán)利要求6所述的虛擬機資源分配系統(tǒng),其特征在于,所述總資源分配值計算模塊根據(jù)以下公式計算所述虛擬機的總資源分配值Weight = W1X F (χ)+w2 X G (χ,t)+w3X H (y)+w4 X I (η)其中,Weight是所述虛擬機的總資源分配值,W1, W2, W3和W4分別為預(yù)先設(shè)定的各種資源分配值的權(quán)重,F(xiàn)(X)為所述虛擬機的I/O操作資源分配值,G(x,t)為所述虛擬機的實時響應(yīng)資源分配值,H(y)為所述虛擬機的運算資源分配值,I (η)為所述虛擬機的通信資源分配值。
8.如權(quán)利要求7所述的虛擬機資源分配系統(tǒng),其特征在于,所述操作資源分配值計算模塊根據(jù)以下公式計算所述虛擬機的I/O操作資源分配值
9.如權(quán)利要求7所述的虛擬機資源分配系統(tǒng),其特征在于,進一步包括優(yōu)先級調(diào)整模塊,所述優(yōu)先級調(diào)整模塊用于根據(jù)用戶指令,調(diào)整各種資源分配值的權(quán)重。
10.如權(quán)利要求6至9中任一項所述的虛擬機資源分配系統(tǒng),其特征在于,所述資源調(diào)度模塊計算各個所述虛擬機的總資源分配值的總和,并計算各個所述虛擬機的總資源分配值與所述總和的比值,根據(jù)所述比值調(diào)整各個虛擬機占用的資源分配比例。
全文摘要
本發(fā)明提供一種虛擬機資源分配方法及其系統(tǒng),統(tǒng)計主機上運行的各個虛擬機的單位時間I/O操作次數(shù)、VCPU單次執(zhí)行時間、單位時間指令隊列深度、以及單位時間收發(fā)數(shù)據(jù)包數(shù)目的統(tǒng)計值,并對主機上運行的所有虛擬機計算每一項所述統(tǒng)計值的平均值。根據(jù)單位時間I/O操作次數(shù)計算虛擬機的I/O操作資源分配值;根據(jù)VCPU單次執(zhí)行時間計算所述實時響應(yīng)資源分配值;根據(jù)單位時間指令隊列深度計算所述運算資源分配值;根據(jù)單位時間收發(fā)數(shù)據(jù)包數(shù)目,計算所述通信資源分配值。最后獲得對各個虛擬機分配資源的總資源分配值,根據(jù)所述總資源分配值來調(diào)節(jié)各個虛擬機占用的計算機資源分配比例。以達到根據(jù)虛擬機的應(yīng)用特征來優(yōu)化虛擬機性能的目的。
文檔編號G06F9/50GK102521055SQ201110421298
公開日2012年6月27日 申請日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者何利明, 周冠宇, 朱凌峰 申請人:廣州杰賽科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1