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