闞運奇,劉宏偉,左德承,張 展
(1. 哈爾濱工業(yè)大學 計算機科學與技術學院, 黑龍江 哈爾濱 150001;2. 東北電力大學 信息工程學院, 吉林 吉林 132400)
?
云計算系統(tǒng)虛擬機內存資源預留方法*
闞運奇1,2,劉宏偉1,左德承1,張 展1
(1. 哈爾濱工業(yè)大學 計算機科學與技術學院, 黑龍江 哈爾濱 150001;2. 東北電力大學 信息工程學院, 吉林 吉林 132400)
為降低消費者租借云計算系統(tǒng)資源的開銷,提出了成本約束的內存預留隨機整數(shù)線性規(guī)劃模型及方法。結合預留計劃和按需計劃的內存資源價格,設計包含成本及資源總量約束條件的隨機開銷函數(shù),并以函數(shù)期望值最小化為目標,基于內存消耗量概率分布求出優(yōu)化的內存預留量。試驗表明,消費者利用該方法租借資源的開銷比利用預留計劃、按需計劃及同類方法租借資源的開銷更小。
云計算;虛擬機;內存資源預留;成本優(yōu)化
云計算是一種大規(guī)模的分布式計算模式[1],按使用量付費,這種模式提供可用的、便捷的、按需的網(wǎng)絡訪問,云提供商將CPU、內存、硬盤等復合資源整合到虛擬機(Virtual Machine, VM),并通過資源配置機制租借給消費者[2]。但多數(shù)云服務提供商提供的虛擬機型號有限且規(guī)格固定,即每個類型的虛擬機包含的資源量是固定的,而不同的消費者對各類資源需求各異,規(guī)格固定、型號有限的虛擬機無法滿足各類消費者的需求,這將導致消費者無法充分地利用虛擬機各項資源,造成資源浪費及成本增加,尤其是價格較高的CPU、內存等資源。
另外,包括Amazon EC2[3-4]、Go Grid[5]和阿里云平臺等在內的云計算系統(tǒng)向消費者提供的虛擬機租借方案有多種,其中兩個主要的租借方案是:短期按需計劃和長期預留計劃。一般來說,按需計劃是指云計算提供商按消費者需求提供資源的計劃,并按資源使用時間收費。采用按需計劃的消費者可以靈活地申請和退訂資源,但資源的單價較高。預留計劃是指消費者長期租借定量的資源并預付費用,如1年期,計費標準如表1所示。消費者采用預留計劃租借虛擬機資源單價較低,但租借方式不夠靈活。租借虛擬機來執(zhí)行持續(xù)任務的消費者無法預知任務負載,多采用復合型租借方案,即:預留滿足普通日常負載需求的資源,在負載量突增時按需租借資源。消費者采用該方案可降低由于預留過量資源造成的開銷,同時也可避免全部采用按需計劃租借資源造成的高額開銷。如何求得一個優(yōu)化的資源預留量來降低成本并滿足負載運行的需求成為亟須解決的問題。
表1 阿里云虛擬機計費標準
國內外有較多針對云計算系統(tǒng)資源預訂及配置的相關研究[6-15]:
文獻[10]提出了云資源優(yōu)化配置(Optimal Cloud Resource Provisioning, OCRP)算法,通過制定一個隨機規(guī)劃模型解決由于消費者需求不確定造成的預訂資源困難問題,降低了消費者的成本;文獻[11]提出了具有容錯功能的考慮負載均衡的成本開銷最小化的云計算系統(tǒng)資源分配方案。以上研究均以虛擬機為整體作為研究對象來考慮資源預定計劃及資源分配方案,并沒有以虛擬機各項資源為對象細粒度地研究資源分配方案。
文獻[14]設計了內存均衡管理器實現(xiàn)了虛擬機內存均衡(Virtual Machine Memory Balancing, VMMB)機制,動態(tài)監(jiān)測各虛擬機內存需求,定期重新平衡虛擬機的內存配額;文獻[15]提出了兩種動態(tài)虛擬機調度技術,減少了系統(tǒng)響應時間且平衡了CPU、內存等資源利用率。以上方法側重于從云計算服務商角度進行資源配置管理,但沒有從消費者角度考慮開銷問題。
1.1 云計算系統(tǒng)及相關定義
云計算系統(tǒng)由高性能硬件資源構成基礎設施,由云操作系統(tǒng)管理資源組建虛擬機為消費者提供安全可靠[16]的服務:計算、數(shù)據(jù)存儲、文件處理[17]等。為方便描述,下面定義一些符號及集合:
1.2 云計算系統(tǒng)付費模式
云提供商向消費者出租虛擬機,雙方遵守SLA協(xié)議(Service-Level Agreement)[18]。典型的如阿里云計算平臺,其向消費者提供兩種虛擬機租借計劃——預留計劃和按需計劃,按這兩種計劃出租各種規(guī)格虛擬機的單價如表1所示。
如果消費者租借虛擬機用來執(zhí)行長期不間斷性任務,那么他們一般采用混合方式租借資源,下面以這類消費者為對象研究虛擬機資源配置及預留方案,這類消費者的開銷可表示為:Costtotal=Coston+Costr,Costr代表以預留計劃租借資源的開銷,Coston代表以按需計劃租借資源的開銷。消費者采用預留計劃比采用按需計劃租借資源的價格要低,但如果用戶預留過多的資源會造成用戶資金浪費;而如果預留資源過少,會導致任務負載頻繁超過預訂資源的承載量,消費者會采用按需計劃以較高的價格頻繁租借資源,最終其總開銷Costtotal增加。
1.3 各項資源利用不均衡問題
為降低用戶開銷可以以虛擬機為對象制訂虛擬機預留方案,在保障日常任務正常運行的前提下降低開銷,但由于虛擬機規(guī)格固定所以不可避免地造成單項資源(如:內存)浪費。
在VMware云計算系統(tǒng)中驗證了這種現(xiàn)象的存在,首先參考阿里云計算系統(tǒng)基礎型虛擬機(1核CPU、1 GB內存)設置并啟動了一個小型虛擬機,在虛擬機中安裝Windows Server 2003操作系統(tǒng)并搭建網(wǎng)站,然后利用Loadrunner系統(tǒng)[19]模擬產(chǎn)生了峰值為500的網(wǎng)站訪問負載,通過VMware虛擬機性能監(jiān)測器監(jiān)控獲得各項資源消耗量。
表2 某時刻虛擬機資源利用率
為充分展現(xiàn)各項資源消耗對比情況,設置虛擬機資源量可以彈性擴展,但在商業(yè)云計算系統(tǒng)中,當任意一項資源消耗量達到配額量時需要啟動新的虛擬機或延遲服務,這樣會導致消費者開銷增大或服務質量下降。通過實驗獲得了CPU、內存資源消耗率的對比,如圖1所示。
圖1 高負載下主要資源消耗對比圖Fig.1 Comparison of main resources consumption rates under heavy load
當任務負載對CPU資源的需求持續(xù)增加時,為保障任務正常執(zhí)行,消費者需要申請啟動新的虛擬機V(m+1)n,雖然滿足了任務負載對CPU資源量的需求,但也造成內存及其他資源更大的浪費。通過實驗表明消費者很難充分地利用資源規(guī)格固定的虛擬機中的各項資源,最終導致開銷增加及資源浪費。
2.1 VM資源均衡預訂問題描述
不同的商業(yè)云計算系統(tǒng)對于資源單位的定義不同,如:亞馬遜EC2以ECU為單位配置CPU資源,1個ECU相當于1 GHz的計算單元;阿里云平臺以核為單位配置CPU資源,1核相當于1 GHz的計算單元。一般云計算系統(tǒng)為虛擬機配置CPU資源量均為整數(shù)單位1 GHz,并且CPU資源單價最高,所以資源預留方案中可先確定CPU預留量然后圍繞CPU資源量來確定內存的用量,但幾乎所有的云提供商給出的可供選擇的內存配額規(guī)格都較少,如:500 M,1 GB等。
消費者采用復合內存預留方案后,可以記錄其租借的虛擬機在一段較長時期的CPU、內存消耗量,然后選取合理的CPU資源量,圍繞CPU資源量進一步為消費者預留適量的內存,降低用戶開銷。
2.2 內存預留量隨機整數(shù)規(guī)劃期望值模型
某消費者在一段時間內的內存消耗量是隨機整數(shù)[20],通過數(shù)據(jù)分析可以確定內存消耗量的概率分布,結合兩種租借計劃內存資源的單價,采用隨機整數(shù)規(guī)劃求得優(yōu)化的內存預留量。
為研究問題方便直觀,首先以基礎型VM為研究對象,該類型VM具有1核CPU、1 GB內存。
(1)
(2)
(3)
由式(2)、式(3)推導得到總開銷公式為:
(4)
在一定約束條件下使總開銷最小化,由式(4)推導出:
(5)
式中,TC代表物理節(jié)點的內存總數(shù)量。 由式(4)、式(5)推導得到:
(6)
(7)
VMware虛擬機監(jiān)控器以20 s為時間間隔記錄監(jiān)測數(shù)據(jù),給出一組資源消耗量實驗數(shù)據(jù),如表3所示。由于篇幅關系,該表僅列出部分測試數(shù)據(jù),表中灰色區(qū)域中的數(shù)據(jù)是CPU消耗量超配額(1 GHz)的數(shù)據(jù)。
表3 虛擬機資源消耗量實驗數(shù)據(jù)
圖2 內存消耗量概率分布圖Fig.2 Memory consumption probability distribution map
4.1 實驗環(huán)境及方案
運行本次實驗的云計算實驗平臺配置如表4所示。采用阿里云計費體系作為實驗的計費參考標準(如表1所示)。
實驗由1臺安裝Loadrunner系統(tǒng)的服務器控制10臺HP瘦客戶機向虛擬機端發(fā)送WEB網(wǎng)絡負載,模擬不同數(shù)量的網(wǎng)絡請求Requests,產(chǎn)生不同規(guī)模的負載,每次測試時間為20 min。
4.2 與商業(yè)云計算系統(tǒng)資源租借方案開銷對比分析
根據(jù)監(jiān)測得到的內存消耗數(shù)據(jù),可計算求得采用多種租借方案的最終開銷。首先與阿里云計算系統(tǒng)提供的兩種資源租借方案進行了對比。
表5 不同負載下用各方案租借內存20 min開銷
通過對比發(fā)現(xiàn),采用內存資源復合預留方案租借資源的總開銷低于其他兩種方案。如果以采用預留計劃租借資源的開銷為基準,其他兩種方案與其對比結果如圖3所示。
圖3 采用各方案租借內存開銷對比圖Fig.3 Cost of renting memory resources by different plans
另外表5中數(shù)據(jù)是租借內存約20 min的開銷,多數(shù)消費者租借虛擬機時間一般在1年期及以上,假設虛擬機承載的任務負載較為穩(wěn)定,那么可預計內存開銷如表6所示。
表6 不同負載下用各方案租借內存1年預期開銷
4.3 與相關研究方案對比分析
表7 不同負載下用2種方案租借內存20 min開銷
在當前實驗中,以虛擬機為研究對象的算法預留的內存量必然是云虛擬機額定內存量,而內存復合預留方案以虛擬機內存資源為對象細粒度地研究資源預留量,其值小于標準虛擬機額定內存資源量、小于OCRP算法的資源預留量,所以租借內存的開銷較低。
4.4 監(jiān)測時間間隔對預留方案的影響分析
近年來,云計算系統(tǒng)資源管理配置已成為云計算研究領域的熱點問題,降低消費者租借云計算資源成本也逐漸得到重視,本文提出了一種虛擬機內存資源優(yōu)化預留方法,不以虛擬機為對象而以虛擬機各項資源為對象細粒度地研究資源預留方案,通過與標準云計算系統(tǒng)資源租借方案以及相關的研究成果對比試驗發(fā)現(xiàn)該方案能夠降低用戶的總開銷,同時降低資源閑置率,有利于云提供商動態(tài)配置資源。
內存資源優(yōu)化預留方法以降低消費者成本為目標,為提高方案的適應性應進一步結合云計算系統(tǒng)服務器負載均衡、能耗[21]等指標研究綜合性資源配置及預留方案。
References)
[1] Armbrust M, Fox A, Griffith R, et al. A view of cloud computing[J].Communications of the ACM, 2010, 53(4): 50-58.
[2] Püschel T, Schryen G, Hristova D, et al. Revenue management for cloud computing providers: decision models for service admission control under non-probabilistic uncertainty[J]. European Journal of Operational Research, 2015, 244(2): 637-647.
[3] Tang S, Yuan J, Wang C, et al. A framework for Amazon EC2 bidding strategy under SLA constraints[J]. IEEE Transactions on Parallel & Distributed Systems, 2014, 25(1): 2-11.
[4] Juve G, Deelman E, Berriman G B, et al. An evaluation of the cost and performance of scientific workflows on Amazon EC2[J]. Journal of Grid Computing, 2012, 10(1): 5-21.
[5] Barrett E, Howley E, Duggan J. Applying reinforcement learning towards automating resource allocation and application scalability in the cloud[J]. Concurrency & Computation Practice & Experience, 2013, 25(12): 1656-1674.
[6] Goiri í, Guitart J, Torres J. Economic model of a cloud provider operating in a federated cloud[J]. Information Systems Frontiers, 2012, 14(4): 827-843.
[7] Wu L, Garg S K, Versteeg S, et al. SLA-based resource provisioning for hosted software-as-a-service applications in cloud computing environments[J]. IEEE Transactions on Services Computing, 2014, 7(3): 465-485.
[8] Al-Ayyoub M, Jararweh Y, Daraghmeh M, et al. Multi-agent based dynamic resource provisioning and monitoring for cloud computing systems infrastructure[J].Cluster Computing, 2015, 18(2): 919-932.
[9] Chaisiri S, Lee B S, Niyato D. Optimal virtual machine placement across multiple cloud providers[C]// Services Computing Conference, IEEE Asia-Pacific, 2009: 103-110.
[10] Chaisiri S, Lee B S,Niyato D. Optimization of resource provisioning cost in cloud computing[J]. IEEE Transactions on Services Computing, 2012, 5(2): 164-177.
[11] Di S, Wang C L. Error-tolerant resource allocation and payment minimization for cloud system[J]. IEEE Transactions on Parallel & Distributed Systems, 2015, 24(6): 1097-1106.
[12] Chard K, Bubendorfer K. High performance resource allocation strategies for computational economies[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(1): 72-84.
[13] Di S, Wang C L. Dynamic optimization of multiattribute resource allocation in self-organizing clouds[J]. IEEE Transactions on Parallel & Distributed Systems, 2013, 24(3): 464-478.
[14] Min C, Kim I, Kim T, et al. VMMB: virtual machine memory balancing for unmodified operating systems[J]. Journal of Grid Computing, 2012, 10(1): 69-84.
[15] Rathor V S, Pateriya R K, Gupta R K. An efficient virtual machine scheduling technique in cloud computing environment[J]. International Journal of Modern Education & Computer Science, 2015, 7(3): 39-46.
[16] 劉婷婷, 王文彬. 云計算中基于公平的安全判定相等協(xié)議的身份認證方案[J]. 國防科技大學學報, 2013, 35(5): 120-123,139.
LIU Tingting, WANG Wenbin.An authentication scheme based on fair equality-determination protocol in cloud computing[J]. Journal of National University of Defense Technology, 2013, 35(5): 120-123, 139.(in Chinese)
[17] 付松齡, 廖湘科, 黃辰林, 等.FlatLFS:一種面向海量小文件處理優(yōu)化的輕量級文件系統(tǒng)[J].國防科技大學學報,2013, 35(2): 120-126.
FU Songling, LIAO Xiangke, HUANG Chenlin, et al.FlatLFS:a lightweight file system for optimizing the performance of accessing massive small files[J]. Journal of National University of Defense Technology, 2013, 35(2):120-126.(in Chinese)
[18] Macías M, Guitart J. SLA negotiation and enforcement policies for revenue maximization and client classification in cloud providers[J]. Future Generation Computer Systems, 2014, 41(C): 19-31.
[19] Guan X, Cheng B, Song A, et al. Modeling users′ behavior for testing the performance of a web map tile service[J]. Transactions in GIS, 2014, 18(S1): 109-125.
[21] Mastelic T, Oleksiak A, Claussen H, et al. Cloud computing: survey on energy efficiency[J].ACM Computing Surveys, 2015, 47(2): 1-36.
Memory resources reservation method for virtual machine in cloud computing system
KAN Yunqi1,2, LIU Hongwei1, ZUO Decheng1, ZHANG Zhan1
(1. School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China;2. School of Information Engineering, Northeast Dianli University, Jilin 132400, China)
In order to reduce the consumers’ costs of renting resources in cloud computing system, a random integer linear programming model and a method for memory reservation were presented on the basis of cost constraints. Combined with the memory resource price of the reservation plan and the on-demand plan, the random cost function which consists of costs and total amount of resources constraints was designed. Aimed at minimizing the expected value of the cost function, the optimal amount of memory reserved was obtained on the basis of the probability distribution of memory consumption. The experiments show that the cost of renting recourses by utilizing this method is less than the cost of renting recourses by adopting reservation plan, on-demand plan and other similar methods.
cloud computing; virtual machine; memory resources reservation; cost optimization
10.11887/j.cn.201605008
http://journal.nudt.edu.cn
2015-11-25
國家863計劃資助項目(2013AA01A215)
闞運奇(1981—),男,吉林吉林人,副教授,博士研究生,E-mail: kanyunqi@ftcl.hit.edu.cn
TN95
A
1001-2486(2016)05-045-07