一種用于云計(jì)算環(huán)境下的負(fù)載均衡方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及云計(jì)算環(huán)境下的任務(wù)調(diào)度領(lǐng)域,尤其設(shè)及一種用于云計(jì)算環(huán)境下的負(fù) 載均衡方法。
【背景技術(shù)】
[0002] 云計(jì)算作為一種按使用量付費(fèi)的模式,該種模式提供可用的、便捷的、按需的網(wǎng) 絡(luò)訪問,進(jìn)入可配置的計(jì)算資源共享池,該些資源能夠被快速提供,只需投入很少的管理工 具,或與供應(yīng)商進(jìn)行很少的交互。在此前提下,如何對(duì)用戶所占資源生成的任務(wù)進(jìn)行調(diào)度, 是任務(wù)調(diào)度程序完成快速響應(yīng),合理利用資源的關(guān)鍵。
[0003] 云計(jì)算下的處理單元是虛擬機(jī),W并行方式運(yùn)行,為充分應(yīng)用現(xiàn)有資源,調(diào)度程 序應(yīng)對(duì)其進(jìn)行有效調(diào)度,并且確保負(fù)載在所有的虛擬機(jī)上都能被很好的均衡。負(fù)載均衡的 主要目標(biāo)是縮短應(yīng)用對(duì)資源的處理時(shí)間,該些資源在負(fù)載均衡過程中會(huì)W不可預(yù)期的方式 進(jìn)行變化。
[0004] 云計(jì)算根據(jù)來自用戶和系統(tǒng)的不同需求,根據(jù)一個(gè)線上虛擬機(jī)的動(dòng)態(tài)資源庫對(duì) 指定的計(jì)算任務(wù)進(jìn)行處理。用戶在使用各種應(yīng)用時(shí)發(fā)出的服務(wù)請(qǐng)求會(huì)被數(shù)據(jù)中屯、路由到云 中的任何終端服務(wù)器。到達(dá)各個(gè)服務(wù)器的服務(wù)請(qǐng)求的路由是基于云信息準(zhǔn)則選取的,而云 信息準(zhǔn)則根據(jù)各個(gè)服務(wù)器的負(fù)載及相近的服務(wù)器指定。在非搶占系統(tǒng)中,兩個(gè)常用的調(diào)度 準(zhǔn)則是先入先出和加權(quán)輪詢準(zhǔn)則。在每個(gè)虛擬機(jī)的不同負(fù)載級(jí)別上,該兩個(gè)準(zhǔn)則都可能終 止,因此,并行計(jì)算時(shí)每個(gè)虛擬機(jī)的負(fù)載不同,導(dǎo)致響應(yīng)時(shí)間和資源消耗增加。
[0005] 現(xiàn)有的幾種調(diào)度算法,負(fù)載均衡樹算法將所有的負(fù)載當(dāng)成一個(gè)固定的量來處理, 對(duì)于動(dòng)態(tài)的負(fù)載均衡無法很好調(diào)節(jié);分布式負(fù)載均衡的最優(yōu)數(shù)據(jù)遷移算法通過傳送權(quán)重歐 式形式的拉格朗日乘子實(shí)現(xiàn)該功能,對(duì)于異構(gòu)環(huán)境沒有很好的性能;線性規(guī)劃算法通過優(yōu) 化計(jì)算和數(shù)據(jù)分布,增加MPL_Scatterv基元支撐主從均衡,但是僅適用于靜態(tài)負(fù)載均衡情 況;基于預(yù)測(cè)的彈性負(fù)載均衡算法,需要根據(jù)W前的狀態(tài)和完成時(shí)間來選取資源;基于網(wǎng) 格計(jì)算的任務(wù)調(diào)度均衡算法首先為局部平衡分配權(quán)限,接著對(duì)較高層次進(jìn)行平衡,但是沒 有很好的處理請(qǐng)求之間的關(guān)系,不利于負(fù)載平衡的資源局部密集;綜上可知,許多傳統(tǒng)的負(fù) 載均衡算法通常能夠較好的保證資源利用率,然而,提交任務(wù)是卻需要較多的響應(yīng)時(shí)間,任 務(wù)傳輸過程中需要較多的通信成本。
【發(fā)明內(nèi)容】
[0006] 為了解決該問題,本發(fā)明根據(jù)蜜蜂覓食行文模型提出的一種面向云計(jì)算環(huán)境的負(fù) 載均衡技術(shù),不僅可W平衡負(fù)載,還能為遷移任務(wù)分配優(yōu)先級(jí)?;诿鄯湫袨榈呢?fù)載均衡技 術(shù)通過將平衡重點(diǎn)放在減少VM等待序列中人物的等待時(shí)間來提高處理過程的整理吞吐量 和優(yōu)先級(jí),因此減少了VM的響應(yīng)時(shí)間。
[0007] 研究?jī)?nèi)容 a)研究目的 本專利主要是為了減少任務(wù)提交的平均響應(yīng)時(shí)間和任務(wù)傳輸過程中的通信成本,提出 的一種基于蜜蜂覓食行為的負(fù)載均衡算法。該算法主要可用于處理云計(jì)算環(huán)境下非搶占式 獨(dú)立任務(wù)的調(diào)度和負(fù)載均衡問題,對(duì)負(fù)載進(jìn)行平衡的同時(shí)考慮虛擬機(jī)等待序列內(nèi)任務(wù)的優(yōu) 先級(jí)。
[000引b)蜜蜂覓食行為 人工蜂群算法是一種基于蜂群智能覓食的優(yōu)化算法,該方法是對(duì)蜂群智能覓食行為的 細(xì)致觀察,具有很強(qiáng)的全局捜索能力,主要用于進(jìn)行行豎直函數(shù)的最優(yōu)化。
[0009] 連接空屯、圓圈的箭頭表示負(fù)信號(hào),連接實(shí)屯、黑色開始圓圈的箭頭表示正信號(hào),無 論是正信號(hào)還是負(fù)信號(hào)都要在蜂巢中進(jìn)行傳遞。
[0010] 本發(fā)明的技術(shù)方案是: 從超載的虛擬機(jī)上移走的任務(wù)需要尋找合適的虛擬機(jī),只有合適的虛擬機(jī)能夠分配新 任務(wù)。在尋找的過程中有兩種可能性;要么找到了虛擬機(jī)的集合(正信號(hào)),要么沒有找到合 適的虛擬機(jī)(負(fù)信號(hào))。在實(shí)際情況下,可能存在多個(gè)虛擬機(jī)可W接受該任務(wù),因此該任務(wù)需 要在根據(jù)任務(wù)優(yōu)先級(jí)QoS標(biāo)準(zhǔn)在多個(gè)虛擬機(jī)中選擇最好的虛擬機(jī),即在虛擬機(jī)的任務(wù)中只 有很少一部分任務(wù)的優(yōu)先級(jí)與該任務(wù)的優(yōu)先級(jí)相同。該個(gè)過程稱為多個(gè)任務(wù)為了虛擬機(jī)而 進(jìn)行的競(jìng)爭(zhēng),當(dāng)該競(jìng)爭(zhēng)結(jié)束后,獲勝的任務(wù)被分配給其找到的合適的虛擬機(jī)的詳細(xì)信息進(jìn) 行更新。
[0011] 在分配的過程中,若某一個(gè)任務(wù)沒能找到合適的虛擬機(jī),則該任務(wù)獲取一個(gè)延時(shí), 在延時(shí)的過程中該任務(wù)得到經(jīng)歷并開始偵聽有其他任務(wù)發(fā)出的更新信息。任務(wù)確認(rèn)信息 后,首先尋找虛擬機(jī)集合,對(duì)合適的虛擬機(jī)識(shí)別。在延遲過程中,為了分配到合適的虛擬機(jī), 要與其他任務(wù)進(jìn)行激烈的競(jìng)爭(zhēng)。競(jìng)爭(zhēng)結(jié)束后,無論輸贏都要馬上更新信息。由于新任務(wù)的 到來,循環(huán)會(huì)在所有前期任務(wù)被分配后馬上開始,調(diào)度系統(tǒng)根據(jù)負(fù)載和優(yōu)先級(jí)獲取良好的 平衡效果。
[0012] 根據(jù)虛擬機(jī)的負(fù)載進(jìn)行分組,減少任務(wù)分配的響應(yīng)時(shí)間; 任務(wù)增加優(yōu)先級(jí)標(biāo)記,從而在虛擬機(jī)組里面找到最優(yōu)虛擬機(jī)來減少響應(yīng)和通信時(shí)間。
[0013] 本發(fā)明的有益效果是。
[0014] 根據(jù)蜜蜂覓食行文模型提出的一種面向云計(jì)算環(huán)境的負(fù)載均衡技術(shù),不僅可W平 衡負(fù)載,還能為遷移任務(wù)分配優(yōu)先級(jí)?;诿鄯湫袨榈呢?fù)載均衡技術(shù)通過將平衡重點(diǎn)放在 減少VM等待序列中人物的等待時(shí)間來提高處理過程的整理吞吐量和優(yōu)先級(jí),因此減少了 VM的響應(yīng)時(shí)間。
【附圖說明】
[0015] 圖1是蜜蜂覓食的行為控制結(jié)構(gòu)流程示意圖。
[0016] 圖2是均衡算法中覓食蜂的行為控制結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0017] 下面對(duì)本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述: 從超載的虛擬機(jī)上移走的任務(wù)需要尋找合適的虛擬機(jī),只有合適的虛擬機(jī)能夠分配新 任務(wù)。在尋找的過程中有兩種可能性;要么找到了虛擬機(jī)的集合(正信號(hào)),要么沒有找到合 適的虛擬機(jī)(負(fù)信號(hào))。在實(shí)際情況下,可能存在多個(gè)虛擬機(jī)可w接受該任務(wù),因此該任務(wù)需 要在根據(jù)任務(wù)優(yōu)先級(jí)QoS標(biāo)準(zhǔn)在多個(gè)虛擬機(jī)中選擇最好的虛擬機(jī),即在虛擬機(jī)的任務(wù)中只 有很少一部分任務(wù)的優(yōu)先級(jí)與該任務(wù)的優(yōu)先級(jí)相同。該個(gè)過程稱為多個(gè)任務(wù)為了虛擬機(jī)而 進(jìn)行的競(jìng)爭(zhēng),當(dāng)該競(jìng)爭(zhēng)結(jié)束后,獲勝的任務(wù)被分配給其找到的合適的虛擬機(jī)的詳細(xì)信息進(jìn) 行更新。
[0018] 在分配的過程中,若某一個(gè)任務(wù)沒能找到合適的虛擬機(jī),則該任務(wù)獲取一個(gè)延時(shí), 在延時(shí)的過程中該任務(wù)得到經(jīng)歷并開始偵聽有其他任務(wù)發(fā)出的更新信息。任務(wù)確認(rèn)信息 后,首先尋找虛擬機(jī)集合,對(duì)合適的虛擬機(jī)識(shí)別。在延遲過程中,為了分配到合適的虛擬機(jī), 要與其他任務(wù)進(jìn)行激烈的競(jìng)爭(zhēng)。競(jìng)爭(zhēng)結(jié)束后,無論輸贏都要馬上更新信息。由于新任務(wù)的 到來,循環(huán)會(huì)在所有前期任務(wù)被分配后馬上開始,調(diào)度系統(tǒng)根據(jù)負(fù)載和優(yōu)先級(jí)獲取良好的 平衡效果。
[0019] 負(fù)載均衡算法工作原理 1、數(shù)學(xué)模型 使用VM(虛擬機(jī))m= (VMLVM2,…,VMm}表示m個(gè)虛擬機(jī)的集合,使用Tn= {T1,T2,…,化}表示要處理的n個(gè)任務(wù)。本模型中所有的機(jī)器都是并行的,任意兩者之間不關(guān) 聯(lián),使用R表示。將非搶占式獨(dú)立的任務(wù)分配給該些VM,非搶占式任務(wù)使用噸m表示,非搶 占式任務(wù)定義為虛擬機(jī)處理該類任務(wù)時(shí)不能被打斷。