云主機(jī)系統(tǒng)中的cpu調(diào)度方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法及裝置。該方法包括:在創(chuàng)建云主機(jī)進(jìn)程時(shí),將云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上;每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量;當(dāng)云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程;將設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該CPU核心以外的CPU核心上。本發(fā)明保證了繁忙的云主機(jī)的獨(dú)占運(yùn)行,減少了繁忙的云主機(jī)的調(diào)度和干擾,提升了繁忙的云主機(jī)運(yùn)行的效率。
【專利說明】
云主機(jī)系統(tǒng)中的CPU調(diào)度方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及CPU調(diào)度技術(shù),尤其涉及一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法及裝置。
【背景技術(shù)】
[0002]云主機(jī)是云計(jì)算在基礎(chǔ)設(shè)施應(yīng)用上的重要組成部分,位于云計(jì)算產(chǎn)業(yè)鏈金字塔底層,產(chǎn)品源自云計(jì)算平臺(tái)。該平臺(tái)整合了互聯(lián)網(wǎng)應(yīng)用三大核心要素:計(jì)算、存儲(chǔ)、網(wǎng)絡(luò),面向用戶提供公用化的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施服務(wù)。云主機(jī)是一種類似VPS(Virtual PrivateServer,虛擬專用服務(wù)器)主機(jī)的虛擬化技術(shù),VPS是采用虛擬軟件(如VZ或VM)在一臺(tái)主機(jī)上虛擬出多個(gè)類似獨(dú)立主機(jī)的部分,能夠?qū)崿F(xiàn)單機(jī)多用戶,每個(gè)部分都可以做單獨(dú)的操作系統(tǒng),管理方法同主機(jī)相同。而云主機(jī)是在一組集群主機(jī)上虛擬出多個(gè)類似獨(dú)立主機(jī)的部分,集群中每個(gè)宿主機(jī)上都有云主機(jī)的一個(gè)鏡像,從而大大提高了虛擬主機(jī)的安全穩(wěn)定性。
[0003]在現(xiàn)有的云主機(jī)系統(tǒng)中,各個(gè)云主機(jī)按照各自的配置均衡的使用宿主機(jī)的資源進(jìn)行運(yùn)算,當(dāng)其中的云主機(jī)比較繁忙時(shí),不能保證該云主機(jī)的運(yùn)行效率。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例提供一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法及裝置,以保證繁忙的云主機(jī)的運(yùn)行效率。
[0005]第一方面,本發(fā)明實(shí)施例提供了一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法,所述方法包括:
[0006]在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上;
[0007]每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量;
[0008]當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程;
[0009]將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該CPU核心以外的CPU核心上。
[0010]第二方面,本發(fā)明實(shí)施例還提供了一種云主機(jī)系統(tǒng)中的CPU調(diào)度裝置,所述裝置包括:
[0011 ] CPU核心綁定模塊,用于在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上;
[0012]CPU使用量獲取模塊,用于每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量;
[0013]云主機(jī)進(jìn)程選取模塊,用于當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程;
[0014]第一云主機(jī)進(jìn)程迀移模塊,用于將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CHJ核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該(PU核心以外的CPU核心上。
[0015]本發(fā)明實(shí)施例的技術(shù)方案,通過在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上,避免云主機(jī)進(jìn)程在宿主機(jī)的CPU核心間迀移,當(dāng)云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),選取該云主機(jī)的云主機(jī)進(jìn)程中CPU占用最大的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程,將選取的云主機(jī)進(jìn)程以外的進(jìn)程迀移到選取的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心上,保證了該繁忙的云主機(jī)的獨(dú)占運(yùn)行,減少了該繁忙的云主機(jī)的調(diào)度和干擾,提升了該繁忙的云主機(jī)運(yùn)行的效率。
【附圖說明】
[0016]圖1是本發(fā)明實(shí)施例一提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法的流程圖;
[0017]圖2是本發(fā)明實(shí)施例二提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法的流程圖;
[0018]圖3是本發(fā)明實(shí)施例三提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法的流程圖;
[0019]圖4是本發(fā)明實(shí)施例四提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。
[0021]在本發(fā)明實(shí)施例中,設(shè)計(jì)了一個(gè)供用戶設(shè)定云主機(jī)的Q0S(Quality of Service,服務(wù)質(zhì)量)等級(jí)的設(shè)定接口,通過用戶對(duì)云主機(jī)的QOS等級(jí)的設(shè)定,在結(jié)合本發(fā)明實(shí)施例所述的云主機(jī)系統(tǒng)中的CPU調(diào)度方法,可以保障QOS等級(jí)高的云主機(jī)的CPU使用。
[0022]實(shí)施例一
[0023]圖1是本發(fā)明實(shí)施例一提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法的流程圖,本實(shí)施例可適用于按照服務(wù)質(zhì)量等級(jí)對(duì)CPU進(jìn)行調(diào)度的情況,該方法可以由云主機(jī)系統(tǒng)中的CPU調(diào)度裝置來執(zhí)行,該裝置可以由軟件和/或硬件來實(shí)現(xiàn)。該方法具體包括如下步驟:
[0024]步驟110,在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上。
[0025]當(dāng)創(chuàng)建云主機(jī)系統(tǒng)中的云主機(jī)進(jìn)程時(shí),將每個(gè)云主機(jī)進(jìn)程隨機(jī)的綁定在一個(gè)CPU核心上,并記錄云主機(jī)進(jìn)程綁定的CPU核心。通過將云主機(jī)進(jìn)程綁定在CPU核心上,可以避免云主機(jī)進(jìn)程在宿主機(jī)的CPU核心上自動(dòng)迀移。其中,所述云主機(jī)系統(tǒng)是指安裝在一個(gè)宿主機(jī)上的多個(gè)云主機(jī)。
[0026]其中,CPU核心又稱為CPU內(nèi)核,是CPU最重要的組成部分。CPU中心的隆起的芯片就是CPU核心,是由單晶硅以一定的生產(chǎn)工藝制造出來的,CPU所有的計(jì)算、接受/存儲(chǔ)命令、處理數(shù)據(jù)都由CPU核心執(zhí)行。各種CPU核心都具有固定的邏輯結(jié)構(gòu),一級(jí)緩存、二級(jí)緩存、執(zhí)行單元、指令級(jí)單元和總線接口等邏輯單元都會(huì)有科學(xué)的布局。
[0027]步驟120,每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量。
[0028]每隔預(yù)設(shè)時(shí)間間隔(如每秒)獲取一次所述云主機(jī)系統(tǒng)(即一臺(tái)宿主機(jī))中的所有云主機(jī)進(jìn)程的CPU使用量。其中,所述CPU使用量?jī)?yōu)選為CPU使用時(shí)間。
[0029]步驟130,當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CHJ使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程。
[0030]提前將不同預(yù)設(shè)QOS等級(jí)的云主機(jī)進(jìn)程的CPU使用量設(shè)定CPU使用臨界值,預(yù)設(shè)QOS等級(jí)高的云主機(jī)的CPU使用臨界值可以大于預(yù)設(shè)QOS等級(jí)低的云主機(jī)的CPU使用臨界值,從而可以保證預(yù)設(shè)QOS等級(jí)高的云主機(jī)對(duì)CPU的使用。
[0031]所述云主機(jī)進(jìn)程的CPU使用量是指一個(gè)云主機(jī)的所有的云主機(jī)進(jìn)程的CPU使用量的總和。在排序后選取進(jìn)程時(shí),預(yù)設(shè)QOS等級(jí)高的云主機(jī)選取的云主機(jī)進(jìn)程的個(gè)數(shù)即設(shè)定個(gè)數(shù)要大于預(yù)設(shè)QOS等級(jí)低云主機(jī)選取的云主機(jī)進(jìn)程的設(shè)定個(gè)數(shù),從而保證較多的預(yù)設(shè)QOS等級(jí)高的云主機(jī)的云主機(jī)進(jìn)程的獨(dú)占運(yùn)行。
[0032]步驟140,將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該CPU核心以外的CPU核心上。
[0033]確定所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心,以及承載所述云主機(jī)的宿主機(jī)的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心。所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心可能是設(shè)定個(gè)數(shù)的CPU核心,也可能是數(shù)量小于設(shè)定個(gè)數(shù)的CPU核心。
[0034]將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的進(jìn)程綁定到該宿主機(jī)的該CPU核心以外的CPU核心上。其中,所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程也可以是與所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程同屬于一臺(tái)云主機(jī),也可以屬于其他的云主機(jī),由于這些云主機(jī)進(jìn)程對(duì)CPU的使用量較低,可以迀移到其他的CPU核心上,以避免這些云主機(jī)進(jìn)程對(duì)該云主機(jī)的繁忙的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程的干擾。
[0035]本實(shí)施例的技術(shù)方案,通過在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上,避免云主機(jī)進(jìn)程在宿主機(jī)的CPU核心間迀移,當(dāng)云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),選取該云主機(jī)的云主機(jī)進(jìn)程中CPU占用最大的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程,將選取的云主機(jī)進(jìn)程以外的進(jìn)程迀移到選取的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心上,以保證該云主機(jī)的獨(dú)占運(yùn)行,減少了該繁忙的云主機(jī)的調(diào)度和干擾,提升了該繁忙的云主機(jī)運(yùn)行的效率,防止了云主機(jī)系統(tǒng)發(fā)生雪崩。
[0036]實(shí)施例二
[0037]圖2是本發(fā)明實(shí)施例二提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法的流程圖,本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)行了優(yōu)化,該方法具體包括如下步驟:
[0038]步驟210,在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上。
[0039]步驟220,每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量。
[0040]步驟230,獲取預(yù)先設(shè)定的云主機(jī)的QOS等級(jí)信息表。
[0041 ]其中,所述QOS等級(jí)信息表包括預(yù)設(shè)QOS等級(jí)和對(duì)應(yīng)的CPU使用臨界值。
[0042]其中,所述QOS等級(jí)信息表優(yōu)選包括:預(yù)設(shè)QOS等級(jí)、所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值以及超過臨界值時(shí)可獨(dú)占的CPU數(shù),其中,高預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)。其中,超過臨界值時(shí)可獨(dú)占的CPU數(shù),是指超過臨界值時(shí)75Γ主機(jī)可以獨(dú)占的CPU核心的數(shù)量。尚預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù),從而高預(yù)設(shè)QOS等級(jí)的云主機(jī)的獨(dú)占運(yùn)行,保證高預(yù)設(shè)QOS等級(jí)的云主機(jī)的服務(wù)質(zhì)量。
[0043]步驟240,將所述云主機(jī)進(jìn)程的CPU使用量和所述QOS等級(jí)信息表中該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值進(jìn)行對(duì)比。
[0044]通過對(duì)比,確定云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值的云主機(jī)進(jìn)程。
[0045]步驟250,當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CHJ使用量對(duì)該云主機(jī)的云主機(jī)進(jìn)程從大到小進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程。
[0046]步驟260,將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該CPU核心以外的CPU核心上。
[0047]本發(fā)明實(shí)施例的技術(shù)方案,在實(shí)施例一的基礎(chǔ)上,通過將所述云主機(jī)進(jìn)程的CPU使用量和所述QOS等級(jí)信息表中該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值進(jìn)行對(duì)比,從而明確的確定(PU使用量超過CPU使用臨界值的云主機(jī)進(jìn)程,以充分保證該繁忙的云主機(jī)進(jìn)程的運(yùn)行效率。
[0048]實(shí)施例三
[0049]圖3是本發(fā)明實(shí)施例三提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上進(jìn)行了優(yōu)化,所述設(shè)定個(gè)數(shù)優(yōu)選為所述超過臨界值時(shí)可獨(dú)占的CPU數(shù),并進(jìn)一步增加了“當(dāng)所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中有至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該CPU核心中保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除該云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心中”的操作,該方法具體包括如下步驟:
[0050]步驟310,在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上。
[0051]步驟320,每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量。
[0052]步驟330,獲取預(yù)先設(shè)定的云主機(jī)的QOS等級(jí)信息表。
[0053]步驟340,將所述云主機(jī)進(jìn)程的CPU使用量和所述QOS等級(jí)信息表中該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值進(jìn)行對(duì)比。
[0054]通過對(duì)比,確定云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值的云主機(jī)進(jìn)程。
[0055]步驟350,當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CHJ使用量對(duì)該云主機(jī)的云主機(jī)進(jìn)程從大到小進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程。
[0056]步驟360,將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該CPU核心以外的CPU核心上。
[0057]步驟370,當(dāng)所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中有至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該CPU核心中保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除該云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心中。
[0058]由于所述設(shè)定個(gè)數(shù)為所述超過臨界值時(shí)可獨(dú)占的CPU數(shù),因此,可以將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程獨(dú)占超過臨界值時(shí)可獨(dú)占的CPU數(shù)的CPU核心。首先確定所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中是否有至少兩個(gè)云主機(jī)進(jìn)行在同一個(gè)CPU核心上,當(dāng)存在至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該同一個(gè)CPU核心上保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除保留的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CHJ核心的以外的CPU核心中,保證該云主機(jī)獨(dú)占超過臨界值時(shí)可獨(dú)占的CPU數(shù)的CPU核心,保證該云主機(jī)的CPU使用權(quán)。由于高預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù),從而可以保證高預(yù)設(shè)QOS等級(jí)的云主機(jī)的獨(dú)占運(yùn)行。
[0059]本發(fā)明實(shí)施例的技術(shù)方案,在上述實(shí)施例的基礎(chǔ)上,通過當(dāng)所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中有至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該CPU核心中保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除該云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心中,保證該云主機(jī)獨(dú)占CI3U核心的數(shù)量為該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù),進(jìn)一步提高了繁忙的云主機(jī)的運(yùn)行效率,由于高預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù),從而可以保證高預(yù)設(shè)QOS等級(jí)的云主機(jī)的獨(dú)占運(yùn)行,保證高預(yù)設(shè)QOS等級(jí)的云主機(jī)的CPU使用權(quán)。
[0060]實(shí)施例四
[0061]圖4是本發(fā)明實(shí)施例四提供的一種云主機(jī)系統(tǒng)中的CPU調(diào)度裝置的結(jié)構(gòu)示意圖,如圖4所示,本實(shí)施例所述的云主機(jī)系統(tǒng)中的CPU調(diào)度裝置包括:CPU核心綁定模塊410、CPU使用量獲取模塊420、云主機(jī)進(jìn)程選取模塊430和第一云主機(jī)進(jìn)程迀移模塊440。
[0062]其中,CPU核心綁定模塊410用于在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上;
[0063]CPU使用量獲取模塊420用于每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CPU使用量;
[0064]云主機(jī)進(jìn)程選取模塊430用于當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程;
[0065]第一云主機(jī)進(jìn)程迀移模塊440用于將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該(PU核心以外的CPU核心上。
[0066]優(yōu)選的,還包括:
[0067]QOS等級(jí)信息表獲取模塊,用于在當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)服務(wù)質(zhì)量QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量對(duì)該云主機(jī)的進(jìn)程從大到小進(jìn)行排序之前,獲取預(yù)先設(shè)定的云主機(jī)的QOS等級(jí)信息表;
[0068]CPU使用量對(duì)比模塊,用于將所述云主機(jī)進(jìn)程的CPU使用量和所述QOS等級(jí)信息表中該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值進(jìn)行對(duì)比。
[0069]其中,所述QOS等級(jí)信息表優(yōu)選包括:預(yù)設(shè)QOS等級(jí)、所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值以及超過臨界值時(shí)可獨(dú)占的CPU數(shù),其中,高預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)。
[0070]優(yōu)選的,所述設(shè)定個(gè)數(shù)為所述超過臨界值時(shí)可獨(dú)占的CPU數(shù);
[0071]相應(yīng)的,所述裝置還包括:
[0072]第二云主機(jī)進(jìn)程迀移模塊,用于當(dāng)所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中有至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該CPU核心中保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除該云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的(PU核心以外的CPU核心中。
[0073]上述產(chǎn)品可執(zhí)行本發(fā)明任意實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
[0074]注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。
【主權(quán)項(xiàng)】
1.一種云主機(jī)系統(tǒng)中的CRJ調(diào)度方法,其特征在于,所述方法包括: 在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CRJ核心上; 每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CHJ使用量; 當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)服務(wù)質(zhì)量QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程; 將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該CPU核心以外的CPU核心上。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)服務(wù)質(zhì)量QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量對(duì)該云主機(jī)的進(jìn)程從大到小進(jìn)行排序之前,還包括: 獲取預(yù)先設(shè)定的云主機(jī)的QOS等級(jí)信息表; 將所述云主機(jī)進(jìn)程的CPU使用量和所述QOS等級(jí)信息表中該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的(PU使用臨界值進(jìn)行對(duì)比。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述QOS等級(jí)信息表包括:預(yù)設(shè)QOS等級(jí)、所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值以及超過臨界值時(shí)可獨(dú)占的CPU數(shù),其中,高預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述設(shè)定個(gè)數(shù)為所述超過臨界值時(shí)可獨(dú)占的CHJ數(shù); 相應(yīng)的,所述方法還包括: 當(dāng)所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中有至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該CPU核心中保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除該云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心中。5.一種云主機(jī)系統(tǒng)中的CRJ調(diào)度裝置,其特征在于,所述裝置包括: CPU核心綁定模塊,用于在創(chuàng)建云主機(jī)進(jìn)程時(shí),將所述云主機(jī)進(jìn)程隨機(jī)綁定在一個(gè)CPU核心上; CHJ使用量獲取模塊,用于每隔預(yù)設(shè)時(shí)間間隔獲取云主機(jī)進(jìn)程的CRJ使用量; 云主機(jī)進(jìn)程選取模塊,用于當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量從大到小對(duì)該云主機(jī)的云主機(jī)進(jìn)程進(jìn)行排序,并選取排名靠前的與所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程; 第一云主機(jī)進(jìn)程迀移模塊,用于將所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心上的除所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程綁定到該(PU核心以外的CPU核心上。6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,還包括: QOS等級(jí)信息表獲取模塊,用于在當(dāng)所述云主機(jī)進(jìn)程的CPU使用量超過該云主機(jī)的預(yù)設(shè)服務(wù)質(zhì)量QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值時(shí),按照云主機(jī)進(jìn)程的CPU使用量對(duì)該云主機(jī)的進(jìn)程從大到小進(jìn)行排序之前,獲取預(yù)先設(shè)定的云主機(jī)的QOS等級(jí)信息表; CPU使用量對(duì)比模塊,用于將所述云主機(jī)進(jìn)程的CPU使用量和所述QOS等級(jí)信息表中該云主機(jī)的預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值進(jìn)行對(duì)比。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述QOS等級(jí)信息表包括:預(yù)設(shè)QOS等級(jí)、所述預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的CPU使用臨界值以及超過臨界值時(shí)可獨(dú)占的CPU數(shù),其中,高預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)大于低預(yù)設(shè)QOS等級(jí)對(duì)應(yīng)的超過臨界值時(shí)可獨(dú)占的CPU數(shù)。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述設(shè)定個(gè)數(shù)為所述超過臨界值時(shí)可獨(dú)占的CHJ數(shù); 相應(yīng)的,所述裝置還包括: 第二云主機(jī)進(jìn)程迀移模塊,用于當(dāng)所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程中有至少兩個(gè)云主機(jī)進(jìn)程在同一個(gè)CPU核心上時(shí),在該CPU核心中保留所述至少兩個(gè)云主機(jī)進(jìn)程中的一個(gè)云主機(jī)進(jìn)程,將所述至少兩個(gè)云主機(jī)進(jìn)程中除該云主機(jī)進(jìn)程以外的云主機(jī)進(jìn)程分別迀移到所述設(shè)定個(gè)數(shù)的云主機(jī)進(jìn)程所在的CPU核心以外的CPU核心中。
【文檔編號(hào)】G06F9/50GK106020971SQ201610307687
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月10日
【發(fā)明人】劉杰, 李坤祥, 關(guān)志來, 黃衍博, 麥劍
【申請(qǐng)人】廣東睿江云計(jì)算股份有限公司