馬 倩 王 菁 王 崗
(北方工業(yè)大學大規(guī)模流數(shù)據(jù)集成與分析技術北京市重點實驗室 北京 100144)
?
面向校園云平臺的虛擬機調度機制
馬倩王菁王崗
(北方工業(yè)大學大規(guī)模流數(shù)據(jù)集成與分析技術北京市重點實驗室北京 100144)
隨著教學信息化的不斷深化,校園云平臺越來越普及,但是實際應用中資源利用率仍然較低,核心問題在于當前的虛擬機調度機制未考慮校園應用的特征,從而導致負載不均和資源浪費。為了解決這一問題,提出面向校園云平臺的虛擬機調度機制,定義課程需求模型、物理機負載模型,并在此基礎上提出虛擬機部署方法。該機制可適應教學應用周期性、可預測性、批量性等特點,并實現(xiàn)節(jié)能及負載均衡的目標。實際平臺驗證表明,該機制可有效降低能耗并實現(xiàn)負載均衡。
校園云調度機制虛擬機放置降低能耗負載均衡
隨著教育改革不斷深化,信息化技術迅速發(fā)展,高校的信息化建設已成為國內外高?,F(xiàn)代化建設的重要內容。而當前高校信息化現(xiàn)狀是數(shù)據(jù)中心大多數(shù)是以服務器和SAN存儲連接方式為基礎,一個應用系統(tǒng)部署在一個服務器上,比如應用服務器、數(shù)據(jù)庫服務器等。這樣出現(xiàn)了以下情況:第一,高校二級單位信息化建設規(guī)模不斷擴大,計算機應用服務也隨之增加,具體應用依賴獨立的實驗室設施,投入了大量資金,形成一個個實驗室設備孤島;第二,實驗室項目的擴大以及數(shù)字化教學的需求導致投入大量資金購買服務器等設備,但這些設備利用率較低,造成了嚴重的資源浪費。
將云計算技術應用在校園,即校園云的興起旨在利用云計算的資源池化、按需分配等技術來求解上述問題。例如文獻[1]為滿足大學校園日益增長的計算需求和用戶需求,設計了一套基于OpenStack的開發(fā)云平臺,達到了彈性計算的要求;文獻[2]提出了校園云平臺成本效用函數(shù),建立了馬爾科夫鏈模型來分析負載均衡策略和貪心策略。各高校也相繼建起了校園云平臺,如東南大學[3]、清華大學[4]等。校園云平臺主要是利用虛擬化技術整合、虛擬物理資源,實現(xiàn)對計算資源的動態(tài)調配和按需使用。校園云平臺包含教學、科研兩類應用。科研應用呈現(xiàn)不可預知性、非周期性等特點,與傳統(tǒng)應用類似;而教學應用具有周期性、可預測性、批量性等特點,例如Linux上機實驗課需要為每個學生分配一臺虛擬機,并且在第1~10周,每周二的5、6節(jié)課上課時間內使用。但是實踐表明,實際應用中資源利用率仍然較低。分析原因可知,當前虛擬機調度機制為傳統(tǒng)調度方法,主要分為基于實時的調度與基于負載預測的調度兩類。若采用基于實時的調度方法,當上課期間出現(xiàn)過載情況時才會進行調度遷移,而遷移需要消耗較大的帶寬資源并且時間較長,勢必會影響上課質量;若采用基于負載預測的調度方法,對于新申請的課程虛擬機資源,沒有歷史運行數(shù)據(jù),無法進行正確預測。所以核心問題在于當前的虛擬機調度機制未考慮校園教學應用的特征,不能量體裁衣,從而導致負載不均和資源浪費。本文重點分析這種比較特殊的教學型應用。
由于教學型應用的特性,面向教學需求的計算資源即虛擬機的調配是個關鍵問題。這一問題又可進一步分解為以下兩個子問題:第一,虛擬機創(chuàng)建時的部署問題,即決定新創(chuàng)建的虛擬機部署在哪臺物理機上;第二,虛擬機使用時的動態(tài)調度問題,即根據(jù)物理機實際資源使用情況進行虛擬機的動態(tài)遷移。本文重點研究面向校園云平臺的虛擬機創(chuàng)建時的部署問題,提出面向校園云平臺的虛擬機調度機制,以期實現(xiàn)節(jié)能及負載均衡目的。
虛擬機優(yōu)化調度是虛擬機管理的核心問題,針對這一問題,學術界和工業(yè)界都提出了相關解決方案,下面將從面向節(jié)能、面向負載均衡、面向負載均衡以及節(jié)能三方面討論進行討論。
面向節(jié)能方面,Mylavarapu[5]等人將虛擬機的容量規(guī)劃問題建模為隨機優(yōu)化問題,采用遺傳算法與蒙特卡羅模擬相結合的方式加以解決。他們首先根據(jù)平均工作負載來分配虛擬機資源,部署虛擬機。此外,根據(jù)應用的SLA在每臺服務器上預留了空閑的資源池。這就避免了服務器過載、應用不能滿足SLA而帶來的虛擬機遷移。該算法與傳統(tǒng)的基于峰值工作負載的算法相比,所需服務器的數(shù)量較少,實現(xiàn)了節(jié)能。Goudarzi[6]等人研究了云計算環(huán)境中以節(jié)能為目的的虛擬機放置問題。他們提出了一種生成虛擬機備份的方法:基于動態(tài)優(yōu)化、局部搜索的算法。該算法決定了每臺服務器部署的虛擬機的數(shù)量。此外,他們重點研究了虛擬機控制器VMC(VM controller),VMC采用半靜態(tài)優(yōu)化方法以及動態(tài)最優(yōu)法來決定虛擬機的資源需求、部署虛擬機以及對虛擬機進行遷移操作;提出了節(jié)能虛擬機放置算法(Energy Efficient VM Placement Algotirhm),該算法主要用來決定放置在不同物理機上的虛擬機副本數(shù)量。
面向負載均衡方面,Chandakanna[7]等人提出了一個適用于負載均衡集群的基于模型視圖控制器的自適應調整集群框架SACF(Self-Adjusting Cluster Framework)。該框架可自動部署新的虛擬機,自動升級現(xiàn)有應用,并且保證集群的一致性。Choi[8]等人提出了一種根據(jù)最小化CPU利用率標準差的貪心策略進行負載遷移的算法。該算法基于一個學習框架來動態(tài)調整不同計算資源的閾值。該學習框架用記事本方法記錄了遷移前的CPU利用率的標準差,主機CPU利用率,遷移后的CPU利用率標準差、源機器、目標機器的信息以供學習。當記錄信息不存在的時候,模擬所有可能的遷移情況,選擇標準差最小的情況進行遷移。該算法利用了記事本來學習歷史調度決策從而實現(xiàn)集群內物理機的負載均衡。Hu[9]等人提出了一種根據(jù)所采集的歷史數(shù)據(jù)和系統(tǒng)當前狀態(tài)利用遺傳算法計算分配虛擬機資源后對系統(tǒng)的影響,從而找到最優(yōu)分配方式的以負載均衡為目的的調度算法。
兼顧節(jié)能以及負載均衡方面,Chang[10]等人提出了一個基于學習算法的神經(jīng)網(wǎng)絡模型。集群內的每臺服務器上部署了資源管理器用以預測云服務器的工作負載,從而高效地對資源進行分配,在提高服務器性能的同時降低能耗。Li[11]等人提出了一種面向感知數(shù)據(jù)托管的虛擬機調度策略,并采用貪婪思想設計實現(xiàn)了相應的調度系統(tǒng)及其算法。文中定義了冷熱點、熱度以及遷移優(yōu)先值等概念,通過對物理機進行冷熱點判斷,從而選擇調度模式:負載均衡模式下的調度、優(yōu)化節(jié)能模式下的調度以及正常模式下的不調度,及時消除冷熱點。此外,調度系統(tǒng)在遷移調度時,考慮到了不同業(yè)務類型虛擬機對各類資源的不同需求,實現(xiàn)了業(yè)務類型敏感的虛擬機調度。
總而言之,虛擬機調度針對不同目的,如上述的面向節(jié)能、面向負載均衡、面向負載均衡以及節(jié)能,采用優(yōu)化搜索算法、遺傳算法以及貪心策略、啟發(fā)式策略等在可能的解空間進行解的選擇,而后確定如何遷移調度。此外,工業(yè)界也提出了一些相關產品,如VMware推出的DRS(Distributed Resource Scheduler),該動態(tài)優(yōu)化技術產品可對虛擬機集群的性能進行監(jiān)控、管理以及控制,從而對資源進行優(yōu)化調度。
但是目前的研究一般針對傳統(tǒng)的云數(shù)據(jù)中心,當然也有少數(shù)面向特定應用領域的,比如面向感知數(shù)據(jù)托管平臺[11]、電子政務基礎架構云[12]、可對云資源進行綜合管理的清華云平臺[4],但是尚沒有針對校園云平臺的教學應用的虛擬機調度機制,沒有考慮到校園云負載的特征。
2.1問題定義
本文重點解決面向教學需求的計算資源調配的第一個子問題——靜態(tài)部署問題,下面是對該問題的具體闡述。
設校園云平臺的數(shù)據(jù)中心有n臺物理服務器,已部署了m個虛擬機供教學應用,待部署g個虛擬機。通過虛擬機部署使:
(1) 活躍的物理機數(shù)量盡可能少;
(2) 各活躍物理機的資源利用率盡可能均衡。
該目標可用下述公式表達:
其中:
(1) n為活躍的機器數(shù);
(2) r={cpu,…,memory},wr反映了虛擬機r資源維度上的利用率對整體資源利用率的貢獻權重,文獻[13]提出了一種設定權重具體值的方法,我們也可根據(jù)自己的經(jīng)驗及需求加以設定;
(3) uir為r資源維度上物理機i的利用率;
(4) averager為r資源維度上n個物理機的平均利用率。
2.2部署原理
當有一個新的課程需求時,首先按照各物理機負載與課程需求的相似程度從高到低對物理機負載進行分組;然后對相似程度最高的一組物理機負載進行以負載均衡為目的的虛擬機部署。若課程需求分配完成,則按照分配情況部署虛擬機;虛擬機部署完成之后更新物理機負載。若課程需求未分配完成,則對相似程度次高的一組物理機負載進行以負載均衡為目的虛擬機部署,重復上面的步驟,直到課程需求全部分配完成。
部署原理如圖1所示,它采用了“先集中、再分散”的策略:按照相似程度對物理機進行優(yōu)先選擇,可將虛擬機集中部署在相同時間段處于開機狀態(tài)的物理機上,用盡量少的物理機數(shù)來部署虛擬機從而實現(xiàn)節(jié)能;在相似程度一樣的物理機組內進行負載均衡的部署,這樣既可實現(xiàn)節(jié)能,又可實現(xiàn)負載均衡。
圖1 虛擬機部署原理圖
2.3部署算法
2.3.1相關定義
定義1課程需求模型租戶提交申請的課程需求模型可以定義為一個六元組:
CRequest=(CName,CTime,CCpu,CMemory,
CNumber,LSet)
(3)
其中:
1) CName表示課程名稱類,是課程唯一性的標識。
2) CTime表示課程時間段類,由于學校上課時間一般用周數(shù)來計算,所以可用該門課程的起始和結束周數(shù)來表示時間段類,可定義為一個二元組:CTime=(IWeek,FWeek),其中:IWeek表示課程的起始周數(shù),F(xiàn)Week表示課程的結束周數(shù)。
3) CCpu表示課程申請的虛擬機所需CPU大小。
4) CMemory表示課程申請的虛擬機所需的內存大小。
5) CNumber表示虛擬機個數(shù)。
6) LSet表示課程具體的課時集,每個元素可以表示為一個三元組,LSet=(LSection,LDay,LWeek),其中:
(1) LSection表示課程在某一天具體上課的節(jié)數(shù),根據(jù)學校實際情況,用一節(jié)大課來表示兩節(jié)課程。例如第2節(jié)大課表示第3、4節(jié)課。
(2) LDay表示一周具體上課時間,即課程所在的星期幾。
(3) LWeek表示課程所在的單雙周類,由學校課程安排的實際情況考慮,并不是所有課程每周都有,可定義為一個二元組:LWeek=(SWeek,DWeek),其中:DWeek為1表示雙周有課,SWeek為1表示單周有課,否則為0。
例如,一租戶提交了軟件工程課程的需求申請,上課時間為1~8周,單周授課,具體時間為星期一的第2節(jié)大課以及星期五的第3節(jié)大課,每個虛擬機內存為4 GB,VCPUs為2,虛擬機個數(shù)為20臺。對于此課程需求實例化為:
crequest=(SoftwareEngineering,(1,8),2,4,20,((2,1,
(1,0)),(3,5,(1,0)))
定義2物理機負載模型物理機上所部署的虛擬機的課程詳情,該模型可定義為一個5×5×16的三維矩陣C=[Cijk]5×5×16,其中1≤i≤5,1≤j≤5,1≤k≤5。如圖2所示。
圖3 物理機負載模型
k周,星期j,i節(jié)課的虛擬機使用情況Cijk可定義為一個三元組:Cijk=(PName,PCpu,PMemory),其中:
1) PName={LName1,LName2,…,LNamew},其中w為第k周,星期j,i節(jié)課時間段所要同時進行的課程的數(shù)目,LNamew為第w種課程的名稱;
2) PCpu為物理機上所占用的CPU資源大?。?/p>
3) PMemory為物理機上所占用的內存資源大小。
定義3吻合度新申請的課程需求與物理機負載相對應元之間的重合度高低,公式定義如下:
(4)
其中Numoverlap為新申請的課程需求與物理機負載重合的課程數(shù),Numall為新申請的課程需求的課程總數(shù)。例如,一課程申請為crequest=(Java,(1,16),2,4,20,(2,1,(1,0))),即課程在第1、3、5、7、9、11、13、15周的周一第2節(jié)大課進行,共有8次課。若對于一物理機負載存在元C211、C213、C215、C217、C219、C2111,即存在課程在第1、3、5、7、9、11周進行,GOFitjava=Numoverlap/Numall=6/8=0.75,則該物理機與新申請課程需求的吻合度為0.75;若沒有相對應的元存在,則吻合度定為0,即若吻合度為0表示該物理機上沒有與新申請的課程需求相同時間段的其他課程的虛擬機。
定義4部署優(yōu)先值該值用來對吻合度相同的物理機做可部署虛擬機的順序排序,即對物理機所剩資源的綜合評價。文獻[14]只考慮了CPU維度,但通常情況下,還要考慮內存、存儲等維度的資源。本文綜合考慮CPU、內存兩個維度,公式定義如下:
(5)
其中,vCpu為物理機虛擬出的Cpu的數(shù)目;Cijk.PCpu為與申請需求相同時間段的物理機已分配vCpu的數(shù)目,其中ijk可按物理機上已有課程與課程需求第一次重合的時間計算,若無重合時間,則ijk為課程需求第一次上課時間;內存公式同上。
2.3.2算法描述
為將新申請的課程需求部署到物理機上,實現(xiàn)以節(jié)能及負載均衡為目的的基于時間的虛擬機的部署,首先需要了解每個物理機上資源使用情況。本文采用定義的物理機負載模型來刻畫物理機上資源使用情況。
由于分配到每個物理機上單個課程的虛擬機資源是已知的,該算法主要是根據(jù)這些已知的虛擬機資源來推導出物理機負載,具體如下:
算法1物理機負載計算算法。
輸入:物理機上分配的課程需求實例crequest,物理機負載Cold=[Cijk]5*5*16。
輸出:物理機負載Cnew=[Cijk]5*5*16。
算法描述:
1. While crequest is not empty do
2. i←crequest.LSection ,
3. j←crequest.LDay
4.for k←crequest.IWeek to k←crequest.FWeek do
5. If (crequest.LWeek=(1,1)‖ (crequest.LWeek=(1,0)&&(k%2=1))‖(crequest.LWeek=(0,1)&&(k%2)=0))
6. do Cijk.PName=Cijk.PName∪{crequest.CName};
7. Cijk.PCpu=Cijk.PCpu+crequest.CCpu*crequest.CNumber;
8. Cijk.PMemory=Cijk.PCMemory+crequest.CMemory*crequest.CNumber;
9. End if
10. k=k+1;
11.Endfor
12.Return Cnew=[Cijk]5*5*16
13.End while
對于一個課程需求,需經(jīng)過部署算法,拆分為幾個課程需求,然后部署到幾個物理機上面;每次部署新的虛擬機以及虛擬機動態(tài)調度完成之后要調用該算法重新計算物理機負載,以保證信息的準確性。
對于新申請的虛擬機資源,合理的部署有利于避免虛擬機使用時出現(xiàn)的高負載、低負載導致的虛擬機的動態(tài)遷移以及由此帶來的大量物力資源的消耗、時間的浪費。所以如何部署虛擬機到現(xiàn)有物理機上是至關重要的一步。本算法基于每個物理機的負載模型來進行基于時間、預測負載的調度,以節(jié)能及負載均衡為目標,具體算法如下:
算法2課程需求部署算法(CRD算法)。
輸入:crequest′,物理機負載C1,C2,…,Cl, 其中l(wèi)為物理機個數(shù)。
輸出:虛擬機與物理機遷移映射關系。
算法描述:
1.按照物理機負載C1,C2,…,Cl與crequest′的吻合度從高到低將物理機進行排列,得到有序的吻合度相同的物理機負載組D1, D2,…,Dm,其中m為小組個數(shù);
2. foreach 有序的物理機負載組 do
3.按照物理機的部署優(yōu)先值的高低對組內n個物理機排序,得到{P1,P2,…,Pn};
4. foreach物理機Pi do
6. If NUMi*crequest′.Cpu NUMi*crequest′.Memory 7. 在物理機Pi上部署NUMi臺虛擬機; 8. Else do 部署min{Pi.LCpu/crequest′.Cpu,Pi.LMemo ry/crequest′.Memory}臺虛擬機; 9. End if; 10. End foreach; 11. If 課程需求完全分配 do exit 12. Else do 按照更新的物理機的部署優(yōu)先值的高低對物理機排序;將所剩課程需求部署在有序的物理機上; 13. If 課程需求完全分配 do exit 14. End if; 15. End if; 16. End foreach 17. 如果循環(huán)了所有物理機也未部署完成,則發(fā)出物理機不足,找不到目標機的警報; 3.1系統(tǒng)架構 本文在以開源IaaS平臺OpenStack[15]為基礎的校園云平臺上實現(xiàn)了基于上述面向教學需求的虛擬機調度方法的系統(tǒng)。為實現(xiàn)上述目標,提出了調度系統(tǒng)架構,架構如圖3所示。 圖3 系統(tǒng)架構圖 該系統(tǒng)主要由數(shù)據(jù)存儲模塊、用戶請求模塊、虛擬機調度模塊、虛擬機控制模塊組成。數(shù)據(jù)存儲模塊包括物理機預測負載模塊、課程需求模塊、監(jiān)控數(shù)據(jù)模塊以及映射關系表模塊。物理機預測負載模塊用以存儲根據(jù)虛擬機的課程詳情而預測的物理機負載。課程需求模塊用以存儲用戶新提交的課程申請詳情。監(jiān)控數(shù)據(jù)模塊用以存儲物理機、虛擬機的實時資源使用情況。映射關系表用以存儲服務器與虛擬機的放置映射關系。 用戶請求模塊即人機交互界面,用戶通過校園云平臺提交申請以及課程所需虛擬機的詳情。 虛擬機調度模塊包括吻合度判斷模塊、部署優(yōu)先值判斷模塊、調度決策模塊。 虛擬機控制模塊包括創(chuàng)建、刪除、啟動、停止、遷移、配額調整模塊,從而實現(xiàn)對虛擬機實例的創(chuàng)建、刪除、開啟、關閉、遷移以及虛擬機配額調整等操作。 首先,普通用戶通過用戶界面提交用戶請求。管理員對用戶請求進行人工審核,對于審核通過的請求,將該請求信息一方面存儲到課程需求模塊。另一方面發(fā)送到虛擬機調度模塊,該模塊接收到請求,會啟動靜態(tài)部署算法,對該虛擬機創(chuàng)建請求進行處理,最后生成物理機、虛擬機部署映射關系表,并存儲到映射關系表模塊。虛擬機控制模塊根據(jù)該部署映射關系表,進行虛擬機的創(chuàng)建。虛擬機創(chuàng)建完成之后,部署在服務器上的監(jiān)控設備會對該服務器進行實時監(jiān)控。當發(fā)現(xiàn)監(jiān)控數(shù)據(jù)超過資源的高低閾值,即服務器出現(xiàn)過載或過閑的情況時,虛擬機調度模塊的動態(tài)調度部分會根據(jù)實時的歷史數(shù)據(jù)對虛擬機進行動態(tài)調度,生成遷移指令,并且發(fā)送到虛擬機控制模塊。虛擬機控制模塊根據(jù)該遷移指令對虛擬機進行遷移操作,進而實現(xiàn)集群的負載均衡以及節(jié)能。此外,虛擬機控制模塊還可對虛擬機進行配額調整。 3.2實例驗證 為驗證調度效果,在該云平臺環(huán)境下,5臺HP服務器構建的集群上搭建了OpenStack平臺,具體服務器配置如表1所示。該平臺主要是為租戶(如教師、科研人員)提供所需的虛擬機資源,從而滿足教學與實驗需求。 表1 服務器配置 如表1所示,server1.org作為控制節(jié)點[16],server2.org、server3.org、server4.org、server5.org作為計算節(jié)點。在這一環(huán)境下,將本文提出的算法以Python語言加以實現(xiàn),并擴展到OpenStack中。 各計算節(jié)點已部署課程虛擬機情況如表2所示。 表2 已部署課程情況 如表2所示,服務器server2.org上部署了Java課程所需的2臺虛擬機,C語言課程所需的7臺虛擬機以及C++課程所需的2臺虛擬機; server3.org、server4.org、server5.org所示意義同上。 課程需求為:crequest=(Software Engineering,(1,8),2,4,15,( 2,1,(1,0))) 分別采用CRD算法,OpenStack開源軟件提供的SimpleSchedule(SS)以及貪心算法First Fit(FF)對課程虛擬機資源進行調度分配。 圖4、圖5所示為虛擬機資源被調度分配、部署完成,第一次運行該課程時集群達到穩(wěn)定狀態(tài)的CPU利用率和內存利用率。從圖4、圖5可看出,經(jīng)本算法調度部署之后,服務器CPU利用率差距很小,小于5%,內存利用率差距小于10%,基本實現(xiàn)負載均衡。并且有一臺服務器在此課程上課期間處于閑置狀態(tài),可對其進行關機操作以節(jié)能。而由SS算法、FF算法調度部署之后服務器的CPU利用率差距很大,大于20%,內存利用率差距大于60%,存在嚴重的負載不均衡,且沒有服務器此時處于閑置狀態(tài),與CRD算法相比,能耗更大。 圖4 集群CPU利用率 圖5 集群內存利用率 綜上所述,CRD算法既可達到節(jié)能的目的,又可實現(xiàn)負載均衡。 本文以校園云平臺中教學應用的資源調配為背景,提出了一種適應教學應用周期性、可預測性、批量性等特點,以減少物理服務器使用數(shù)量、負載均衡為目的的虛擬機調度機制。并在開源IaaS平臺OpenStack為基礎的教學科研云平臺上對該調度算法進行了驗證,結果表明,該算法有效地節(jié)約了能耗并實現(xiàn)了負載均衡。 下一步將從面向教學需求的計算資源調配問題的第二個子問題入手,研究虛擬機使用時的動態(tài)調度問題,根據(jù)物理機實際資源使用情況進行虛擬機的動態(tài)遷移,并提出相應的調度策略。 [1] 李英壯,汪楠,李先毅.基于OpenStack開發(fā)云平臺的設計與實現(xiàn)[J].武漢大學學報:理學版,2012,58(S1):58-60. [2] 戢瑤,胥光輝,毛東方,等.基于馬爾可夫鏈的校園云平臺效用分析[J].計算機科學,2013,40(7):49-53. [3] 伍之昂,羅軍舟,宋愛波,等.跨數(shù)據(jù)中心的動態(tài)資源聯(lián)合預留研究[J].計算機學報,2014,37(11):2317-2325. [4] 趙少卡,李立耀,凌曉,等.基于OpenStack的清華云平臺構建與調度方案設計[J].計算機應用,2013,33(12):3335-3338. [5] Mylayarapu S,Sukthankar V,Banerjee P.An optimized capacity planning approach for virtual infrastructure exhibiting stochastic workload[C]//ACMSymposium on Applied Computing (SAC),New York,USA,2010:386-390. [6] Goudarzi H,Pedram M.Energy-efficient virtual machine replication and placement in a cloud computing system[C]//Cloud Computing (CLOUD),2012 IEEE 5th International Conference on.IEEE,2012:750-757. [7] Chandakanna V R,Vatsavayi V K.A model view controller based Self-Adjusting Clustering Framework[J].Journal of Systems and Software,2013,29(4):581-589. [8] Choi H W,Kwak H,Sohn A,et al.Autonomous learning for efficient resource utilization of dynamic vm migration[C]//Proceedings of the 22nd annual international conference on Supercomputing.ACM,2008:185-194. [9] Hu J,Gu J,Sun G,et al.A scheduling strategy on load balancing of virtual machine resources in cloud computing environment[C]//Parallel Architectures,Algorithms and Programming (PAAP),2010 Third International Symposium on.IEEE,2010:89-96. [10] Chang Y C,Chang R S,Chuang F W.A predictive method for workload forecasting in the cloud environment[M]//Advanced Technologies,Embedded and Multimedia for Human-centric Computing.Springer Netherlands,2014:577-585. [11] Li X,Jiang Y.A sensory-data-hosting oriented scheduling strategy on virtual machine[C]//Green Computing and Communications (GreenCom),2013 IEEE and Internet of Things (iThings/CPSCom),IEEE International Conference on and IEEE Cybe,Physical and Social Computing.IEEE,2013:2029-2036. [12] 趙宏衛(wèi),施伯樂.電子政務基礎架構云的容量規(guī)劃方法研究[J].計算機應用與軟件,2014,31(11):118-121,150. [13] Zhuang W,Gui X,Lin J,et al.Deployment and Scheduling of Virtual Machines in cloud computing:An″AHP″ Approach[J].Journal Of Xi’an Jiaotong University,2013,47(2):28-32. [14] Beloglazoy A,Buyya R.Managing overloaded hosts for dynamic consolidation of virtual machines in cloud data centers under quality of service constraints[J].Parallel and Distributed Systems,IEEE Transactions on,2013,24(7):1366-1379. [15] Sefraoui O,Aissaoui M,Eleuldj M.OpenStack:toward an open-source solution for cloud computing[J].International Journal of Computer Application,2012,55(3):38-42. [16] Kumar R,Gupta N,Charu S,et al.Open Source Solution for Cloud Computing Platform Using OpenStack[J].International Journal of Computer Science and Mobile Computing,2014,3(5):89-98. A SCHEDULING MECHANISM OF VIRTUAL MACHINES FOR CAMPUS CLOUD PLATFORM Ma QianWang JingWang Gang (BeijingKeyLaboratoryonIntegrationandAnalysisofLarge-ScaleStreamData,NorthChinaUniversityofTechnology,Beijing100144,China) With the continuous deepening of teaching informatisation, campus cloud platform is becoming increasingly popular, but the resource utilisation is still low in practical applications, and the key problem is that current scheduling mechanism of virtual machines doesn’t take into account the characteristic of campus applications, which results in a waste of resources and load imbalancing. To tackle this problem, this paper puts forward a scheduling mechanism of virtual machines for campus cloud platform, defines the course requirement model and the physical machine load model, and proposes on this basis a virtual machine deployment algorithm. This mechanism can adapt to the characteristics of teaching applications such as periodicity, predictability and batching, etc., and achieves the goals of energy saving and load balancing. Actual platform verification shows that the mechanism can effectively reduce power consumption and realise load balancing. Campus cloudScheduling mechanismVirtual machine deploymentEnergy savingLoad balancing 2015-01-15。國家自然科學基金項目(610330 06);北京市自然科學基金項目(4131001);北京市屬高等學校創(chuàng)新團隊建設與教師職業(yè)發(fā)展計劃項目(IDHT20130502)。馬倩,碩士生,主研領域:虛擬機調度。王菁,副研究員。王崗,碩士生。 TP311 A 10.3969/j.issn.1000-386x.2016.08.0223 系統(tǒng)實現(xiàn)
4 結 語