一種基于云計算的準入控制算法
【技術領域】
[0001]本發(fā)明涉及服務器虛擬化技術領域,具體提供一種基于云計算的準入控制算法。
【背景技術】
[0002]Xen是一種多任務虛擬機管理器,負責保證每個運行的客戶虛擬機都能夠獲得一定的CPU時間。作為一個多任務系統(tǒng),Xen中的調(diào)度器需要在保證運行的客戶虛擬機的公平性和保證整體吞吐量之間做出折中考慮。Xen系統(tǒng)中建立了 VCPU(虛擬處理器)結構,為每個VM(虛擬機)提供一個或多個VCPU結構;在虛擬機內(nèi)部,客戶操作系統(tǒng)可以對這些VCPU進行調(diào)度。這些VCPU分時復用PCPU(物理處理器),即多核處理器中的核,任意時刻一個PCPU上只能被一個VCPU使用。因此,Xen需要對VCPU合理分配PCPU時間片并進行調(diào)度。Xen中的調(diào)度器,是一種按比例公平共享的非搶占式調(diào)度算法,能夠?qū)PU時間公平高效分配給各個VM,但是不支持實時調(diào)度,在響應速度要求較高的應用中,響應延遲普遍較長且波動明顯,不能滿足實時系統(tǒng)的性能需求,并且其不是實時調(diào)度算法,所以不能夠應用于硬實時領域。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的技術任務是針對上述存在的問題,提供一種可以減少動態(tài)迀移的開銷,提高系統(tǒng)在負載較大和任務參數(shù)變化時的魯棒性,保證系統(tǒng)的實時處理能力的基于云計算的準入控制算法。
[0004]為實現(xiàn)上述目的,本發(fā)明提供了如下技術方案:
一種基于云計算的準入控制算法,基于實時調(diào)度理論,控制每個PCPU上分配的負載不超過PCPU所能夠承受的最大值,在VCPU初始化和PCPU調(diào)度參數(shù)發(fā)生調(diào)整時,準入控制機制模塊會對VCPU的調(diào)度參數(shù)進行可調(diào)度性檢查,若可調(diào)度,則接受,并為VCHJ分配合適的PCPU;否則,則拒絕VCPU調(diào)度參數(shù)的調(diào)整。
作為優(yōu)選,采用循環(huán)首次適應準入控制算法下的VCPU初始化時的VCPU到PCPU的映射過程,系統(tǒng)初始時設置每個物理處理器PCPU的空閑CPU資源值為100,當通過首次適應的策略,嘗試將VCPU負載分配給PCPU時,準入控制機制模塊將會檢查PCPU上是否剩余有足夠的CPU資源可以滿足VCPU的CPU資源需求。若PCPU上剩余有足夠的CPU資源可以滿足VCPU的CPU資源需求,則該PCPU接受此VCPU負載;否則該PCPU拒絕接受此VCPU負載,繼續(xù)檢查下一個PCPU上是否剩余有足夠的CPU資源可以滿足VCPU負載的需求。如果能夠找到可以滿足VCPU負載需求的PCPU,則建立此VCPU,并將VCPU負載分配給該PCPU,更新該PCPU上空閑CPU資源值;如果找不到可以滿足VCPU的CPU資源需求的PCPU,則拒絕建立此VCPU,并返回相應信息。
[0005]作為優(yōu)選,所述VCPU的調(diào)度參數(shù)包括Per1d(周期)和Slice(時間片)。
[0006]作為優(yōu)選,當VCPU的調(diào)度參數(shù)或者對CPU的親和性發(fā)生調(diào)整時,準入控制機制模塊會檢查VCPU與原來所在的PCPU是否還滿足親和性關系以及原來所在的PCPU上是否能夠滿足修改后VCPU的CPU資源需求。如果都能夠滿足,則保持原來的VCPU和PCPU的分配關系不變,并根據(jù)修改后VCPU的CPU需求更新PCPU上空閑CPU資源值;如果上述兩個條件不能夠同時滿足,則從VCPU原來所在的PCPU的下一個PCPU開始,根據(jù)首次適應策略,從VCPU的所有親和PCPU中尋找能夠滿足修改后的VCPU的CPU資源需求的PCPU,如果能夠找到這樣的PCPU,則將該VCPU分配給該PCPU,并更新VCPU原來所在PCPU和現(xiàn)在所在PCPU上的空閑CPU資源值;如果找不到滿足條件的PCPU,則保持VCPU原來的調(diào)度參數(shù)和與PCPU的分配關系,拒絕VCPU調(diào)度參數(shù)的調(diào)整,并返回相應信息給用戶。
[0007]本發(fā)明具有以下突出的有益效果:所述算法能夠保證每個PCPU上分配的VCPU負載不會超載和一定的均衡性,從而保證了 Xen平臺上每個虛擬機中任務的實時性及其服務質(zhì)量,并在一定程度上實現(xiàn)了多個物理處理器核上的負載均衡性。
【具體實施方式】
[0008]下面結合實施例對本發(fā)明所述基于云計算的準入控制算法作進一步詳細說明。
[0009]
實施例
[0010]本發(fā)明所述基于云計算的準入控制算法,基于實時調(diào)度理論,控制每個PCPU上分配的負載不超過PCHJ所能夠承受的最大值,在VCPU初始化和PCPU調(diào)度參數(shù)發(fā)生調(diào)整時,準入控制機制模塊會對VCPU的調(diào)度參數(shù)進行可調(diào)度性檢查,若可調(diào)度,則接受,并為VCPU分配合適的PCPU;否則,則拒絕VCPU調(diào)度參數(shù)的調(diào)整。采用循環(huán)首次適應準入控制算法下的VCPU初始化時的VCPU到PCPU的映射過程,系統(tǒng)初始時設置每個物理處理器PCPU的空閑CPU資源值為100,當通過首次適應的策略,嘗試將VCPU負載分配給PCPU時,準入控制機制模塊將會檢查PCPU上是否剩余有足夠的CPU資源可以滿足VCPU的CPU資源需求。當VCPU的調(diào)度參數(shù)或者對CPU的親和性發(fā)生調(diào)整時,準入控制機制模塊會檢查VCPU與原來所在的PCPU是否還滿足親和性關系以及原來所在的PCHJ上是否能夠滿足修改后VCHJ的CHJ資源需求。VCPU的調(diào)度參數(shù)包括Per1d(周期)和Slice(時間片)。
[0011]以上所述的實施例,只是本發(fā)明較優(yōu)選的【具體實施方式】,本領域的技術人員在本發(fā)明技術方案范圍內(nèi)進行的通常變化和替換都應包含在本發(fā)明的保護范圍內(nèi)。
【主權項】
1.一種基于云計算的準入控制算法,其特征在于:基于實時調(diào)度理論,控制每個PCPU上分配的負載不超過PCPU所能夠承受的最大值,在VCPU初始化和PCPU調(diào)度參數(shù)發(fā)生調(diào)整時,準入控制機制模塊會對VCPU的調(diào)度參數(shù)進行可調(diào)度性檢查,若可調(diào)度,則接受,并為VCPU分配合適的PCPU;否則,則拒絕VCPU調(diào)度參數(shù)的調(diào)整。2.根據(jù)權利要求1所述的基于云計算的準入控制算法,其特征在于:采用循環(huán)首次適應準入控制算法下的VCPU初始化時的VCPU到PCPU的映射過程,系統(tǒng)初始時設置每個物理處理器PCPU的空閑CPU資源值為100,當通過首次適應的策略,嘗試將VCPU負載分配給PCPU時,準入控制機制模塊將會檢查PCPU上是否剩余有足夠的CPU資源可以滿足VCPU的CPU資源需求。3.根據(jù)權利要求1或2所述的基于云計算的準入控制算法,其特征在于:所述VCPU的調(diào)度參數(shù)包括Per1d(周期)和Slice(時間片)。4.根據(jù)權利要求3所述的基于云計算的準入控制算法,其特征在于:當VCPU的調(diào)度參數(shù)或者對CPU的親和性發(fā)生調(diào)整時,準入控制機制模塊會檢查VCPU與原來所在的PCPU是否還滿足親和性關系以及原來所在的PCPU上是否能夠滿足修改后VCPU的CPU資源需求。
【專利摘要】本發(fā)明公開了一種基于云計算的準入控制算法,屬于服務器虛擬化技術領域。所述基于云計算的準入控制算法,基于實時調(diào)度理論,控制每個PCPU上分配的負載不超過PCPU所能夠承受的最大值,在VCPU初始化和PCPU調(diào)度參數(shù)發(fā)生調(diào)整時,準入控制機制模塊會對VCPU的調(diào)度參數(shù)進行可調(diào)度性檢查,若可調(diào)度,則接受,并為VCPU分配合適的PCPU;否則,則拒絕VCPU調(diào)度參數(shù)的調(diào)整。本發(fā)明所述基于云計算的準入控制算法,可以減少動態(tài)遷移的開銷,提高系統(tǒng)在負載較大和任務參數(shù)變化時的魯棒性,保證系統(tǒng)的實時處理能力,具有很好的推廣應用價值。
【IPC分類】G06F9/50, G06F9/48, G06F9/455
【公開號】CN105550036
【申請?zhí)枴緾N201510899565
【發(fā)明人】侯德龍
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2016年5月4日
【申請日】2015年12月9日