[發(fā)明專利]一種基于動態(tài)PLE技術(shù)的虛擬機協(xié)同調(diào)度方法有效
| 申請?zhí)枺?/td> | 201410029589.8 | 申請日: | 2014-01-22 |
| 公開(公告)號: | CN103744728B | 公開(公告)日: | 2017-02-08 |
| 發(fā)明(設(shè)計)人: | 管海兵;馬汝輝;李健;黃彬弟;周凡夫 | 申請(專利權(quán))人: | 上海交通大學(xué) |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/455 |
| 代理公司: | 上海旭誠知識產(chǎn)權(quán)代理有限公司31220 | 代理人: | 鄭立 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 動態(tài) ple 技術(shù) 虛擬機 協(xié)同 調(diào)度 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機虛擬機性能監(jiān)控和虛擬機調(diào)度領(lǐng)域,尤其涉及一種基于動態(tài)PLE技術(shù)的虛擬機協(xié)同調(diào)度方法。
背景技術(shù)
虛擬化技術(shù)抽象計算機的物理資源,向上呈現(xiàn)虛擬硬件接口,使得多個操作系統(tǒng)能夠在同一物理設(shè)備上運行。利用虛擬化技術(shù),將原本運行于多臺物理設(shè)備的服務(wù)整合到同一臺物理服務(wù)器上,提高物理資源利用率的同時減少了企業(yè)在IT基礎(chǔ)設(shè)施上的管理維護(hù)成本。另一方面通過虛擬化技術(shù)對物理資源的管理,能夠?qū)Y源進(jìn)行動態(tài)配置,對于各種業(yè)務(wù)適應(yīng)性更強。同時虛擬化技術(shù)能夠?qū)μ摂M服務(wù)器進(jìn)行監(jiān)控和隔離,確保虛擬服務(wù)器的正常運行以及虛擬服務(wù)器之間能夠相互獨立。此外,虛擬服務(wù)器能夠更快捷的進(jìn)行復(fù)制轉(zhuǎn)移,提高可用性以及災(zāi)難恢復(fù)速度。因此,虛擬化技術(shù)成為云計算以及數(shù)據(jù)中心不可或缺的一部分。
虛擬機監(jiān)控器(Virtual?Machine?Monitor,VMM)是目前主流的虛擬化技術(shù),介于硬件與傳統(tǒng)操作系統(tǒng)之間,負(fù)責(zé)管理計算機的物理資源,包括內(nèi)存、CPU以及I/O設(shè)備等硬件資源,并虛擬出硬件接口供上層使用,使得多個操作系統(tǒng)能夠在同一個物理設(shè)備上運行。
同時為了能夠更好地提升虛擬化服務(wù)器的性能,硬件上也添加了對虛擬化的支持。Intel的VT系列虛擬化技術(shù),提供了對虛擬化技術(shù)的支持,使得虛擬機的性能得到顯著提升。
虛擬機監(jiān)控器的引入,使得很多在傳統(tǒng)操作系統(tǒng)中已經(jīng)解決的問題出現(xiàn)了新的變化,同時也使得傳統(tǒng)操作系統(tǒng)中現(xiàn)有的一些機制出現(xiàn)新的問題。在傳統(tǒng)的操作系統(tǒng)中自旋鎖(Spin-Lock)用于解決CPU之間對于共享資源的競爭。當(dāng)多個CPU需要獲取同一個自旋鎖時,只有一個CPU可以持有該鎖,其它的CPU則一直循環(huán)檢測自旋鎖是否被釋放。傳統(tǒng)的操作系統(tǒng)中持有自旋鎖的CPU在非常短的時間內(nèi)會將鎖釋放,這樣等待自旋鎖的CPU循環(huán)檢測的時間并不會很長。但在虛擬化環(huán)境中,虛擬機中持有自旋鎖的VCPU可能被虛擬機監(jiān)控器調(diào)度出物理CPU,使得該虛擬機中等待該自旋鎖的其它VCPU一直處于循環(huán)檢測自旋鎖的狀態(tài),該問題被稱為LHP(Lock?Holder?Preemption,自旋鎖持有者被搶占)問題,會導(dǎo)致虛擬機性能的下降。
為了解決上述LHP問題,現(xiàn)有的技術(shù)方案包括虛擬機中VCPU的協(xié)同調(diào)度和VCPU的忙等檢測。虛擬機中VCPU的協(xié)同調(diào)度指的是將虛擬機中的一組VCPU(可以是虛擬機中全部VCPU也可以是部分VCPU)同時調(diào)度進(jìn)物理CPU,這樣可以有效減少LHP現(xiàn)象的出現(xiàn),但是這種方法會造成CPU資源的碎片化以及系統(tǒng)延遲的不確定性增加等問題。VCPU的忙等檢測,指的是在檢測到VCPU忙等時將VCPU調(diào)度出物理CPU,主要分為基于虛擬機的VCPU忙等檢測和基于硬件支持的VCPU忙等檢測。基于虛擬機的VCPU忙等檢測需要對虛擬機操作系統(tǒng)進(jìn)行修改,在虛擬機中出現(xiàn)VCPU忙等時通知VMM,這種方法因為需要修改虛擬機操作系統(tǒng),適用范圍受限制。基于硬件支持的VCPU忙等檢測需要設(shè)置虛擬機控制結(jié)構(gòu)中的忙等檢測參數(shù),這些參數(shù)在計算機處于不同負(fù)載下的最優(yōu)值是需要變化的。將虛擬機中VCPU的協(xié)同調(diào)度與參數(shù)動態(tài)調(diào)整的VCPU忙等檢測相結(jié)合可以降低協(xié)同調(diào)度帶來的負(fù)面影響,同時提高虛擬機的性能。
當(dāng)前基于硬件支持的VCPU忙等檢測主要是PLE(Pause?Loop?Exit)技術(shù),其中忙等檢測參數(shù)是PLE_GAP和PLE_WINDOW。在VCPU進(jìn)行忙等時,會執(zhí)行Pause指令,若兩個連續(xù)的Pause指令在PLE_GAP指定的時間范圍內(nèi),則可以認(rèn)為該VCPU是由于等待同一個自旋鎖而導(dǎo)致的忙等,當(dāng)這種連續(xù)的Pause指令超過PLE_WINDOW指定的時間范圍時,則認(rèn)為該VCPU忙等時間過長,此時PLE向VMM層的調(diào)度模塊提供觸發(fā)信息,調(diào)度模塊將該VCPU調(diào)度出物理CPU,之后從物理CPU的運行隊列中選擇下一個VCPU進(jìn)入該物理CPU中運行,觸發(fā)執(zhí)行過程如圖1所示。
現(xiàn)有PLE技術(shù)的運用中有將參數(shù)固定不變的靜態(tài)PLE技術(shù),也有根據(jù)計算機在不同負(fù)載時動態(tài)變化參數(shù)以取其最優(yōu)值的動態(tài)PLE技術(shù)。
在現(xiàn)有的技術(shù)方案中,對VPN的協(xié)同調(diào)度和動態(tài)PLE技術(shù)只單獨使用其中之一,前者僅僅基于靜態(tài)PLE技術(shù),其利用PLE的觸發(fā)信息對虛擬機中的VCPU進(jìn)行協(xié)同調(diào)度,并沒有考慮在不同負(fù)載情況下PLE參數(shù)的調(diào)整。后者對PLE參數(shù)在不同負(fù)載情況下進(jìn)行動態(tài)調(diào)整,并沒有利用VCPU的協(xié)同調(diào)度減少LHP的發(fā)生。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學(xué),未經(jīng)上海交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410029589.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





