[發(fā)明專利]一種降低VCPU熱度的KVM虛擬機(jī)熱遷移優(yōu)化方法在審
| 申請(qǐng)?zhí)枺?/td> | 201711153352.0 | 申請(qǐng)日: | 2017-11-18 |
| 公開(公告)號(hào): | CN107832118A | 公開(公告)日: | 2018-03-23 |
| 發(fā)明(設(shè)計(jì))人: | 李傳云;楊朝暉 | 申請(qǐng)(專利權(quán))人: | 浙江網(wǎng)新恒天軟件有限公司 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F9/48 |
| 代理公司: | 杭州求是專利事務(wù)所有限公司33200 | 代理人: | 劉靜,邱啟旺 |
| 地址: | 310012 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 降低 vcpu 熱度 kvm 虛擬機(jī) 遷移 優(yōu)化 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及KVM虛擬化系統(tǒng),尤其涉及一種降低VCPU熱度的KVM虛擬機(jī)熱遷移優(yōu)化方法。
背景技術(shù)
KVM虛擬機(jī)熱遷移主要包括內(nèi)存遷移、設(shè)備狀態(tài)遷移、關(guān)閉虛擬機(jī)、恢復(fù)虛擬機(jī)幾個(gè)階段,根據(jù)這幾個(gè)階段的不同順序,熱遷移算法主要可以分為兩類,即預(yù)拷貝(pre-copy)遷移算法和后拷貝(post-copy)遷移算法。KVM熱遷移通過預(yù)拷貝(pre-copy)遷移算法實(shí)現(xiàn),通常情況下,在迭代拷貝階段,臟頁會(huì)越來越少,但在虛擬機(jī)高負(fù)載情況下,迭代拷貝階段內(nèi)存被頻繁訪問,或是網(wǎng)絡(luò)帶寬較低、網(wǎng)絡(luò)擁堵,臟頁達(dá)不到停止拷貝的閥值,這將導(dǎo)致遷移時(shí)間過長(zhǎng),造成熱遷移不能有效完成問題。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于針對(duì)KVM虛擬機(jī)熱遷移算法中熱遷移不能有效完成的問題,提出一種自適應(yīng)降低VCPU熱度優(yōu)化方法。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種降低VCPU熱度的KVM虛擬機(jī)熱遷移優(yōu)化方法,該方法首先獲取臟頁量,若臟頁量低于最大停機(jī)臟頁量閥值,則進(jìn)入停機(jī)拷貝階段,否則每隔100ms檢測(cè)一次slowdown的標(biāo)志,slowdown代表是否開啟降低VCPU熱度的機(jī)制;若slowdown為false,則判斷前兩次和本次的臟頁量,若臟頁量連續(xù)兩輪上升,說明臟頁產(chǎn)生速率很快,將slowdown設(shè)置為true,開啟降低VCPU熱度的機(jī)制,往每一個(gè)VCPU線程插入一個(gè)stub_time時(shí)長(zhǎng)的sleep,同時(shí)初始化stub_time;接下來的每一輪迭代前均需判斷上一輪臟頁量與本輪臟頁量的關(guān)系,若臟頁量減少,stub_time的值保持不變;若臟頁量未減少,則指數(shù)增加stub_time,stub_time的大小不能超過160ms。
本發(fā)明的有益效果是:對(duì)于一些內(nèi)存高負(fù)載的虛擬機(jī),如正在執(zhí)行編譯內(nèi)核任務(wù)的虛擬機(jī),由于其臟頁產(chǎn)生速率高于內(nèi)存?zhèn)鬏斔俾剩虼诉w移不能有效完成。本發(fā)明通過往VCPU線程周期性插入sleep任務(wù),減少虛擬機(jī)運(yùn)行時(shí)間,從而達(dá)到降低臟頁產(chǎn)生速率的目的,使熱遷移順利結(jié)束;改進(jìn)后,即使在內(nèi)存高負(fù)載情況下,可以順利結(jié)束遷移。
附圖說明
圖1為KVM虛擬機(jī)熱遷移流程;
圖2為自適應(yīng)降低VCPU熱度優(yōu)化方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
(1)VCPU線程執(zhí)行自定義任務(wù)
QEMU中的VCPU線程的工作主要是負(fù)責(zé)調(diào)用KVM模擬CPU的執(zhí)行,主要依靠一個(gè)while循環(huán),如下所示:
其中kvm_cpu_exec負(fù)責(zé)調(diào)用KVM_RUN陷入VMX非根操作模式去執(zhí)行客戶機(jī)代碼,而qemu_kvm_wait_io_event負(fù)責(zé)執(zhí)行額外的任務(wù);QEMU中的CPU包括一個(gè)queued_work_first成員,表示該CPU需要執(zhí)行的任務(wù)隊(duì)列,每次進(jìn)入CPU之前qemu_kvm_wait_io_event都要先執(zhí)行該工作隊(duì)列;因此可以將一些自定義任務(wù)加入這個(gè)隊(duì)列,VCPU線程每次從KVM返回后,要先執(zhí)行完自定義的任務(wù)才能再次進(jìn)入KVM。
(2)執(zhí)行stub job降低VCPU熱度
本發(fā)明將利用VCPU線程執(zhí)行自定義任務(wù)的特性,通過插入stub job形式,減少虛擬機(jī)VCPU的運(yùn)行時(shí)間,達(dá)到降低VCPU熱度、減小臟頁產(chǎn)生速率的目的。一個(gè)stub job是指占據(jù)CPU時(shí)間,但不運(yùn)行的任務(wù),在優(yōu)化方案中,本發(fā)明定義了如下所示的stub job,即通過執(zhí)行了一個(gè)stub_time時(shí)間片段的sleep,在這段時(shí)間內(nèi)VCPU將被掛起,虛擬機(jī)無法執(zhí)行,臟頁率迅速下降。
由于是強(qiáng)行往vcpu線程插入stub job,臟頁會(huì)迅速減小,但這也意味著虛擬機(jī)的性能將受到較大影響,因此需要選擇合適的時(shí)機(jī)開啟該項(xiàng)功能。假如遷移一開始就開啟該項(xiàng)功能,虛擬機(jī)功能將受到很大影響,只有當(dāng)臟頁產(chǎn)生速率大于或等于臟頁傳輸速率時(shí),開啟該功能才有較大的意義。此外,stub_time的值該如何確定,假如stub_time時(shí)間太短,降低VCPU熱度的效果不明顯;假如太長(zhǎng),會(huì)對(duì)虛擬機(jī)性能造成重大影響。針對(duì)上述情況,本發(fā)明提出了一種自適應(yīng)降低VCPU熱度的方法,在適當(dāng)?shù)臅r(shí)機(jī)開啟降低VCPU熱度的機(jī)制,同時(shí)會(huì)將stub_time初始化為一個(gè)值,然后根據(jù)遷移時(shí)臟頁產(chǎn)生速率動(dòng)態(tài)調(diào)整stub_time的值。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江網(wǎng)新恒天軟件有限公司,未經(jīng)浙江網(wǎng)新恒天軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711153352.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種多虛擬處理器同步調(diào)度的方法及計(jì)算機(jī)
- 一種級(jí)聯(lián)多核CPU間VCPU均衡分擔(dān)控制方法及其裝置
- 熱點(diǎn)域虛擬機(jī)CPU調(diào)度方法及虛擬機(jī)系統(tǒng)
- 一種基于當(dāng)前VCPU調(diào)度狀態(tài)的動(dòng)態(tài)中斷均衡映射方法
- 一種面向虛擬桌面的VCPU調(diào)度方法
- 一種分配虛擬處理器的方法、設(shè)備及系統(tǒng)
- 一種VCPU切換方法和物理主機(jī)
- 一種vCPU資源分配方法、裝置和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種基于鯤鵬處理器的調(diào)度方法、裝置及介質(zhì)
- 一種負(fù)載均衡方法、裝置及設(shè)備
- 預(yù)測(cè)視頻內(nèi)容熱度的方法和裝置
- 一種熱度迭代計(jì)算方法
- 帖子智能排位方法、裝置以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 電視節(jié)目播放方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 一種空調(diào)器的膨脹閥的控制方法及其系統(tǒng)、空調(diào)器
- 一種視頻熱度級(jí)別預(yù)測(cè)方法及裝置
- 一種分布式存儲(chǔ)系統(tǒng)數(shù)據(jù)熱度統(tǒng)計(jì)方法、裝置
- 一種基于熱度的日志結(jié)構(gòu)文件系統(tǒng)數(shù)據(jù)管理方法
- 熱度排行榜的更新方法、裝置、服務(wù)器及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 基于深度學(xué)習(xí)的數(shù)據(jù)熱度統(tǒng)計(jì)方法及裝置





