本發(fā)明涉及計算機云計算性能技術(shù)領(lǐng)域,具體地說是一種基于openstack的對稱多處理虛擬機的調(diào)度方法。
背景技術(shù):
openstack是一個旨在為公共及私有云的建設與管理提供軟件的開源項目。它支持幾乎所有類型的云環(huán)境,其首要任務是簡化云的部署過程并為其帶來良好的可擴展性。openstack覆蓋了網(wǎng)絡、虛擬化、操作系統(tǒng)、服務器等各個方面,因open而開放,因組件而靈活,因包容而博大。有計算、網(wǎng)絡、對象存儲、塊存儲、身份、鏡像服務、門戶、測量、部署編排、數(shù)據(jù)庫服務等組件。
在非虛擬化的環(huán)境中,對稱多處理器技術(shù)支持操作系統(tǒng)擁有并完全控制多個物理處理器。通過提供并發(fā)的計算資源和運算邏輯。允許上層操作系統(tǒng)同時調(diào)度多條基于不同計算目的的進程并發(fā)執(zhí)行,來有效地提高系統(tǒng)的吞吐率與性能。
openstack平臺上,由于安全組內(nèi)多虛擬機之間的頻繁通信,尤其是并行計算任務,經(jīng)常使用內(nèi)部網(wǎng)絡陷于癱瘓,不利于其它應用及數(shù)據(jù)中心的正常運行。而現(xiàn)存的方案往往集中在網(wǎng)絡設備的改進或網(wǎng)絡協(xié)議的重新設計上,無法直接應用于當前的網(wǎng)絡環(huán)境中。
技術(shù)實現(xiàn)要素:
本發(fā)明的技術(shù)任務是提供一種基于openstack的對稱多處理虛擬機的調(diào)度方法。為了解決openstack平臺上,由于安全組內(nèi)多虛擬機之間的頻繁通信,尤其是并行計算任務,經(jīng)常使用內(nèi)部網(wǎng)絡陷于癱瘓,不利于其它應用及數(shù)據(jù)中心的正常運行。而現(xiàn)存的方案往往集中在網(wǎng)絡設備的改進或網(wǎng)絡協(xié)議的重新設計上,無法直接應用于當前的網(wǎng)絡環(huán)境中。本發(fā)明從虛擬機部署的角度入手,通過有效地利用多核虛擬機的優(yōu)勢,提出了一種新的面向節(jié)能網(wǎng)絡的多虛擬機協(xié)同部署方法。
本發(fā)明的技術(shù)任務是按以下方式實現(xiàn)的,基于openstack的對稱多處理虛擬機的調(diào)度方法,步驟如下:
s1、首先通過工作區(qū)分發(fā)資源;
s2、比較用戶任務請求子任務數(shù)和工作區(qū)中剩余服務能力;
s3、為了減少節(jié)點能耗和最小化請求的響應時間,啟用工作區(qū)中的節(jié)點;
s4、當工作區(qū)當前所??臻g最大的節(jié)點不足以滿足當前的請求,則喚醒節(jié)能區(qū)中的節(jié)點。
進一步的,優(yōu)選的,假定p:表示用戶任務請求子任務數(shù);mark:表示工作區(qū)中剩余服務能力最足的節(jié)點;具體實現(xiàn)步驟如下:
s1、比較p和0的大小,如果p<=0,則退出(1);否,下一步;
s2、比較mark-1上所??臻g與p的大小關(guān)系,如果m-f(ot[mark-1])>=p,那么選定節(jié)點mark-1為目標節(jié)點,并啟動一個p核的smpvm,更新f(ot[mark-1])、ot[n]及l(fā)c的值,退出(0);否,下一步;
s3、設t=p/m,并考察p%m的值,如果為0,下一步;否,轉(zhuǎn)s2;
s4、如果mark+t>n,退出(1);否,選定{mark,…,mark+t-1}為專用區(qū)并喚醒其中的各個節(jié)點,并在每個節(jié)點上啟動一個m核的smpvm,更新f(i)、z(i)、lc、mark及ot[n],退出(0)。
一種基于openstack的對稱多處理虛擬機的調(diào)度系統(tǒng),包括虛擬機管理器和對稱多處理系統(tǒng);
虛擬機管理器,用于為客戶機操作系統(tǒng)配置多個虛擬機處理器;
對稱多處理系統(tǒng),用于實現(xiàn)客戶對稱多處理器虛擬化技術(shù)。
進一步的,優(yōu)選的結(jié)構(gòu)為,所述的對稱多處理系統(tǒng)由無限帶寬網(wǎng)絡和多個計算機節(jié)點形成。
進一步的,優(yōu)選的結(jié)構(gòu)為,所述的虛擬機管理器,采用openmp應用編程接口和mpi編程接口標準。
本發(fā)明的基于openstack的對稱多處理虛擬機的調(diào)度方法和現(xiàn)有技術(shù)相比,有益效果如下:
1、本發(fā)明從虛擬機部署的角度入手,通過有效地利用多核虛擬機的優(yōu)勢,提出了一種新的面向節(jié)能網(wǎng)絡的多虛擬機協(xié)同部署方法,減少了因通信而造成的效率下降的問題;
2、將并行任務部署在盡可能少的計算節(jié)點上,以減少因通信而造成的效下降問題,同時減少任務對網(wǎng)絡的擁塞影響;
3、資源的分發(fā)本著規(guī)模最小、均衡負載的理念,從而保證私有云節(jié)能調(diào)度的性能。
附圖說明
圖1為基于openstack的對稱多處理虛擬機的調(diào)度方法的流程框圖;
圖2為smp的虛擬機的結(jié)構(gòu)框圖。
具體實施方式
在虛擬化環(huán)境中,vmm也可以為客戶機操作系統(tǒng)配置多個虛擬機處理器,從而實現(xiàn)客戶對稱多處理器虛擬化技術(shù),即客戶smp技術(shù)。如此一來,當這些虛擬機處理器被調(diào)度到多個物理處理器上同時執(zhí)行時,同樣可以達到提高給定虛擬機性能的目的。vmm:虛擬機管理器;smp技術(shù):對稱多處理技術(shù)。
本發(fā)明的基本思想是:盡可能地通過工作區(qū)來分發(fā)資源,從而最小化請求的響應時間,同時減少節(jié)點能耗;如果工作區(qū)當前所剩空間最大的節(jié)點不足以滿足當前的請求,就不得不臨時喚醒節(jié)能區(qū)中的若干節(jié)點。即大體步驟為:
s1、首先通過工作區(qū)分發(fā)資源;
s2、比較用戶任務請求子任務數(shù)和工作區(qū)中剩余服務能力;
s3、為了減少節(jié)點能耗和最小化請求的響應時間,啟用工作區(qū)中的節(jié)點;
s4、當工作區(qū)當前所??臻g最大的節(jié)點不足以滿足當前的請求,則喚醒節(jié)能區(qū)中的節(jié)點。
為了保證私有云節(jié)能調(diào)度的性能,資源的分發(fā)本著規(guī)模最小、均衡負載的理念。假定用戶任務請求的子任務數(shù)用p表示,mark:表示工作區(qū)中剩余服務能力最足的節(jié)點。
具體的實現(xiàn)步驟如下:
s1、比較p和0的大小,如果p<=0,則退出(1);否則,下一步。
s2、比較工作區(qū)中剩余服務能力最足的節(jié)點mark-1上所??臻g與p的大小關(guān)系,如果m-f(ot[mark-1])>=p,那么選定節(jié)點mark-1為目標節(jié)點,并啟動一個p核的smpvm,更新f(ot[mark-1])、ot[n]及l(fā)c的值,退出(0);否則,下一步。
s3、設t=p/m,并考察p%m的值,如果為0,下一步;否則,轉(zhuǎn)s2。
s4、如果mark+t>n,退出(1);否則選定{mark,…,mark+t-1}為專用區(qū)并喚醒其中的各個節(jié)點,并在每個節(jié)點上啟動一個m核的smpvm,更新f(i)、z(i)、lc、mark及ot[n],退出(0)。
基于本發(fā)明方法的一種系統(tǒng)為,一種基于openstack的對稱多處理虛擬機的調(diào)度系統(tǒng),包括虛擬機管理器和對稱多處理系統(tǒng);
虛擬機管理器,用于為客戶機操作系統(tǒng)配置多個虛擬機處理器;所述的虛擬機管理器,采用openmp應用編程接口和mpi編程接口標準。
對稱多處理系統(tǒng),用于實現(xiàn)客戶對稱多處理器虛擬化技術(shù)。所述的對稱多處理系統(tǒng)由無限帶寬網(wǎng)絡和多個計算機節(jié)點形成。
本發(fā)明從虛擬機部署的角度入手,通過有效地利用多核虛擬機的優(yōu)勢,提出了一種新的面向節(jié)能網(wǎng)絡的多虛擬機協(xié)同部署方法。以減少因通信而造成的效率下降的問題。
通過上面具體實施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應當理解,本發(fā)明并不限于上述的幾種具體實施方式。在公開的實施方式的基礎上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。