999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于云計算平臺的虛擬機內存管理系統

2016-12-26 09:46:58杭州電子科技大學電子信息學院韓高帥程知群
電子世界 2016年21期
關鍵詞:分配系統

杭州電子科技大學電子信息學院 韓高帥 程知群 章 超

基于云計算平臺的虛擬機內存管理系統

杭州電子科技大學電子信息學院 韓高帥 程知群 章 超

在云計算虛擬化平臺中,虛擬機在運行不同的業務應用時,對內存通常會有不同的需求。這種情況下,如果采用靜態的內存分配方式,往往會造成內存資源無法得到合理分配和使用。目前傳統的內存管理系統只能將內存性能提高10%左右。本文基于KVM虛擬化方案設計了由內存動態調整,內存熱添加,內存預留等幾個模塊組成的虛擬機內存管理系統。從實驗結果可知在使用本內存管理系統的情況下,能夠有效的將系統的整體內存性能提高25-30%。

云計算;虛擬機;內存管理;KVM

0 引言

虛擬化技術能夠將各種計算機資源進行抽象化并進行統一表示,是實現云計算平臺的技術基礎。可以有效提高計算機資源的使用效率[1]。而內存虛擬化管理在整個虛擬化系統中是實現最復雜的部分,并且也是提高虛擬機運行效率的關鍵所在[2]。目前國內外的內存虛擬化管理系統通常需要對虛擬機客戶機系統做較大的修改,例如基于Xen虛擬化方案的內存管理系統[3]。而常見的VMware虛擬機內存管理系統方案無法保證虛擬機的最小物理內存持有量[4]。目前,國內外的虛擬機內存管理系統通常能實現內存超配110%左右。本文系統使用Linux自帶的KVM虛擬化方案,無需修改虛擬機系統[5]。另外,本系統的虛擬機內存預留技術,能夠保證虛擬機最小物理內存持有量從而提升虛擬機運行性能。內存熱添加技術能夠在線增加虛機的內存從而打破虛機內存上限。動態內存管理技術能夠依據虛擬機運行時內存需求的變化來實時改變虛擬機的內存大小。本內存管理系統通過結合使用上述的內存動態調整,內存預留和內存熱添加技術能夠實現系統內存超配近130%。

圖1 系統總體結構圖

圖2 系統模塊圖

1 系統設計

本設計中,虛擬機采用KVM虛擬化方案,并使用libvirt作為虛擬機管理工具,提供虛擬化平臺管理應用程序接口和virsh命令行管理工具。本設計方案主要使用C語言,shell和python對KVM,qemu,libvirt進行開發和優化實現。虛擬機的相關信息使用XML格式的文件保存。本系統的總體結構如圖1所示。每個虛擬機以一個運行在Host主機上的進程的方式存在,虛擬機的相關配置在虛擬機進程啟動時從對應的虛擬機XML配置文件的讀取。當虛擬機需要進行內存訪問時虛擬機進程切換到內核態,使用KVM內核模塊進行內存模擬,并將結果返回虛擬機。如果是進行IO等訪問則在用戶態使用Qemu進行模擬,返回結果[6]。內存管理系統為一個運行在Host主機上的守護進程,該守護進程通過UNIX域套接字與相應虛擬機進行交互與通信。通過Libvirt管理工具管理虛擬機的資源分配及控制虛擬機的各種動作。在虛擬機中也有內存管理的相關驅動,負責虛擬機內存信息的收集和上報給Host主機,并接收主機的相關內存調整指令對虛擬機內存進行調整。如圖2所示本系統主要有三部分組成:內存動態調節模塊,內存熱添加模塊以及內存預留模塊。

2 內存管理系統各模塊功能的實現

針對傳統內存虛擬化管理系統無法高效分配虛擬機內存的缺陷,本文通過設管理驅動實時收集各虛機內存使用情況,來實時調節虛機內存大小。內存熱添加模塊,能夠在虛擬機不關機狀態下在線增加虛擬機的內存,它彌補傳統虛擬機管理系統中無法在線改變虛擬機的內存上限的缺陷。用戶可以根據自己的需要,手動的增加虛擬機的內存上限。內存預留和保護模塊,這個模塊能夠保證虛擬機至少保持一定量物理內存不被Host主機回收。彌補傳統內存虛擬機管理方案無法保證虛擬機最小物理內存持有量的導致虛擬機性能下降嚴重的缺陷[7]。

2.1 內存動態自動調節模塊

運行在Host主機上的內存管理的守護進程通過每個虛擬機的UNIX域套接字定期的收集虛擬機的內存信息。收集的信息如表1所示。

表1 虛擬機內存信息

Host主機每隔10秒統計虛擬機的內存利用率Mem_ used=(Mem_guest_use+ Mem_guest_loss)/ Mem_guest_total。如果虛擬機內存利用率連續三次大于80%或者連續三次小于60%,那么將對虛擬機內存進行調整。使用Memutl[3]數組,分別記錄最新三次的內存利用率。并預測未來虛擬機的內存利用率Memnutl=Memutl[0]*0.2+Memutl[1] *0.3+Memutl[2]*0.5,其中Memutl[2]表示三次統計中最新的那一次。當內存利用率連續三次超過80%時,Host主機釋放部分從虛擬機回收的內存。釋放內存大小的公式為:Mem_d=(Memnutl-0.8)/0.2*Mem_guest_loss。如果當內存利用率連續三次低于60%時,回收部分虛機的內存。回收內存大小的公式為:Mem_x=Mem_guest_total*(0.7-Memnutl),Mem_ d=MIN(Mem_x,0.8* Mem_guest_free)。但是為了保證虛擬機的運行效率,最多只能釋放Mem_guest_free的80%。由于虛擬機內存動態調節會造成Host主機較大的開銷,只有當Mem_d> Mem_guest_ total*0.03時啟動虛擬機內存調節動作。主機通過調用經過修改后的libvirt的virDomainSetMemoryFlags接口,控制虛擬機內的內存管理驅動,調整虛擬機內存。

2.2 內存熱添加模塊

為了實現內存熱添加功能,首先需要在虛擬機的XML文件中添加slots和maxmem參數。其中maxmem表示虛擬機能擁有的最大內存值,考慮到目前各操作系統所能支持的最大內存,該值設為1TB。Slots表示內存插槽數,即每個虛擬機可內存熱添加的次數。考慮到內存熱添加次數過多會影響主機和虛擬機效率,目前該值設置為10.對libvirt端的qemuDomainSetMemoryFlags函數進行修改,增加內存熱添加的相關Flags標簽,執行熱添加的相關動作。當KVM虛擬機觸發內存熱添加操作時,內存管理系統調用修改過的qemuDomainSetMemoryFlags函數主要完成兩個動作。先調用object_add接口,為相應的虛擬機申請指定大小的內存,并完成相關的內存初始化操作。然后調用device_add接口將所申請的內存設備添加到對應的虛擬機中。更新虛擬機相關頁表,然后把該部分內存置成online狀態。并將虛擬機的Mem_guest_total更新為內存熱添加之后的值。

2.3 內存預留和保護模塊

虛擬機的內存大小,即為Host主機給對應的虛擬機進程所分配的內存大小。根據Linux系統自身的內存管理機制,如果當進程的某部分內存長期不使用時,該部分物理內存會被轉換到Swap區,被系統回收。這種情況下,虛機運行性能可能會大大下降。本模塊的主要作用就是避免上述情況的發生。首先在虛擬機的XML文件中添加一個mlock參數。該值必須在0-100之間。由用戶自行根據設定。Mem_mlock=Mem_guest_total *Mem_mlock/100表示虛擬機內存中被鎖定為最低物理內存的值。Mem_mlock這部分值,無論在何種情況下既不會被轉換到swap區,也不會被內存動態自動調節模塊所回收,從而保證虛擬機的運行效率。

3 系統測試結果

本次測試使用的服務器的CPU型號為Intel(R)Xeon(R)E5-2620 v2@2.10GHz,內存為48GB,存儲大小為270GB。Host主機使用的操作系統為Ubuntn 12.04(內核)3.13.6.客戶機操作系統分別為較為常見的windows7和redhat6.5的64位系統。

內存超配測試:

測試主機內存在按不同百分比超配分配給虛擬機時,同一虛擬機在運行同一應用時,虛擬機是否被合理分配給了所需內存和應用運行完成所需的時間。如圖3所示結果表明在未使用本內存管理系統的情況下,在主機使用率在100%時,虛擬機的應用在運行時無法被分配到足夠的內存,虛擬機運行應用完成的時間也大大增加。這是因為在未使用本內存管理系統時,由于主機的虛擬化系統運行時也需要內存,在將全部內存分配給虛擬機時,勢必導致主機虛擬化系統無法獲得足夠內存,導致虛擬機運行性能下降。如圖4所示,在使用本內存管理系統情況下,主機可分配130%的內存給虛擬機。通過本內存管理系統的高效分配內存,虛擬機應用依舊能夠基本獲得所需內存。虛擬機應用運行所增加的時間也在可接受范圍內。由此可見,本內存管理系統能夠通過高效分配主機內存,實現主機內存的超配使用,具有顯著的應用價值。

圖3 未使用本內存管系統內存測試結果

圖4 使用本內存管系統內存測試結果

4 結束語

本文所提出的內存管理系統,主要由內存動態自動調節功能,內存熱添加功能和內存預留功能三部分組成。能夠在一定程度上實現Host主機內存的過量使用。并可以通過內存熱添加功能打破虛機的內存上限。而內存預留功能又能夠根據客戶不同的需求保證虛擬機的不同內存使用量。本系統設計了一種較為完善,高效的內存管理方案,有較好的實際應用價值。

[1]張偉哲,張宏莉。云計算平臺中多虛擬機內存協同化策略研究[J]。計算機學報,2011(12):2265-2677.

[2]許磊。基于云計算環境的虛擬機內存管理研究[D]。哈爾濱:哈爾濱工程大學,2013:7-17.

[3]Guilin Zhang,Huiqiang Wang,Hongwulv,et al。A dynamic memory management model on xen virtual machine[C]。2013 International Conference on MEC,2013:1609-1613.

[4]Haikun Liu,Hai Jin,Xiaofei Liao,et al。Hotplug or Ballooning:A comparative study on dynamic memory management techniques for virtual machines[J]。IEEE Transactions on parallel and distributed systems,vol。26,No。5,May 2015:1350-1362.

[5]Ramide Dantas,Djamel Sadok,Christofer Flinta,KVM Virtualization Impact on Active Round-Trip Time Measurements[J]。2015 IFIP/IEEE International Symposium on Integrated Network Management,2015:810-813.

[6]Russell R。virtio:towards a de-facto standard for virtual I/O devices[J]。ACM SIGOPS Operating Systems Review,2008,42(5):95-103.

[7]馬博。基于內存熱插拔的虛擬機動態內存管理系統[D]。武漢:華中科技大學,2012:8-14.

猜你喜歡
分配系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
基于可行方向法的水下機器人推力分配
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
應答器THR和TFFR分配及SIL等級探討
基于PowerPC+FPGA顯示系統
遺產的分配
一種分配十分不均的財富
半沸制皂系統(下)
績效考核分配的實踐與思考
主站蜘蛛池模板: 亚洲黄色成人| 欧美另类第一页| 97成人在线视频| 国内精品手机在线观看视频| 欧美日韩一区二区在线免费观看| 宅男噜噜噜66国产在线观看| 高h视频在线| 女人18毛片一级毛片在线 | 欧美成人午夜影院| 国产成人久久综合一区| 99视频在线观看免费| 欧美a在线看| 中文字幕人妻av一区二区| 高清精品美女在线播放| 无码视频国产精品一区二区| 日本少妇又色又爽又高潮| 精品91视频| 久久久久久久久久国产精品| 中文字幕亚洲电影| 四虎精品免费久久| 日韩欧美综合在线制服| 香蕉蕉亚亚洲aav综合| 日本三区视频| 日韩不卡高清视频| 日韩欧美国产精品| 色欲不卡无码一区二区| 天堂va亚洲va欧美va国产| 欧美日韩成人| 国产99视频精品免费视频7| 国产最新无码专区在线| 久久综合婷婷| 欧洲欧美人成免费全部视频| 精品久久香蕉国产线看观看gif | 欧美综合中文字幕久久| 日韩精品久久久久久久电影蜜臀| 日韩A∨精品日韩精品无码| 国产成人亚洲综合a∨婷婷| 伦伦影院精品一区| 亚洲AV无码乱码在线观看代蜜桃 | 99视频在线免费观看| 天天激情综合| 免费A级毛片无码免费视频| 天天躁夜夜躁狠狠躁图片| 99精品伊人久久久大香线蕉| 波多野结衣一区二区三视频| 午夜国产小视频| 久久综合干| 久久久久亚洲AV成人网站软件| 人妻免费无码不卡视频| 久久超级碰| 免费一级毛片完整版在线看| 麻豆国产原创视频在线播放| 青青操国产| 国产男女免费视频| 欧美成人午夜影院| 婷婷六月综合网| 国产精品九九视频| 亚洲V日韩V无码一区二区| 国产伦精品一区二区三区视频优播| 亚洲欧美极品| 欧美高清三区| 国产内射一区亚洲| 欧洲熟妇精品视频| 亚洲中文字幕国产av| 欧美特黄一级大黄录像| aaa国产一级毛片| 女人av社区男人的天堂| 伊人欧美在线| 亚洲乱码视频| 亚洲无码高清一区| 亚洲精品无码日韩国产不卡| 狠狠干综合| 伊人无码视屏| 露脸一二三区国语对白| 国产欧美日韩综合在线第一| 欧美自慰一级看片免费| 91色综合综合热五月激情| 欧美亚洲国产日韩电影在线| 尤物精品视频一区二区三区| 国产精品开放后亚洲| 欧美一区日韩一区中文字幕页| 欧美一级高清免费a|