一種云數(shù)據(jù)中心任務(wù)分配方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于云計(jì)算系統(tǒng)控制領(lǐng)域,特別是涉及一種云數(shù)據(jù)中心任務(wù)分配方法、裝 置和系統(tǒng)。
【背景技術(shù)】
[0002] 云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算方式,通過(guò)這種方式,共享的軟硬件資源和信息 可以按需求提供給計(jì)算機(jī)和其他設(shè)備。相對(duì)于傳統(tǒng)的軟件和計(jì)算形態(tài),云計(jì)算具有松散耦 合、隨需應(yīng)變、成本可控、資源虛擬、異構(gòu)協(xié)同等顯著的優(yōu)勢(shì),使其更適應(yīng)現(xiàn)今的電子商務(wù)、 柔性制造、移動(dòng)互聯(lián)網(wǎng)等應(yīng)用。
[0003] 云數(shù)據(jù)中心是指由多個(gè)異構(gòu)的、由網(wǎng)絡(luò)連接在一起的主機(jī)所組成的用于承載提供 在線云服務(wù)的企業(yè)級(jí)應(yīng)用的分布式計(jì)算系統(tǒng)。在云數(shù)據(jù)中心中,將大量的主機(jī)進(jìn)行集中統(tǒng) 一管理,可以保障主機(jī)運(yùn)行所需要的穩(wěn)定電源環(huán)境,適宜的溫濕度控制以及網(wǎng)絡(luò)帶寬條件。
[0004] 同其他軟硬件系統(tǒng)一樣,云數(shù)據(jù)中心中的主機(jī)的負(fù)載也處于實(shí)時(shí)變化中。由于現(xiàn) 今的云計(jì)算系統(tǒng)多運(yùn)用于大規(guī)??茖W(xué)計(jì)算、實(shí)時(shí)金融、在線交易、流媒體多播等高負(fù)載和高 復(fù)雜度的應(yīng)用,其主機(jī)時(shí)常處于超負(fù)荷運(yùn)行的狀態(tài)。如果任務(wù)調(diào)度和負(fù)載均衡策略稍有不 慎,就極易出現(xiàn)部分主機(jī)節(jié)點(diǎn)待處理任務(wù)過(guò)度堆積和緩沖區(qū)溢出的情況,并有可能進(jìn)一步 形成系統(tǒng)崩潰,造成重大損失。傳統(tǒng)的任務(wù)調(diào)度和分配策略,多僅僅依據(jù)各個(gè)主機(jī)和節(jié)點(diǎn) 的當(dāng)前的負(fù)載、資源利用率、可靠性狀態(tài)計(jì)算容許的可新增任務(wù)容量,并根據(jù)這些靜態(tài)數(shù)據(jù) 確定任務(wù)分配和調(diào)度方案。這種策略存在以下不足:由于忽視了主機(jī)負(fù)載、資源占用率、可 用性和可靠性的變化趨勢(shì),傳統(tǒng)的調(diào)度策略可能將大量的新增任務(wù)分配到當(dāng)前任務(wù)余量較 大但運(yùn)行狀態(tài)急劇惡化中的主機(jī)上,極易使這些主機(jī)在一段時(shí)間后形成負(fù)載熱點(diǎn);同時(shí),部 分主機(jī)雖然當(dāng)前任務(wù)余量不大,但是處于運(yùn)行狀態(tài)迅速改善的過(guò)程中,而傳統(tǒng)的調(diào)度分配 策略有可能忽略掉這些實(shí)際上可以承接更多任務(wù)的主機(jī),從而導(dǎo)致系統(tǒng)計(jì)算資源的閑置浪 費(fèi)。
[0005] 在此背景下,如何動(dòng)態(tài)的跟蹤云數(shù)據(jù)中心的運(yùn)行態(tài)勢(shì)并進(jìn)行趨勢(shì)預(yù)判,實(shí)現(xiàn)合理 的新增任務(wù)分配策略,便成為了研究的熱點(diǎn)和難點(diǎn)。
【發(fā)明內(nèi)容】
[0006] 有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種任務(wù)調(diào)度更 合理的云數(shù)據(jù)中心任務(wù)分配方法。
[0007] 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種云數(shù)據(jù)中心任務(wù)分配方法,包括以下步驟:
[0008] 步驟一、收集主機(jī)運(yùn)行狀態(tài)信息;
[0009] 收集新任務(wù)到達(dá)的時(shí)間t ;并取得云數(shù)據(jù)中心中各個(gè)主機(jī)當(dāng)前的CPU占用率CZLp 內(nèi)存負(fù)載121^率、外存負(fù)載率SZL 1;最近完成的一個(gè)任務(wù)的所用執(zhí)行時(shí)間ZJT 1;最近一個(gè) 任務(wù)完成時(shí)所釋放的CPU占用率CSF1、釋放的內(nèi)存占用率MSF 1、釋放的外存占用率SSF1; 上次任務(wù)到達(dá)至本次任務(wù)到達(dá)時(shí)間內(nèi),各個(gè)主機(jī)上出現(xiàn)故障、錯(cuò)誤、或者失效的次數(shù)FN 1;0 < i < η,η為數(shù)據(jù)中心中的主機(jī)數(shù)量;
[0010] 步驟二、獲取各主機(jī)近期趨勢(shì)執(zhí)行率、等效未來(lái)預(yù)期任務(wù)到達(dá)時(shí)間、等效故障率、 故障率邊界值和歷史趨勢(shì)故障率,并將本次任務(wù)到達(dá)間隔時(shí)間賦給上一次計(jì)算出的上次任 務(wù)到達(dá)間隔時(shí)間,將t的值賦給OLDT ;
[0011] 步驟三、根據(jù)所述CPU占用率CZL1、內(nèi)存負(fù)載MZL1、外存負(fù)載率SZL 1、最近一個(gè)任務(wù) 完成時(shí)所釋放的CPU占用率CSF1、釋放的內(nèi)存占用率MSF1和釋放的外存占用率SSF i分析各 主機(jī)當(dāng)前可接收任務(wù)余量;
[0012] 步驟四、根據(jù)可接收任務(wù)余量生成任務(wù)分配方案;
[0013] 步驟五、根據(jù)標(biāo)志變量進(jìn)行任務(wù)分配。
[0014] 較佳的,設(shè)定步驟二中所述近期趨勢(shì)執(zhí)行率為JQZL1:
[0015] 計(jì);S
:得到所述JQZLi;
[0016] 設(shè)定所述等效未來(lái)預(yù)期任務(wù)到達(dá)時(shí)間為WLDT :
[0017] 計(jì)算
《得到所述WLDT ;所述JGT為本次任務(wù)到達(dá)間隔時(shí) 間,所述OLDJGT為上次任務(wù)到達(dá)間隔時(shí)間,所述OLDJGT的初始值為0 ;
[0018] 設(shè)定所述等效故障率為GZL1:
[0019] 計(jì)算
得到所述GZLi;
[0020] 用變量YC1標(biāo)記故障率邊界值:計(jì)算
[0022] 得到所述YC1;
[0023] 所述b為預(yù)先給定的系數(shù),l〈b ;
[0024] 設(shè)定所述歷史趨勢(shì)故障率為PJGL :
[0025] 計(jì)算 PJGL = mean (GZLi I 0 < i < n,YC# 1}得到所述 PJGL。
[0026] 較佳的,所述步驟三按以下步驟進(jìn)行:
[0027] 設(shè)定各主機(jī)最大允許的預(yù)期新增任務(wù)余量為YL1:
[0028] 計(jì)算
:得到所述YL1;
[0029] 所述a為預(yù)先給定的系統(tǒng)負(fù)載上限值,a為0. 7到1之間的任意實(shí)數(shù)。
[0030] 較佳的,步驟四中所述根據(jù)可接收任務(wù)余量生成任務(wù)分配方案按以下步驟執(zhí)行:
[0031] 設(shè)定各主機(jī)在下一次任務(wù)來(lái)臨時(shí),接收任務(wù)出現(xiàn)計(jì)算資源不足的近似預(yù)期概率為 BZL1:
[0032] 計(jì)算
得到所述 BZL1;
[0033] 比較各主機(jī)對(duì)應(yīng)的821^值,如果所有主機(jī)的BZL i值都為0,則將標(biāo)志變量FPH賦 值為〇 ;如果至少存在一個(gè)主機(jī)對(duì)應(yīng)的BZL1值大于0,則將具有最大BZL i值的主機(jī)的編號(hào)賦 給所述標(biāo)志變量FPH。
[0034] 較佳的,步驟五中所述根據(jù)標(biāo)志變量進(jìn)行任務(wù)分配按以下步驟進(jìn)行:
[0035] 判斷所述標(biāo)志變量FPH的值,當(dāng)FPH為0時(shí),則不接收當(dāng)前新到達(dá)的任務(wù);當(dāng)FPH 不為〇時(shí),則將當(dāng)前新到達(dá)的任務(wù),分配給第FPH號(hào)主機(jī)執(zhí)行。
[0036] 較佳的,所述JGT = t-QLDT ;所述OLDT為上一次任務(wù)到達(dá)的時(shí)間,所述OLDT的初 始值被設(shè)置為0。
[0037] 本發(fā)明所要解決的另一技術(shù)問(wèn)題是提供一種任務(wù)調(diào)度更合理的云數(shù)據(jù)中心任務(wù) 分配裝置。
[0038] 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種云數(shù)據(jù)中心任務(wù)分配裝置,包括數(shù)據(jù)中心狀 態(tài)監(jiān)測(cè)模塊、控制決策模塊和任務(wù)分配控制模塊;所述數(shù)據(jù)中心狀態(tài)監(jiān)測(cè)模塊的輸出端連 接所述控制決策模塊的輸入端,所述控制決策模塊的輸出端連接所述任務(wù)分配控制模塊的 輸入端;
[0039] 所述數(shù)據(jù)中心狀態(tài)監(jiān)測(cè)模塊用于收集主機(jī)運(yùn)行狀態(tài)信息;
[0040] 所述控制決策模塊用于獲取各主機(jī)近期趨勢(shì)執(zhí)行率、等效未來(lái)預(yù)期任務(wù)到達(dá)時(shí) 間、等效故障率、故障率邊界值和歷史趨勢(shì)故障率,并根據(jù)所述CPU占用率CZL 1、內(nèi)存負(fù)載 MZL1、外存負(fù)載率SZL1、最近一個(gè)任務(wù)完成時(shí)所釋放的CPU占用率CSF1、釋放的內(nèi)存占用率 MSF1和釋放的外存占用率SSF i分析各主機(jī)當(dāng)前可接收任務(wù)余量,然后根據(jù)可接收任務(wù)余量 生成任務(wù)分配方案;
[0041] 所述任務(wù)分配控制模塊用于根據(jù)標(biāo)志變量進(jìn)行任務(wù)分配。
[0042] 較佳的,所述控制決策模塊包括性能分析單元、任務(wù)余量分析單元和分配方案生 成單元;
[0043] 所述數(shù)據(jù)中心狀態(tài)監(jiān)測(cè)模塊輸出數(shù)據(jù)給所述性能分析單元、任務(wù)余量分析單元和 分配方案生成單元,所述性能分析單元的輸出端連接所述分配方案生成單元的第一輸入 端;所述任務(wù)余量分析單元的輸出端連接所述分配方案生成單元的第二輸入端;所述分配 方案生成單元的輸出端連接所述任務(wù)分配控制模塊的輸入端;
[0044] 所述性能分析單元計(jì)算
得到所述JQZLiJZf述 JQZL1為近期趨勢(shì)執(zhí)行率;
[0045] 所述性能分析單元計(jì)算
得到所述WLDT ;所述WLDT為 等效未來(lái)預(yù)期任務(wù)到達(dá)時(shí)間;所述JGT為本次任務(wù)到達(dá)間隔時(shí)間,所述OLDJGT為上次任務(wù) 到達(dá)間隔時(shí)間,所述OLDJGT的初始值為0 ;所述JGT = t-QLDT ;所述OLDT為上一次任務(wù)到 達(dá)的時(shí)間,所述OLDT的初始值被設(shè)置為O ;
[0046] 所述性能分析單元計(jì)算
得到所述GZLi;所述GZL ;為等效故障率;
[0047] 所述性能分析單元用變量YC1標(biāo)記故障率邊界值:計(jì)算
[0049] 得到所述YC1;所述b為預(yù)先給定的系數(shù),l〈b ;
[0050] 所述性能分析單元計(jì)算PJGL = mean(GZLi |〇 < i彡n,YCi^ 1}得到所述PJGL ; 所述PJGL為歷史趨勢(shì)故障率;
[0051 ] 所述性能分析單元將WLDT、JQZLi、PJGL發(fā)送給分配方案生成單元;
[0052] 所述任務(wù)余量分析單元計(jì)算各主機(jī)最大允許的預(yù)期新增任務(wù)余量,YLi:
[0054] 所述a為預(yù)先給定的系統(tǒng)負(fù)載上限值,a為0. 7到1之間的任意實(shí)數(shù);所述任務(wù)余 量分析單元將YL1值發(fā)送給所述分配方案生成單元;
[0055] 所述分配方案生成單元計(jì)算各主機(jī)在下一次任務(wù)來(lái)臨時(shí),接收任務(wù)出現(xiàn)計(jì)算資源 不足的近似預(yù)期概率,BZL 1:
[0057] 所述分配方案生成單元比較各主機(jī)對(duì)應(yīng)的821^值,如果所有主機(jī)的BZL i值都為 0,則將標(biāo)志變量FPH賦值為0 ;如果至少存在一個(gè)主機(jī)對(duì)應(yīng)的BZL1值大于0,則將具有最大 BZL1值的主機(jī)的編號(hào)賦給所述標(biāo)志變量FPH ;
[0058] 所述分配方案生成單元將標(biāo)志變量FPH值發(fā)送給所述任務(wù)分配控制模塊;
[0059] 所述任務(wù)分配控制模塊判斷所述標(biāo)志變量FPH的值,當(dāng)FPH為0時(shí),則不接收當(dāng)前 新到達(dá)的任務(wù);當(dāng)FPH不為0時(shí),則將當(dāng)前新到達(dá)的任務(wù),分配給第