專利名稱:基于遺傳算法的動態云工作流調度方法
技術領域:
:本發明涉及云計算以及智能算法兩大領域,主要涉及一種基于遺傳算法的動態云工作流調度方法。
背景技術:
:云計算是近年來快速興起的一類新型的計算模式,已成為了我國十二五期間的重要發展方向。云計算通過對大量計算資源的虛擬聚合和共享,實現按需向用戶提供各種各樣的計算服務,因此能夠滿足日益增長的大數據處理需求。為了進一步提高云計算系統對大數據的管理和處理能力,如何合理、高效地調度云計算的資源從而實現向用戶彈性地提供計算服務是提高云計算系統性能的關鍵。在云計算環境中,由于云計算資源的數量龐大、云系統所承擔的計算服務量也相當巨大,云網絡的使用狀態也時刻變化,因此動態時變性是云計算系統運作過程中所具有的重要特征。在應用云計算處理大數據計算任務時,一類常用的任務組織方式是工作流。工作流定義為一個完成復雜目標的特定的任務序列。通常地,工作流可以通過有向無環圖(DAG)的形式給出,圖的節點表示單個任務,而節點之間的有向邊表示任務之間的優先約束關系。然而,在現有的工作流調度模型中,一個工作流的控制流拓撲結構是固定不變的,即是由單一的DAG給出。在實際應用中,云工作流的控制流結構可能還具有IF-THEN等選擇分支,其控制流拓撲結構也具有動態時變的特性,如何能夠在云工作流調度過程中考慮云環境和云工作流控制拓撲的動態時變特性,從而進一步提高云工作流調度系統在動態、時變環境中的可用性,對云工作流調度方法提出了新的挑戰。隨著優化技術的發展,如遺傳算法等 新型的元啟發式智能計算方法為復雜優化問題的求解提供了新的有效手段。遺傳算法是模擬自然界生物的進化現象而提出的一種隨機式優化方法,它自20世紀60年代提出以來引起了廣泛的關注,并且已經被成功地應用于眾多科學與工程領域的應用中。利用遺傳算法所提高的全局優化能力,本發明提出了一種基于歷史運行信息統計分析循環執行的云工作流的控制流拓撲結構及其發生概率,基于遺傳算法優化動態時變環境中云工作流的平均期望性能的方法,從而有效地提高了動態時變環境下云工作流調度的效率
發明內容
:本發明提出了基于遺傳算法的動態云工作流調度方法。該方法采用了一種基于歷史統計信息的云工作流控制流拓撲結構描述模型。該模型的主要特征是:(I)采用一個有向無環圖G = (V,A)對云工作流進行建模,節點的集合V = IT1,T2,…,TJ對應工作流中的任務,有向邊的集合A表示任務之間的優先次序關系。(2)根據該工作流在執行過程中可能出現的各種控制流,可以將該圖G分解為一系列的子圖{Φ1; Φ2,...,Φ:^},其中Γ表示所有拓撲的總數,其中每一個子圖也是一個有向無環圖,對應該動態工作流可能出現的一種控制流拓撲結構。
(3)每種控制流拓撲結構Φ ^都對應著一個概率Pp表示動態工作流采取該種控制流拓撲結構執行的概率,這個概率是根據工作流在此前的500次歷史執行記錄信息中采取
該控制流拓撲結構的比例而統計得出的,
權利要求
1.一種基于遺傳算法的動態云工作流調度方法,其特征在于,該方法采用了一種基于歷史統計信息的云工作流控制流拓撲結構描述模型,該模型的主要特征是: (1)采用一個有向無環圖G=(V,A)對云工作流進行建模,節點的集合V= IT1,T2,…,TJ對應工作流中的任務,有向邊的集合A表示任務之間的優先次序關系; (2)根據該工作流在執行過程中可能出現的各種控制流,可以將該圖G分解為一系列的子圖{Φ1; Φ2,...,Φ:4,其中Γ表示所有拓撲的總數,其中每一個子圖也是一個有向無環圖,對應該動態工作流可能出現的一種控制流拓撲結構; (3)每種控制流拓撲結構Φ^都對應著一個概率Pp表示動態工作流采取該種控制流拓撲結構執行的概率,這個概率是根據工作流在此前的500次歷史執行記錄信息中采取該控制流拓撲結構的比例而統計得出的,有 /7, = 1;>=] (4)在模型中,工作流調度解是可行的,當且僅當調度解對所有工作流可能出現的控制流拓撲結構{Φρ Φ2,...,Φ:^},其執行時間都能夠滿足用戶自定義的執行時間限制Deadline ; (5)該模型的優化目標是找到一組云工作流調度方式K,使得云工作流在動態環境下執行的費用耗費的期望值 I 最小化,其中Κ.(:(φρ是指調度K在控制流拓撲結構Φ]下所需的費用。
2.一種基于遺傳算法的動態云工作流調度方法,其特征在于,該遺傳算法的主要流程包括: (1)初始化算法的交叉率ρχ、變異率Pm和種群大小參數popsize,并生成第一代種群; (2)評價種群中每個個體的適應值; (3)采用競爭選擇的方式,從上一代種群中選出popsize個個體; (4)對上述選出的每個個體,根據交叉概率ρχ進行單點交叉操作。
全文摘要
本發明公開了一種運用遺傳算法優化動態云工作流的方法,算法的目標是最小化迭代執行的云工作流的每周期平均費用,并使得工作流每次在動態環境中執行一個周期的總執行時間不超過用戶定義的最大執行期限。由于工作流在云計算的實現環境下執行方式是動態多變的,本發明提出的方法對工作流所有可能出現的流拓撲結果進行整體建模,從而綜合考慮了云工作流的動態時變的特性,并采用遺傳算法使得云工作流在動態環境中執行的平均性能得到優化,從而提高了云工作流的執行效率。
文檔編號G06Q10/06GK103226759SQ20131017186
公開日2013年7月31日 申請日期2013年4月25日 優先權日2013年4月25日
發明者張軍, 陳偉能, 尹亮 申請人:中山大學