欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)的制作方法

文檔序號(hào):6492896閱讀:459來源:國知局
虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)。該方法包括:針對虛擬機(jī)VM待刪除的VCPU,識(shí)別VCPU上是否有資源調(diào)度請求;響應(yīng)于VCPU上有資源調(diào)度請求,根據(jù)VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)資源調(diào)度請求,使得資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng);響應(yīng)于資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將VCPU上排隊(duì)的進(jìn)程調(diào)度至VM的其他VCPU;刪除VCPU,釋放VCPU占有的物理服務(wù)器CPU資源。通過本發(fā)明提供的技術(shù)方案,能夠在運(yùn)行狀態(tài)下減少VCPU資源,實(shí)現(xiàn)了虛擬機(jī)資源的彈性伸縮。
【專利說明】虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,特別涉及一種虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)。
【背景技術(shù)】
[0002]虛擬機(jī)(Virtual Machine,VM)指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。虛擬機(jī)應(yīng)用軟件在宿主計(jì)算機(jī)的真實(shí)處理器和內(nèi)存基礎(chǔ)之上為虛擬機(jī)提供虛擬的硬件,這些虛擬的硬件能夠完全被安裝在虛擬機(jī)上的操作系統(tǒng)認(rèn)為是真實(shí)的硬件。從操作系統(tǒng)的運(yùn)行特性來看,虛擬出的硬件和真實(shí)的硬件沒有本質(zhì)上的差別,并且各個(gè)虛擬機(jī)之間具備相對獨(dú)立的運(yùn)行空間。
[0003]當(dāng)虛擬機(jī)處于運(yùn)行狀態(tài)時(shí),在某些情況下需要?jiǎng)討B(tài)調(diào)整虛擬機(jī)的計(jì)算資源。例如,用戶需要配置某臺(tái)虛擬機(jī)的虛擬中央處理器VCPU個(gè)數(shù),在業(yè)務(wù)高峰期可以從I個(gè)VCPU增加到2個(gè)或4個(gè)VCPU。在業(yè)務(wù)處于平緩區(qū)而要從4個(gè)VCPU調(diào)整為2個(gè)VCPU。虛擬機(jī)在線資源彈性伸縮能夠?qū)崿F(xiàn)按需使用、按需分配,有效提高資源利用率。
[0004]當(dāng)前針對虛擬機(jī)運(yùn)行狀態(tài)下實(shí)現(xiàn)虛擬機(jī)部分資源的調(diào)整,可以實(shí)現(xiàn)在物理主機(jī)CPU超線程核數(shù)范圍內(nèi)在線增加VCPU的個(gè)數(shù)。目前也有一些針對采用RISC指令集的小型機(jī),例如Unix服務(wù)器,可以提供運(yùn)行過程中動(dòng)態(tài)調(diào)整虛擬機(jī)的CPU和內(nèi)存,既可以增加也可以減少。
[0005]不同于采用RISC指令集的小型機(jī),x86服務(wù)器具有價(jià)格低廉、架構(gòu)通用等諸多優(yōu)點(diǎn),成為了業(yè)界主流的計(jì)算單元,隨著業(yè)務(wù)應(yīng)用的需求不斷改變,在現(xiàn)有x86環(huán)境下實(shí)現(xiàn)在線減少虛擬機(jī)VCPU資源,十分重要。然而,在CISC指令集的x86架構(gòu)下,由于其虛擬化技術(shù)是近幾年來才得到大規(guī)模的發(fā)展,在x86架構(gòu)下的虛擬化軟件僅能夠支持動(dòng)態(tài)VCPU資源的增加,而不能實(shí)現(xiàn)運(yùn)行過程中減少VCPU資源,不能實(shí)現(xiàn)虛擬機(jī)物理資源的彈性伸縮。

【發(fā)明內(nèi)容】

[0006]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,所要解決的一個(gè)技術(shù)問題是:提供一種虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng),以實(shí)現(xiàn)虛擬機(jī)運(yùn)行過程中減少虛擬中央處理器VCPU資源。
[0007]本發(fā)明實(shí)施例提供的一種虛擬機(jī)處理器資源的調(diào)整方法,虛擬機(jī)VM具有多個(gè)虛擬處理器VCPU,所述方法包括:
[0008]針對虛擬機(jī)VM待刪除的VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求;
[0009]響應(yīng)于所述VCPU上有資源調(diào)度請求,根據(jù)所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)所述資源調(diào)度請求,使得所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng);
[0010]響應(yīng)于所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將所述VCPU上排隊(duì)的進(jìn)程調(diào)度至所述VM的其他VCPU ;[0011]刪除所述VCPU,釋放所述VCPU占有的物理服務(wù)器CPU資源。
[0012]優(yōu)選地,所述方法還包括:
[0013]比較所述多個(gè)VCPU的平均資源利用率;
[0014]根據(jù)待刪除的VCPU的個(gè)數(shù)n,從所述多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù);
[0015]以所述η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行所述針對VM待刪除的虛擬處理器VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求的操作。
[0016]優(yōu)選地,所述延遲所述VCPU響應(yīng)所述資源調(diào)度請求,具體包括:
[0017]提高所述VCPU上的空閑idle進(jìn)程的優(yōu)先級,使所述VCPU切換至idle狀態(tài);
[0018]所述VM的虛擬機(jī)監(jiān)視器VMM不執(zhí)行為所述資源調(diào)度請求分配物理資源的操作。
[0019]優(yōu)選地,所述提高所述VCPU的空閑idle進(jìn)程的優(yōu)先級,具體包括:
[0020]通過暫停suspend機(jī)制提高所述VCPU的空閑idle進(jìn)程的優(yōu)先級。
[0021]優(yōu)選地,所述方法還包括:
[0022]接收虛擬處理器的資源調(diào)整指令,識(shí)別所述資源調(diào)整指令指示的調(diào)整內(nèi)容;
[0023]響應(yīng)于所述資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,確定待刪除的VCPU的個(gè)數(shù)η后,執(zhí)行所述比較所述多個(gè)VCPU的平均資源利用率的操作。
[0024]本發(fā)明實(shí)施例提供的一種虛擬機(jī)處理器資源的調(diào)整裝置,虛擬機(jī)VM具有多個(gè)虛擬處理器VCPU,所述裝置包括:
[0025]識(shí)別單元,用于針對虛擬機(jī)VM待刪除的VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求;
[0026]延遲單元,用于響應(yīng)于所述VCPU上有資源調(diào)度請求,根據(jù)所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)所述資源調(diào)度請求,使得所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),以使得所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將所述VCPU上排隊(duì)的進(jìn)程調(diào)度至所述VM的其他VCPU ;
[0027]釋放單元,用于刪除所述VCPU,釋放所述VCPU占有的物理服務(wù)器CPU資源。
[0028]優(yōu)選地,所述裝置還包括:
[0029]選擇單元,用于比較所述多個(gè)VCPU的平均資源利用率;根據(jù)待刪除的VCPU的個(gè)數(shù)η,從所述多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù);
[0030]所述識(shí)別單元以所述選擇單元選取的所述η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行所述針對VM待刪除的虛擬處理器VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求的操作。
[0031]優(yōu)選地,所述延遲單元,具體用于提高所述VCPU上的空閑idle進(jìn)程的優(yōu)先級,使所述VCPU切換至idle狀態(tài),VM的虛擬機(jī)監(jiān)視器VMM不執(zhí)行為所述資源調(diào)度請求分配物理資源的操作。
[0032]優(yōu)選地,所述延遲單元,具體用于通過suspend機(jī)制提高所述VCPU的空閑idle進(jìn)程的優(yōu)先級。
[0033]優(yōu)選地,所述裝置還包括:
[0034]指令接收單元,用于接收虛擬處理器的資源調(diào)整指令,識(shí)別所述資源調(diào)整指令指示的調(diào)整內(nèi)容;響應(yīng)于所述資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,確定待刪除的VCPU的個(gè)數(shù)η。
[0035]本發(fā)明實(shí)施例提供的一種虛擬機(jī)系統(tǒng),所述虛擬機(jī)具有多個(gè)虛擬處理器VCPU,所述虛擬機(jī)系統(tǒng)包括:
[0036]識(shí)別單元,用于針對虛擬機(jī)系統(tǒng)待刪除的VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求;
[0037]虛擬機(jī)監(jiān)視器VMM,用于響應(yīng)于所述VCPU上有資源調(diào)度請求,根據(jù)所述虛擬機(jī)系統(tǒng)的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)所述資源調(diào)度請求,使得所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng);
[0038]操作系統(tǒng),用于識(shí)別所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),啟動(dòng)自動(dòng)故障檢測操作,將所述VCPU上排隊(duì)的進(jìn)程調(diào)度至所述虛擬機(jī)系統(tǒng)的其他VCPU ;
[0039]釋放單元,用于響應(yīng)于所述VCPU上沒有排隊(duì)的進(jìn)程,刪除所述VCPU,釋放所述VCPU占有的物理服務(wù)器CPU資源。
[0040]優(yōu)選地,所述虛擬機(jī)系統(tǒng)還包括:
[0041]選擇單元,用于比較所述多個(gè)VCPU的平均資源利用率;根據(jù)待刪除的VCPU的個(gè)數(shù)n,從所述多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù);
[0042]所述識(shí)別單元以所述選擇單元選取的所述η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行所述針對虛擬機(jī)系統(tǒng)待刪除的虛擬處理器VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求的操作。
[0043]優(yōu)選地,所述VMM,具體用于提高所述VCPU上的空閑idle進(jìn)程的優(yōu)先級,使所述VCPU切換至idle狀態(tài),所述虛擬機(jī)系統(tǒng)的VMM不執(zhí)行為所述資源調(diào)度請求分配物理資源的操作。
[0044]基于本發(fā)明上述實(shí)施例提供的虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng),針對虛擬機(jī)VM待刪除的VCPU,根據(jù)VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)資源調(diào)度請求,使得資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),由VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將VCPU上排隊(duì)的進(jìn)程調(diào)度至VM的其他VCPU,從而能夠刪除該VCPU。通過上述方案能夠在虛擬機(jī)運(yùn)行狀態(tài)下減少VCPU資源,實(shí)現(xiàn)了虛擬機(jī)資源的彈性伸縮。根據(jù)上述各實(shí)施例,可以在x86架構(gòu)物理器的虛擬機(jī)上應(yīng)用本發(fā)明提供的技術(shù)方案,實(shí)現(xiàn)了 x86架構(gòu)下的虛擬化軟件對動(dòng)態(tài)VCPU資源減少的支持。
[0045]通過以下參照附圖對本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
【專利附圖】

【附圖說明】
[0046]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0047]同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步討論。[0048]構(gòu)成說明書的一部分的附圖描述了本發(fā)明的實(shí)施例,并且連同說明書一起用于解釋本發(fā)明的原理。
[0049]參照附圖,根據(jù)下面的詳細(xì)描述,可以更加清楚地理解本發(fā)明,其中:
[0050]圖1示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整方法一種實(shí)施例的流程示意圖;
[0051]圖2示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整方法另一種實(shí)施例的流程示意圖;
[0052]圖3示出虛擬機(jī)系統(tǒng)的結(jié)構(gòu)示意圖;
[0053]圖4示出虛擬機(jī)系統(tǒng)的虛擬機(jī)監(jiān)視器對指令的處理流程示意圖;
[0054]圖5示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整裝置一種實(shí)施例的結(jié)構(gòu)示意圖;
[0055]圖6示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)一種實(shí)施例的結(jié)構(gòu)示意圖;
[0056]圖7示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整方法一種實(shí)施例的網(wǎng)絡(luò)連接示意圖。
【具體實(shí)施方式】
[0057]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對布置不限制本發(fā)明的范圍。
[0058]以下對至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0059]對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說明書的一部分。
[0060]在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
[0061]以下各實(shí)施例所提供的虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)可以應(yīng)用在x86架構(gòu)服務(wù)器的虛擬機(jī)上,實(shí)現(xiàn)x86架構(gòu)下的虛擬化軟件對動(dòng)態(tài)VCPU資源減少的支持,也可以應(yīng)用在基于類似指令集物理主機(jī)的虛擬機(jī)上。
[0062]參見圖1所示,圖1示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整方法一種實(shí)施例的流程示意圖。虛擬機(jī)VM具有多個(gè)虛擬處理器VCPU,該實(shí)施例提供的虛擬機(jī)處理器資源的調(diào)整方法包括以下步驟。
[0063]101,針對虛擬機(jī)VM待刪除的VCPU,識(shí)別VCPU上是否有資源調(diào)度請求。
[0064]102,響應(yīng)于VCPU上有資源調(diào)度請求,根據(jù)VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)資源調(diào)度請求,使得資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng)。其中,響應(yīng)時(shí)間門限值為資源調(diào)度請求等待獲得響應(yīng)的最大時(shí)間值,當(dāng)資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未得到響應(yīng),VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測。
[0065]103,響應(yīng)于資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將VCPU上排隊(duì)的進(jìn)程調(diào)度至VM的其他VCPU。由于VM的操作系統(tǒng)支持VCPU的自動(dòng)故障檢測和重新調(diào)度,當(dāng)資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未得到響應(yīng),VM的操作系統(tǒng)認(rèn)為該VCPU出現(xiàn)故障,即通過故障模擬強(qiáng)迫虛擬機(jī)掛起要?jiǎng)h除的VCPU,從而將該VCPU上排隊(duì)的進(jìn)程遷移到VCPU上。
[0066]104,刪除VCPU,釋放VCPU占有的物理服務(wù)器CPU資源。
[0067]基于本發(fā)明上述實(shí)施例提供的方法,針對虛擬機(jī)VM待刪除的VCPU,通過延遲響應(yīng)資源調(diào)度請求,使得資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),由VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,從而將VCPU上排隊(duì)的進(jìn)程調(diào)度至VM的其他VCPU。從而能夠空出VCPU,并刪除該VCPU,完成資源的徹底回收,實(shí)現(xiàn)了運(yùn)行狀態(tài)下動(dòng)態(tài)VCPU資源的減少。
[0068]參見圖2所示,圖2示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整方法另一種實(shí)施例的流程示意圖。根據(jù)本發(fā)明方法實(shí)施例的另一個(gè)具體示例,該方法還包括:
[0069]201,比較多個(gè)VCPU的平均資源利用率;
[0070]202,根據(jù)待刪除的VCPU的個(gè)數(shù)n,從多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU作為待刪除的VCPU,η為大于等于I的自然數(shù)。
[0071]之后,以η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行針對VM待刪除的虛擬處理器VCPU,識(shí)別VCPU上是否有資源調(diào)度請求的操作。
[0072]參見圖3所示,圖3示出虛擬機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。典型的基于多核平臺(tái)的虛擬機(jī)系統(tǒng)可分為3層:提供物理硬件的物理主機(jī)、虛擬機(jī)監(jiān)視器(VMM,Virtual MachineMonitor)、虛擬機(jī)VM。如圖3所示,在該結(jié)構(gòu)下虛擬機(jī)系統(tǒng)按照兩級的調(diào)度框架進(jìn)行調(diào)度。首先是VMM負(fù)責(zé)第一級調(diào)度,即對VCPU在物理處理單元的調(diào)度。其次是客戶操作系統(tǒng)負(fù)責(zé)第二級調(diào)度,即虛擬機(jī)線程或進(jìn)程在VCPU上的調(diào)度。從VMM的視覺來看,VCPU對物理CPU的訪問相當(dāng)于VMM的一個(gè)子進(jìn)程,VCPU所獲得的分配資源就是VCPU對應(yīng)進(jìn)程所獲得的資源。因此,通過本發(fā)明提供的控制方法,通過控制VMM不執(zhí)行為資源調(diào)度請求分配物理資源的操作,使VCPU上的資源請求得不到及時(shí)響應(yīng),從而能夠?qū)CPU實(shí)施控制并實(shí)現(xiàn)減少VCPUo
[0073]根據(jù)本發(fā)明方法實(shí)施例的一個(gè)具體示例,圖1所示實(shí)施例的操作103中,延遲VCPU響應(yīng)資源調(diào)度請求可以通過如下方式實(shí)現(xiàn):
[0074]提高VCPU上的空閑idle進(jìn)程的優(yōu)先級,使VCPU切換至idle狀態(tài);VM的VMM不執(zhí)行為資源調(diào)度請求分配物理資源的操作。
[0075]對于延遲操作,也可以通過在VMM的調(diào)度機(jī)制上進(jìn)行設(shè)置,使得虛擬機(jī)的VCPU不能獲得執(zhí)行的機(jī)會(huì)。參見圖4所示,圖4示出虛擬機(jī)系統(tǒng)的虛擬機(jī)監(jiān)視器對指令的處理流程示意圖。可以采樣“特權(quán)解除”和“陷入一模擬”技術(shù),通過將VMM運(yùn)行在最高特權(quán)級,客戶操作系統(tǒng)的大部分指令仍可在硬件上直接運(yùn)行。當(dāng)客戶操作系統(tǒng)執(zhí)行到特權(quán)指令,才會(huì)陷入到最高特權(quán)級的VMM模擬執(zhí)行。如圖4所示,VMM通常包括調(diào)度器、分配器和解釋器,當(dāng)調(diào)度器分析識(shí)別收到的指令是可能改變資源的指令時(shí),交給分配器進(jìn)行資源調(diào)整。將訪問特權(quán)資源的指令交給解釋器。因此,通過分配器不對可能改變資源的指令進(jìn)行響應(yīng),從而延遲VCPU響應(yīng)資源調(diào)度請求。
[0076]根據(jù)本發(fā)明方法實(shí)施例的一個(gè)具體示例,具體可以通過suspend機(jī)制提高VCPU的空閑idle進(jìn)程的優(yōu)先級。例如,設(shè)置idle進(jìn)程的優(yōu)先級為最高,迫使該CPU切換到執(zhí)行idle,從而實(shí)現(xiàn)在x86架構(gòu)的資源環(huán)境下,該VCPU上排隊(duì)的進(jìn)程得不到響應(yīng)而被遷移到其它VCPU上。
[0077]根據(jù)本發(fā)明方法實(shí)施例的一個(gè)具體示例,該方法還包括:
[0078]接收虛擬處理器的資源調(diào)整指令,識(shí)別資源調(diào)整指令指示的調(diào)整內(nèi)容;響應(yīng)于資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,確定待刪除的VCPU的個(gè)數(shù)η后,執(zhí)行比較多個(gè)VCPU的平均資源利用率的操作。
[0079]若資源調(diào)整指令為增加VCPU資源的資源調(diào)整指令,則按照執(zhí)行對應(yīng)的增加VCPU資源的操作,具體執(zhí)行增加VCPU資源的操作,可以按照本領(lǐng)域技術(shù)人員所知道的實(shí)現(xiàn)方式實(shí)施。
[0080]參見圖5所示,圖5示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整系統(tǒng)一種實(shí)施例的結(jié)構(gòu)示意圖。虛擬機(jī)VM具有多個(gè)虛擬處理器VCPU,該實(shí)施例提供的虛擬機(jī)處理器資源的調(diào)整裝置包括:
[0081]識(shí)別單元501,用于針對虛擬機(jī)VM待刪除的VCPU,識(shí)別VCPU上是否有資源調(diào)度請求;
[0082]延遲單元502,用于響應(yīng)于VCPU上有資源調(diào)度請求,根據(jù)VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)資源調(diào)度請求,使得資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),以使得VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將VCPU上排隊(duì)的進(jìn)程調(diào)度至VM的其他VCPU ;
[0083]釋放單元503,用于響應(yīng)于VCPU上沒有排隊(duì)的進(jìn)程,刪除VCPU,釋放VCPU占有的物理服務(wù)器CPU資源。
[0084]根據(jù)本發(fā)明裝置實(shí)施例的一個(gè)具體示例,裝置還包括:
[0085]選擇單元504,用于比較多個(gè)VCPU的平均資源利用率;根據(jù)待刪除的VCPU的個(gè)數(shù)η,從多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù)。識(shí)別單元501,以選擇單元選取的η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行針對VM待刪除的虛擬處理器VCPU,識(shí)別VCPU上是否有資源調(diào)度請求的操作。
[0086]根據(jù)本發(fā)明裝置實(shí)施例的一個(gè)具體示例,延遲單元502具體用于提高VCPU上的空閑idle進(jìn)程的優(yōu)先級,使VCPU切換至idle狀態(tài),VM的虛擬機(jī)監(jiān)視器VMM不執(zhí)行為資源調(diào)度請求分配物理資源的操作。
[0087]根據(jù)本發(fā)明裝置實(shí)施例的一個(gè)具體示例,延遲單元502具體用于通過Suspend機(jī)制提高VCPU的空閑idle進(jìn)程的優(yōu)先級。
[0088]根據(jù)本發(fā)明裝置實(shí)施例的一個(gè)具體示例,該裝置還包括:
[0089]指令接收單元505,用于接收虛擬處理器的資源調(diào)整指令,識(shí)別資源調(diào)整指令指示的調(diào)整內(nèi)容;響應(yīng)于資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,確定待刪除的VCPU的個(gè)數(shù)η。
[0090]參見圖6所示,圖6示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)一種實(shí)施例的結(jié)構(gòu)示意圖。該虛擬機(jī)具有多個(gè)虛擬處理器VCPU,包括:
[0091]識(shí)別單元601,用于針對虛擬機(jī)系統(tǒng)待刪除的VCPUdPjlj VCPU上是否有資源調(diào)度請求,其中,識(shí)別單元601可以集成在虛擬機(jī)監(jiān)視器VMM602中;
[0092]虛擬機(jī)監(jiān)視器VMM602,用于響應(yīng)于VCPU上有資源調(diào)度請求,根據(jù)VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)資源調(diào)度請求,使得資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng);
[0093]虛擬機(jī)系統(tǒng)的操作系統(tǒng)603,用于識(shí)別資源調(diào)度請求在響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),啟動(dòng)自動(dòng)故障檢測操作,將VCPU上排隊(duì)的進(jìn)程調(diào)度至虛擬機(jī)系統(tǒng)的其他VCPU ;
[0094]釋放單元604,用于刪除VCPU,釋放VCPU占有的物理服務(wù)器CPU資源,其中,釋放單元604也可以集成在虛擬機(jī)監(jiān)視器VMM602中。
[0095]根據(jù)本發(fā)明虛擬機(jī)系統(tǒng)實(shí)施例的一個(gè)具體示例,VM還包括:[0096]選擇單元605,用于比較多個(gè)VCPU的平均資源利用率;根據(jù)待刪除的VCPU的個(gè)數(shù)n,從多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù),其中,選擇單元605可以集成在虛擬機(jī)監(jiān)視器VMM602中;
[0097]識(shí)別單元605以選擇單元選取的η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行針對VM待刪除的虛擬處理器VCPU,識(shí)別VCPU上是否有資源調(diào)度請求的操作。
[0098]根據(jù)本發(fā)明虛擬機(jī)系統(tǒng)實(shí)施例的一個(gè)具體示例,VMM602具體用于提高VCPU上的空閑idle進(jìn)程的優(yōu)先級,使VCPU切換至idle狀態(tài),虛擬機(jī)系統(tǒng)的VMM不執(zhí)行為資源調(diào)度請求分配物理資源的操作。
[0099]為了更全面的描述本發(fā)明提出的方法,參見圖7所示,圖7示出本發(fā)明所提供的虛擬機(jī)處理器資源的調(diào)整方法一種實(shí)施例的網(wǎng)絡(luò)連接示意圖。根據(jù)上述實(shí)施例的描述,本領(lǐng)域技術(shù)應(yīng)該知道,以下操作中可以選擇性地執(zhí)行部分操作。
[0100]在圖7中,物理主機(jī)上有η臺(tái)虛擬機(jī),分別是VM-1,VM-2,……,VM_n,其中VM-1上分配有4個(gè)VCPU,分別為VCPU-1、VCPU-2、VCPU-3、VCPU-4。由于業(yè)務(wù)需求的變化,需要將VM-1上面的4個(gè)VCPU資源調(diào)整為2個(gè)VCPU資源。
[0101]接收虛擬處理器的資源調(diào)整指令,該指令可以由圖中管理服務(wù)器下發(fā),識(shí)別資源調(diào)整指令指示的調(diào)整內(nèi)容為將VM-1上面的4個(gè)VCPU資源調(diào)整為2個(gè)VCPU資源。
[0102]響應(yīng)于資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,即將VM-1上面的4個(gè)VCPU資源調(diào)整為2個(gè)VCPU資源,對VM-1的各個(gè)VCPU的平均利用率進(jìn)行比較。4個(gè)VP⑶的利用率分別為55%、43%、52%、38%,根據(jù)待刪除的VCPU的個(gè)數(shù)2,從多個(gè)VCPU中,選取平均資源利用率最低的2個(gè)VCPU,即VCPU-2和VCPU-4作為待刪除的VCPU。
[0103]接下來,針對VCPU-2和VCPU-4分別識(shí)別VCPU上是否有資源調(diào)度請求。識(shí)別VCPU-2和VCPU-4上是否有資源調(diào)度請求,響應(yīng)于VCPU-2和VCPU-4上有資源調(diào)度請求,根據(jù)VM — I的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,分別對VCPU-2和VCPU-4的資源調(diào)度請求進(jìn)行延遲。
[0104]例如,虛擬機(jī)VM-1的操作系統(tǒng)資源調(diào)度算法支持對長時(shí)間得不到響應(yīng)的CPU能執(zhí)行進(jìn)程切換,即支持VCPU的自動(dòng)故障檢測和重新調(diào)度。VM -1的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值5秒,VMM分別對VCPU-2和VCPU-4的資源調(diào)度請求延遲10秒,即延遲10秒后如果仍在請求隊(duì)列中才進(jìn)行響應(yīng)。當(dāng)VCPU-2和VCPU-4的資源調(diào)度請求在5秒內(nèi)得不到響應(yīng),由于VMM對資源調(diào)度請求的延遲,VM-1的操作系統(tǒng)發(fā)現(xiàn)5秒內(nèi)VCPU-2和VCPU-4上的計(jì)算請求都得不到調(diào)度,則認(rèn)為這兩個(gè)VCPU處于故障狀態(tài),將VCPU-2和VCPU-4上排隊(duì)的進(jìn)程遷移到VCPU-1和VCPU-3上執(zhí)行,將VCPU-2和VCPU-4在短時(shí)間內(nèi)切換到執(zhí)行idle模式,最后進(jìn)入halt狀態(tài)。當(dāng)VMM檢測到VCPU-2和VCPU-4上面除idle進(jìn)程外沒有其他排隊(duì)的進(jìn)程時(shí),從邏輯上刪除VCPU-2和VCPU-4,釋放這2個(gè)VCPU在物理服務(wù)器CPU上占用的資源,完成CPU資源的徹底回收,減少虛擬機(jī)使用的計(jì)算資源,從而實(shí)現(xiàn)在線減少虛擬機(jī)VCPU資源的目標(biāo)。
[0105]至此,已經(jīng)詳細(xì)描述了根據(jù)本發(fā)明的一種虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)。為了避免遮蔽本發(fā)明的構(gòu)思,沒有描述本領(lǐng)域所公知的一些細(xì)節(jié)。本領(lǐng)域技術(shù)人員根據(jù)上面的描述,完全可以明白如何實(shí)施這里公開的技術(shù)方案。
[0106]本說明書中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似的部分相互參見即可。對于虛擬機(jī)處理器資源的調(diào)整裝置、虛擬機(jī)實(shí)施例而言,由于其與方法實(shí)施例基本對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0107]可能以許多方式來實(shí)現(xiàn)本發(fā)明的虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的虛擬機(jī)處理器資源的調(diào)整方法、裝置與虛擬機(jī)系統(tǒng)。用于所述方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0108]雖然已經(jīng)通過示例對本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上示例僅是為了進(jìn)行說明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來限定。
【權(quán)利要求】
1.一種虛擬機(jī)處理器資源的調(diào)整方法,其特征在于,虛擬機(jī)VM具有多個(gè)虛擬處理器VCPU,所述方法包括: 針對虛擬機(jī)VM待刪除的VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求; 響應(yīng)于所述VCPU上有資源調(diào)度請求,根據(jù)所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)所述資源調(diào)度請求,使得所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng); 響應(yīng)于所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將所述VCPU上排隊(duì)的進(jìn)程調(diào)度至所述VM的其他VCPU ; 刪除所述VCPU,釋放所述VCPU占有的物理服務(wù)器CPU資源。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 比較所述多個(gè)VCPU的平均資源利用率; 根據(jù)待刪除的VCPU的個(gè)數(shù)n,從所述多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù); 以所述η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行所述針對VM待刪除的虛擬處理器VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求的操作。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述延遲所述VCPU響應(yīng)所述資源調(diào)度請求,具體包括: 提高所述VCPU上的空閑idle進(jìn)程的優(yōu)先級,使所述VCPU切換至idle狀態(tài); 所述VM的虛擬機(jī)監(jiān)視器VMM不執(zhí)行為所述資源調(diào)度請求分配物理資源的操作。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述提高所述VCPU的空閑idle進(jìn)程的優(yōu)先級,具體包括: 通過暫停suspend機(jī)制提高所述VCPU的空閑idle進(jìn)程的優(yōu)先級。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 接收虛擬處理器的資源調(diào)整指令,識(shí)別所述資源調(diào)整指令指示的調(diào)整內(nèi)容; 響應(yīng)于所述資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,確定待刪除的VCPU的個(gè)數(shù)η后,執(zhí)行所述比較所述多個(gè)VCPU的平均資源利用率的操作。
6.一種虛擬機(jī)處理器資源的調(diào)整裝置,其特征在于,虛擬機(jī)VM具有多個(gè)虛擬處理器VCPU,所述裝置包括:識(shí)別單元,用于針對虛擬機(jī)VM待刪除的VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求;延遲單元,用于響應(yīng)于所述VCPU上有資源調(diào)度請求,根據(jù)所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)所述資源調(diào)度請求,使得所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),以使得所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作,將所述VCPU上排隊(duì)的進(jìn)程調(diào)度至所述VM的其他VCPU ; 釋放單元,用于刪除所述VCPU,釋放所述VCPU占有的物理服務(wù)器CPU資源。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 選擇單元,用于比較所述多個(gè)VCPU的平均資源利用率;根據(jù)待刪除的VCPU的個(gè)數(shù)η,從所述多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù);所述識(shí)別單元以所述選擇單元選取的所述η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行所述針對VM待刪除的虛擬處理器VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求的操作。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述延遲單元,具體用于提高所述VCPU上的空閑idle進(jìn)程的優(yōu)先級,使所述VCPU切換至idle狀態(tài),VM的虛擬機(jī)監(jiān)視器VMM不執(zhí)行為所述資源調(diào)度請求分配物理資源的操作。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述延遲單元,具體用于通過suspend機(jī)制提高所述VCPU的空閑idle進(jìn)程的優(yōu)先級。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 指令接收單元,用于接收虛擬處理器的資源調(diào)整指令,識(shí)別所述資源調(diào)整指令指示的調(diào)整內(nèi)容;響應(yīng)于所述資源調(diào)整指令為減少VCPU資源的資源調(diào)整指令,確定待刪除的VCPU的個(gè)數(shù)η。
11.一種虛擬機(jī)系統(tǒng),其特征在于,所述虛擬機(jī)具有多個(gè)虛擬處理器VCPU,所述虛擬機(jī)系統(tǒng)包括: 識(shí)別單元,用于針對虛擬機(jī)VM待刪除的VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求; 虛擬機(jī)監(jiān)視器VMM,用于響應(yīng)于所述VCPU上有資源調(diào)度請求,根據(jù)所述VM的操作系統(tǒng)啟動(dòng)自動(dòng)故障檢測操作的響應(yīng)時(shí)間門限值,延遲響應(yīng)所述資源調(diào)度請求,使得所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng); 操作系統(tǒng),用于識(shí)別所述資源調(diào)度請求在所述響應(yīng)時(shí)間門限值內(nèi)未獲得響應(yīng),啟動(dòng)自動(dòng)故障檢測操作,將所述VCPU上排隊(duì)的進(jìn)程調(diào)度至所述VM的其他VCPU ; 釋放單元,用于響應(yīng)于所`述VCPU上沒有排隊(duì)的進(jìn)程,刪除所述VCPU,釋放所述VCPU占有的物理服務(wù)器CPU資源。
12.根據(jù)權(quán)利要求11所述的虛擬機(jī)系統(tǒng),其特征在于,所述VM還包括: 選擇單元,用于比較所述多個(gè)VCPU的平均資源利用率;根據(jù)待刪除的VCPU的個(gè)數(shù)n,從所述多個(gè)VCPU中,選取平均資源利用率最低的η個(gè)VCPU,η為大于等于I的自然數(shù); 所述識(shí)別單元以所述選擇單元選取的所述η個(gè)VCPU中的每一個(gè)VCPU作為待刪除的VCPU,分別執(zhí)行所述針對VM待刪除的虛擬處理器VCPU,識(shí)別所述VCPU上是否有資源調(diào)度請求的操作。
13.根據(jù)權(quán)利要求12所述的虛擬機(jī)系統(tǒng),其特征在于,所述VMM,具體用于提高所述VCPU上的空閑idle進(jìn)程的優(yōu)先級,使所述VCPU切換至idle狀態(tài),所述VM的VMM不執(zhí)行為所述資源調(diào)度請求分配物理資源的操作。
【文檔編號(hào)】G06F9/50GK103870332SQ201210539178
【公開日】2014年6月18日 申請日期:2012年12月13日 優(yōu)先權(quán)日:2012年12月13日
【發(fā)明者】金華敏, 賴培源, 蔡康, 黃勇軍, 李巧玲, 秦潤鋒, 樊勇兵, 陳天 申請人:中國電信股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
寻乌县| 胶州市| 惠来县| 中卫市| 和硕县| 赣州市| 蚌埠市| 通城县| 孙吴县| 涿鹿县| 内乡县| 甘南县| 信阳市| 延津县| 陈巴尔虎旗| 涿州市| 长汀县| 修水县| 木兰县| 阳朔县| 三河市| 屏东县| 海门市| 宽甸| 遵化市| 咸宁市| 临湘市| 米易县| 明溪县| 通化县| 桐城市| 青浦区| 乌兰县| 清原| 玛纳斯县| 娄烦县| 襄汾县| 临海市| 彭泽县| 泰来县| 密云县|