《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于改進螞蟻算法的網格任務調度策略研究

基于改進螞蟻算法的網格任務調度策略研究

2008-03-21
作者:梁 鴻,田世峰

  摘 要: 介紹了螞蟻算法" title="螞蟻算法">螞蟻算法,并進一步將這種新型的生物優化思想進行擴展,應用于網格系統" title="網格系統">網格系統中的任務調度" title="任務調度">任務調度問題。通過增加負載平衡因子,將用戶提交的任務合理地映射到相對空閑的資源上去,經仿真平臺實驗,可有效地實現任務的合理調度和網格系統的負載平衡。
  關鍵詞: 網格計算 任務調度 螞蟻算法 NP 負載平衡因子

?

  網格任務調度是網格計算的關鍵問題之一。大量任務請求使用網格資源時,必須對它們進行合理調度才能達到資源的優化利用。然而現有的一些任務調度方法[1]如Backfilling[2],FCFS(First Come First Service)等并不能很好地適應網格資源的特點,如調度問題的NP完全性、資源的異構性以及資源分配決策的并行性和分布性等。
  鑒于構造性方法質量較差且缺少柔性,螞蟻算法就成了解決此類問題的首選。本文提出一種基于改進螞蟻算法[3]的網格任務調度方法,它充分考慮了資源的鏈路帶寬、CPU計算處理能力" title="處理能力">處理能力、磁盤容量以及資源的單位定價等因素,并把這些因素綜合起來確定資源的信息素" title="信息素">信息素濃度。在保證資源利用率的同時,能顯著改善網格系統的負載均衡問題。
1 螞蟻算法介紹
  螞蟻算法[4,5]由意大利學者M.Dorigo等人首先提出,是一種源于大自然生物世界的新的仿生類算法。作為通用型隨機優化方法,它吸收了昆蟲王國中螞蟻的行為特征,通過其內在的搜索機制,在一系列困難的組合優化問題求解中取得了成效。由于在模擬仿真中使用的是人工螞蟻概念,因此有時亦被稱為螞蟻系統[6]
1.1 螞蟻算法的原理
  用于優化領域的人工螞蟻算法,其基本原理吸收了生物界中螞蟻群體行為的某些顯著特征:(1)察覺小范圍內狀況并判斷出是否有食物或其他同類的信息素軌跡。(2)釋放自己的信息素。(3)所遺留的信息素數量會隨時間而逐步減少。
1.2 螞蟻算法的特點
  螞蟻算法是一種智能優化仿生算法,其顯著特點為:(1)其原理是一種正反饋機制或稱增強型學習系統,它通過信息素的不斷更新達到最終收斂于最優路徑上。(2)它是一種分布式的優化方法,不僅適合目前的串行計算機,而且適合未來的并行計算機。(3)它是一種全局優化的方法,不僅可用于求解單目標優化問題,而且可用于求解多目標優化問題。(4)它是一種啟發式算法,計算復雜度為O(NC*m*n2),其中NC是迭代次數,m是螞蟻數目,n是目的節點數目。
2 網格任務調度仿真系統
  為了集中研究任務調度問題,排除其他復雜因素的干擾,設計了一個比較通用的結構簡單的但功能齊全的任務調度仿真系統。
2.1 仿真系統結構
  仿真系統結構如圖1所示。


2.2 仿真系統工作流程
  (1)當用戶提交一個任務請求(包含任務的任務量、通信量、任務提交時間、時間限度等參數)時,觸發任務接收器,任務接收器就將新任務加入到任務隊列排隊。任務隊列按照優先級排序,可以根據不同用戶的不同需要(用戶等級、任務緊迫度等)對進入隊列的任務進行排序。
  (2)仿真環境中的計時器每隔一定時間觸發任務調度器,任務調度器就會從任務隊列中取出待處理的任務,并從資源監視器中獲得當前系統資源使用情況列表。
  (3)根據待處理任務及系統資源調用任務分配策略器,產生一個最優化的任務分配表。
  (4)根據最優化任務分配表,調用任務分配器,執行任務分配表中的任務。如果任務順利完成,則將任務占有的資源釋放并加入到資源列表中;如果任務失敗,則釋放該任務占有的系統資源,并將失敗的任務插入到任務隊列中,以待下次調度。
  (5)當不能從任務隊列中獲得任務時,表明所有任務都已經完成,將根據運行中得到的數據產生需要的統計結果。
3 螞蟻算法在網格任務調度中的應用
3.1 改進后的螞蟻算法思想
  當一個新資源s加入網格系統時,需要提供其鏈路帶寬r(Mbps)、CPU個數m和處理能力p(MIPS)、磁盤存儲容量f(MB)以及此資源的單位定價k等基本參數,資源發現器(類似于GLOBUS中的GIIS)據此可以初始化該資源的各種信息素(每種信息素對應于一個基本參數)。在初始化各種信息素之前,先定義資源中各基本參數的閾值:
  rmax=r0  mmax=m0  pmax=p0  fmax=f0  kmax=k0
  并規定:如果資源的各參數值超過閾值,則統一以閾值進行后面的計算。
  然后初始化各種信息素:
  Tsr(0)=r/r0*100%       鏈路帶寬r的信息素
  Tsm(0)=(m*p)/(m0*p0)*100%  CPU計算能力的信息素
  Tsf(0)=f/f0*100%       磁盤存儲容量f的信息素
  Tsk(0)=k/k0*100%       資源的單位定價k的信息素    (1)
  則資源s的初始化總信息素為:
  Ts(0)=a*Tsr(0)+b*Tsm(0)+c*Tsf(0)+d*Tsk(0)          (2)
  其中,a+b+c+d=1,a,b,c,d分別表示鏈路帶寬信息素、CPU計算能力信息素、磁盤存儲容量信息素以及資源的單位定價信息素在該資源總信息素中所占的比重。
  每當有新資源加入網格系統,或某資源退出或者掉線,或任務成功或失敗返回時,資源信息素都會隨之改變:Tsnew=g*Tsold+△Ts,△Ts是信息素改變量,g表示信息素持久性(取0.6),1-g表示信息素的揮發性[7]
  當任務從資源s成功返回時,△Ts=Ce*K,Ce是獎勵參數,取0.6,表示增加成功經驗;當任務從資源s失敗返回時,△Ts=Cp*K,Cp是懲罰因子,取-1.2.
資源信息素改變時,任務分配概率隨之改變:
  
  式中,Ts(t)為時間t時資源s的信息素濃度,ηs表示資源s的固有屬性,ηs=Ts(0);α表示信息素的重要性,β表示資源固有屬性的重要性。
3.2 改進后的螞蟻算法流程
  基于上面的公式和思想,設計了下面的用于網格系統中任務調度的算法,該算法分為9個步驟:
  (1)利用公式(1)初始化所有資源的各種信息素,利用公式(2)初始化各資源的總信息素。
  (2)調度器接收當前從用戶發送來的實驗數據,即隨機任務。
  (3)對當前實驗的每個任務,依據其分配給每個資源的概率判斷使用哪個資源。具體做法是以下(4)~(6)。
  (4)利用公式:
  
  算出該任務分配給每個資源的概率。其中,ηs表示資源s的固有屬性,ηs=Ts(0);Ts(t)是資源s的信息素濃度;α表示信息素的重要性,取α=0.5;β表示資源固有屬性的重要性;u代表系統中所有可用資源。
  (5)依據概率將任務分配給一個資源。
  (6)利用公式:
  Tsr(t′)=Ts(t)*p-0.0005L1
  Tsr(t)=Tsr(t′)
  Tsm(t′)=Ts(t)*p-0.0005L2
  Tsm(t)=Tsm(t′)
  對鏈路帶寬信息素、CPU計算能力信息素進行更新。而磁盤容量信息素及資源單位定價信息素暫時不變。其中,L1,L2為任務的通信量及計算量。然后根據公式:Ts(t)=a*Tsr(t)+b*Tsm(t)+c*Tsf(t)+d*Tsk(t)將該資源的信息素進行更新。
  (7)將當前實驗的所有任務都分配給資源后,則等待任務的返回。如果任務成功返回,則利用以下公式:
  Tsr(t+1)=p*Tsr(t)+0.6*L1
  Tsm(t+1)=p*Tsm(t)+0.6*L2
  Tsf(t+1)=p*Tsf(t)+0.6*L3
  Tsk(t+1)=Tsk(t)
  Ts(t+1)=a*Tsr(t+1)+b*Tsm(t+1)+c*Tsf(t+1)+d*Tsk(t+1)
  對該資源的信息素進行更新。其中,L3為任務在計算過程中占用磁盤容量最大時的值。
  如果任務失敗返回,則利用公式:
  Tsr(t+1)=p*Tsr(t)-1.2*L1
  Tsm(t+1)=p*Tsm(t)-1.2*L2
  Tsf(t+1)=p*Tsf(t)-1.2*L3
  Tsk(t+1)=Tsk(t)
  Ts(t+1)=a*Tsr(t+1)+b*Tsm(t+1)+c*Tsf(t+1)+d*Tsk(t+1)
  對該資源的信息素進行更新。
  (8)重復(3)~(7),直到當前實驗的所有任務都成功返回為止。
  (9)重復(2)~(8),直到所有用戶實驗都被處理完為止。
3.3 負載平衡因子的添加
  當某個資源負載很重時,很容易成為網格計算的瓶頸,影響所有任務的及時完成。改進后的螞蟻算法,在很大程度上實現了負載平衡。為了取得更好的負載平衡效果,要不斷地探測資源的負載及其任務完成情況,以便對以后新任務的分配產生積極的影響。同時通過把各資源的負載完成率的差值控制在一個較小的門限之內以保證負載均衡。本文在螞蟻算法中引入一個負載平衡因子λ。
  λ=u/Ts(0)
  式中,u為資源上尚未完成的任務量,而Ts(0)基本上可以代表某資源的處理能力。
  每次任務完成時的信息素改變量為△Ts+c/λ(c為調節因子),即如果對未完成任務中所需處理時間長的節點,將資源信息素降低一些,則所需處理時間短的節點信息素就增加一些。這樣就能保證任務負載率盡快逼近同一個值,在以后分配任務的過程中,系統的負載均衡能力就會得到進一步提高。
4 實驗結果
  在仿真平臺下,用8個資源和800個任務進行模擬實驗。資源情況如表1所示,任務計算量為2000M~10000M,數據通信量在10M~100M。

?


  圖2給出了各資源的初始總信息素(其中,取a=0.2,b=0.5,c=0.2,d=0.1)。初始總信息素基本上代表了這個資源的處理能力。
  如圖3所示,所有資源的任務量與資源處理能力之比基本相同。任務最終完成情況與資源的處理能力成正比,性能好的資源分到了更多的任務。同時由此圖與資源列表可以分析出,任務的調度受處理器個數、處理器計算能力影響較大。而當磁盤容量滿足任務存儲需求時,其差別可以忽略不計。


  針對網絡資源變化比較頻繁的這種復雜的網格環境,提出了應用改進的螞蟻算法進行任務調度的策略,通過綜合考慮資源的各方面參數來確定其信息素濃度,有利于更恰當地選擇資源,提高了資源的利用率;同時通過引入負載平衡因子,提高了整個仿真系統的負載均衡能力。下一步的研究重點將集中在提高螞蟻算法運行速度,加快算法的收斂時間這個問題上。有一種思想就是把螞蟻算法和一些經典的人工智能算法結合起來,例如將螞蟻算法的應用與神經網絡的訓練結合。
參考文獻
1 Lichen Zhang.Scheduling algorithm for real-time application in grid environment[C].In:System,Man and Cybernetics,2002 IEEE International Conference on,2002
2 Barry G Lawsom,Evgenia Smirni.Multiple-queue backfilling scheduling with priorities and reservations for parallel systems[J].ACM SIGMENTRICS Performance Evaluation Review,2002;29(4):40~47
3 Daniel Merkel,Martin Middendorf,Hartmut Schmeck.Ant colony optimization for resource-constrained project scheduling[J].IEEE Transaction on Evolutionary Computation,2002;6(4)
4 Marco Dorigo,Gianni Di Caro.Ant algorithms for discrete optimization[J].Artificial Life,1999;5(3):137~172
5 Marco Dorigo,Luca Maria Gambardella.Ant colony system:a cooperative learning approach to the traveling salesman problem[J].IEEE Transaction on Evolutionary Computation,1997;1(4):53~56
6 Colorini A,Marco Dorigo,Maniezzo V.An investigation of some prosperities of an ant algorithm[J].in:Proceedings of the Parallel Problem Solving from nature Conference,1992:509~520
7 Macro Dorigo,Eric Bonabeau,Guy Theraulaz.Ant algorithms and stigmergy[J].Future Generation Computer Systems,2000;16(8):851~871

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩视频在线观看| 亚洲国产精选| 亚洲国内自拍| 黄色另类av| 国产在线精品二区| 国产精品综合不卡av| 国产精品久久久久久久浪潮网站| 欧美精品一区二区精品网| 久热精品在线视频| 免费欧美网站| 女人香蕉久久**毛片精品| 老色批av在线精品| 免费成人在线观看视频| 老司机免费视频久久| 六月婷婷一区| 欧美1区免费| 欧美激情在线观看| 欧美日韩国产丝袜另类| 欧美日韩国产影片| 欧美日韩伊人| 国产精品久久91| 国产精品欧美在线| 国产伦精品一区二区三区照片91| 国产精品一区一区三区| 国产一区二区三区久久久 | 国产精品magnet| 国产精品毛片一区二区三区 | 日韩亚洲综合在线| 亚洲网站在线播放| 亚洲欧美视频| 亚洲春色另类小说| 亚洲精品一区二区三区不| 99亚洲伊人久久精品影院红桃| 一区二区三区视频观看| 亚洲欧美韩国| 久久久精品国产免大香伊| 久热综合在线亚洲精品| 欧美精品18+| 欧美视频在线观看视频极品| 国产精品在线看| 在线观看亚洲视频| 日韩视频在线观看国产| 亚洲女人天堂成人av在线| 久久精品盗摄| 一区二区三区视频免费在线观看| 午夜在线a亚洲v天堂网2018| 久久久久久亚洲精品杨幂换脸| 欧美凹凸一区二区三区视频| 欧美性jizz18性欧美| 国产三级精品在线不卡| 亚洲国产婷婷香蕉久久久久久| 99视频精品| 久久成人精品| 一区二区三区欧美视频| 久久九九精品| 欧美日韩蜜桃| 国内精品国语自产拍在线观看| 亚洲精品免费在线观看| 亚洲欧美怡红院| 日韩一二三区视频| 欧美影院视频| 欧美日韩国内自拍| 国产综合视频| 99精品国产99久久久久久福利| 久久国产日韩欧美| 亚洲一区久久久| 久久免费精品日本久久中文字幕| 欧美美女bb生活片| 国产目拍亚洲精品99久久精品| 亚洲国产高清自拍| 亚洲欧美日韩另类精品一区二区三区| 亚洲精品乱码久久久久久| 性欧美长视频| 欧美精品18+| 狠狠色丁香婷综合久久| 亚洲私人影院在线观看| 亚洲日本电影| 久久久999| 国产精品九九| 亚洲免费观看| 最近中文字幕日韩精品| 欧美一区二区在线免费播放| 欧美精品色网| 精品成人一区二区| 午夜欧美大尺度福利影院在线看 | 久久一区激情| 国产欧美日韩在线视频| 日韩一级在线观看| 亚洲国产精品第一区二区三区| 欧美一区91| 国产精品久线观看视频| 亚洲精品婷婷| 日韩午夜电影| 牛人盗摄一区二区三区视频| 国产午夜精品久久久| 亚洲视频精品| 一区二区三区四区五区精品视频| 免费看的黄色欧美网站| 国产日韩亚洲欧美综合| 亚洲一区二区免费| 亚洲伊人久久综合| 欧美人与禽性xxxxx杂性| 亚洲国产三级在线| 亚洲日本一区二区| 美女999久久久精品视频| 国产主播精品| 久久av红桃一区二区小说| 欧美在线观看日本一区| 国产精品―色哟哟| 亚洲午夜成aⅴ人片| 亚洲性色视频| 欧美三日本三级少妇三2023| 亚洲老司机av| 99精品热视频只有精品10| 欧美大片一区| 亚洲电影网站| 亚洲精品乱码久久久久久| 模特精品裸拍一区| 亚洲国产成人av| 亚洲精品视频一区二区三区| 欧美成年人在线观看| 亚洲黄色影院| 一区二区三区欧美激情| 欧美日韩一区二区三区免费| 亚洲精选大片| 亚洲一区bb| 国产精品嫩草久久久久| 亚洲一区二区三区免费观看| 亚洲欧美在线观看| 国产精品午夜电影| 午夜精品亚洲| 久久人人精品| 亚洲高清不卡av| 夜夜嗨一区二区| 欧美性色aⅴ视频一区日韩精品| 一区二区三区四区五区精品视频| 亚洲一区二区三区精品动漫| 国产精品久久久久久久免费软件| 亚洲欧美久久| 久久女同互慰一区二区三区| 亚洲福利视频专区| 一区二区三区视频在线观看| 国产精品久久久久9999吃药| 欧美亚洲一区三区| 美女啪啪无遮挡免费久久网站| 亚洲黄色在线看| 亚洲影院免费观看| 国产一区二区三区高清在线观看| 亚洲国内精品| 欧美日一区二区在线观看| 亚洲一区亚洲二区| 另类av一区二区| 日韩视频永久免费| 欧美一区网站| 亚洲国产精品嫩草影院| 亚洲永久免费av| 韩国av一区二区三区在线观看| 亚洲美女啪啪| 国产精品一区二区黑丝| 亚洲电影免费观看高清完整版在线观看 | 国产日韩欧美高清免费| 亚洲电影激情视频网站| 欧美日本一区二区三区| 亚洲一区二区免费| 久久免费精品视频| 亚洲精品日韩精品| 欧美一区二区视频免费观看| 亚洲第一搞黄网站| 日韩视频免费看| 国产伦精品一区二区三| 最新日韩欧美| 国产精品伦理| 亚洲精品四区| 国产视频一区免费看| av成人激情| 国产日韩在线看| 一区二区三区福利| 国产在线精品一区二区夜色| 一区二区三区国产盗摄| 好吊色欧美一区二区三区视频| 99视频精品免费观看| 国产日韩一区在线| 在线视频亚洲一区| 好看的日韩av电影| 亚洲视屏一区| 亚洲成人在线| 欧美亚洲免费在线| 亚洲精品免费电影| 久久裸体视频| 亚洲午夜精品在线| 欧美不卡视频一区| 性刺激综合网| 欧美日本在线| 91久久精品一区二区三区| 国产精品午夜久久| 在线亚洲免费| 亚洲黄一区二区| 开元免费观看欧美电视剧网站| 亚洲午夜国产一区99re久久| 欧美1区2区3区|