基于元胞自動機的云計算負載均衡任務調度方法
【技術領域】
[0001] 本發明涉及一種基于元胞自動機的云計算負載均衡任務調度方法。
【背景技術】
[0002] 云計算作為分布式計算、并行計算、網格計算等傳統技術和網絡編程模型、分布式 數據存儲技術、虛擬化技術等新型技術融合發展的產物,是引領未來信息產業創新的關鍵 戰略性技術和手段,將對我國發展高新技術產業具有重要的戰略意義。云計算通過將計算 任務劃分在大規模的廉價服務器集群上,使得人們能夠利用分布在各地的閑散資源來處理 較為復雜的應用程序,以極低的成本投入獲得極高的計算品質。
[0003] 云計算任務調度作為云計算平臺的重要組成部分,是將用戶提交的任務進行合理 高效地調度和分配,其實質就是將n個相互獨立的任務分配到m個閑散異構的物理資源上, 使得總任務完成時間最小并且可用資源得到充分利用,任務調度的效率直接影響到整個云 計算平臺的整體性能和服務質量。例如,順序任務調度方法把一組任務順序分配給一組虛 擬機,盡量保證每個虛擬機運行相同數量的任務以平衡負載,但沒有考慮任務的需求和虛 擬機之間的差別。任務調度問題已經被證明是一個NP完全問題,在mn個可能任務調度的 解空間尋找近似最優解,使得總任務的執行時間和負載均衡度最小,其中執行時間最小是 為了滿足用戶的服務質量,負載均衡度最小是為了保證云環境的穩定性。
【發明內容】
[0004]目前,云計算的任務調度方法還未形成統一的標準和規范,但由于該問題的重要 性,國內外研究者提出了大量的云計算任務調度方法來計算任務調度的近似最優解,既有 傳統網格計算中的Min-Min、Max-Min、動態規劃等啟發式調度方法,也有基于遺傳算法、粒 子群算法、蟻群算法、免疫算法、差分進化算法和禁忌搜索算法等智能調度方法。其中,傳 統啟發式調度方法的Min-Min算法米用先易后難的策略,先執行完成時間短的任務,然后 執行完成時間長的任務,并采取貪心策略把每個任務優先指派給執行它最早完成的計算資 源;Max-Min算法則恰恰相反,米用先難后易和貪心策略,每次選取完成時間最長的任務, 優先指派給執行它最早完成的計算資源。傳統啟發式調度方法以最早完成時間為目標進行 調度,有著較好的負載均衡性能,但總任務的實際執行時間并非最少。智能調度方法通過 對任務調度方案的編碼,并依據遺傳算法、粒子群算法、蟻群算法、免疫算法、差分進化算法 和禁忌搜索算法等智能算法思想,在mn大小的解空間多樣性搜索和集中性搜索之間建立平 衡,最終有效降低任務的執行時間。然而,智能調度方法在進行海量任務調度過程中,易陷 入局部最優解,在收斂速度和負載均衡方面的效果有待提高。例如:2014年中國專利局公 告的由孫凌宇、冷明和冷子陽申報,中國專利號為=201410527189.X號《基于禁忌搜索和負 載均衡的云計算任務調度方法》的發明專利,針對現有技術方案中的缺陷采用基于禁忌搜 索作為指導性鄰域搜索優化策略產生候選交換任務對,并采用貪心原則選擇收益值大的任 務對進行交換,優化任務調度的初始解,從而最大程度地縮短整個任務完成的時間跨度。
[0005] 本發明涉及的云計算環境中任務調度僅僅指的是元任務的調度,即元任務之間相 互獨立,其調度不考慮任務間的數據關聯與優先約束關系。此外,云計算環境中依賴任務 調度,涉及的依賴任務之間存在先后依賴關系,要求一個任務必須接收到它的所有前驅任 務消息后才能開始執行。例如:2014年中國專利局公告的由孫凌宇、冷明和冷子陽申報, 中國專利號為=201410137810. 1號《基于元胞自動機和賦權有向超圖的云計算任務調度方 法》的發明專利針對依賴任務的調度問題,采用賦權有向超圖描述依賴任務的資源需求及 依賴關系,并生成相應的賦權有向超圖文件;然后啟動基于元胞自動機的賦權有向超圖劃 分程序,對生成的賦權有向超圖進行劃分;最后依據賦權有向超圖的劃分結果構造依賴任 務子集,通過MapReduce任務調度模型對其進行映射和調度。2014年中國專利局公告的由 冷明、孫凌宇和冷子陽申報,中國專利號為=201410136320.X號《基于多水平劃分法和賦權 有向超圖的云計算任務調度方法》的發明專利針對依賴任務的調度問題,采用賦權有向超 圖描述任務的資源需求及依賴關系,并生成相應的賦權有向超圖文件;然后啟動基于多水 平劃分法的賦權有向超圖劃分程序,對生成的賦權有向超圖進行劃分;最后依據賦權有向 超圖的劃分結果構造任務子集,通過MapReduce任務調度模型對其進行映射和調度。此外, 2014年中國專利局公告的由孫凌宇、冷明和冷子陽申報,中國專利號為:201410136337. 5 號《云計算環境中的基于結點屬性函數的任務核值計算方法》的發明專利針對中國專利號 201410136320.X中多水平劃分法的賦權有向超圖劃分過程中的結點匹配問題,采用賦權有 向超圖對云計算環境中的任務進行數學建模,描述任務的資源需求及依賴關系,并生成相 應的賦權有向超圖文件,然后啟動賦權有向超圖的核值計算程序,采用改進壓縮的內存存 儲格式對賦權有向超圖進行存儲,并基于結點屬性函數計算結點的核值,將所有結點的核 值結果存儲在賦權有向超圖核值文件中。
[0006] 本發明的目的在于針對已有技術存在的不足,提供一種基于元胞自動機的云計算 負載均衡任務調度方法,解決云計算環境下任務調度中執行時間和負載均衡的優化問題, 有效地縮短了任務完成的時間跨度,實現了云計算資源的合理利用,為云計算提供高效的 任務調度機制。為達到上述目的,本發明的構思如下。
[0007] -、運用元胞自動機理論,針對云計算負載均衡任務調度問題進行了分析建模,構 建相應的元胞自動機模型。元胞對應于任務調度問題中的任務,元胞編號iG{1,2,…,n}。 第i個元胞的權值對應于第i個任務的總指令長度。第i個元胞的狀態對應于第i個任務 所分配的第j個虛擬機,虛擬機的編號jG{1,2,…,m}。第i個元胞的禁忌狀態表明該元 胞是否允許被交換。
[0008] 二、在云計算環境下的負載均衡任務調度問題的形式化描述基礎上,通過動態規 劃方法的形式化推導得到最早完成時間的啟發式優先分配策略,并基于該分配策略求得任 務調度的初始解。
[0009] 三、借助元胞自動機模型處理復雜系統問題的特點--根據微觀個體的簡單局域 自組織相互作用機制來描述宏觀系統整體復雜行為,構建云計算任務調度問題對應的元胞 自動機模型,優化任務調度的初始解。通過循環遍歷每個元胞產生候選交換元胞對,并采用 貪心原則選擇收益值大的元胞對進行交換,在優化任務調度初始解的執行時間的同時改善 負載均衡性能。
[0010] 根據上述的發明構思,本發明的技術方案是這樣實現的:一種基于元胞自動機的 云計算負載均衡任務調度方法,其特征在于,具體步驟如下。
[0011] 步驟1,類型類度分析,輸入云計算環境下用戶提交的任務,并對其進行類型和類 度的分析,確定任務的并行化程度及特點。
[0012] 步驟2,進程粒度分解,根據用戶任務的并行化程度及特點,以及云計算的資源共 享分配方式等獨特性質,對用戶任務按照進程粒度級別進行分解。
[0013] 步驟3,資源特性分析,根據云計算的資源共享分配方式等獨特性質,對分解后的 任務進行資源特性分析。
[00