《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 多核系統的實時任務調度算法研究
多核系統的實時任務調度算法研究
2016年微型機與應用第2期
關沫, 佟彤
沈陽工業大學 信息科學與工程學院,遼寧 沈陽 110870
摘要: 為更好地解決多核系統實時任務調度問題,針對基本蟻群算法求解最短路徑過程中容易陷入局部最優的情況,對基本蟻群算法進行了改進。改進算法根據系統的實際情況對概率選擇公式做出調整,同時根據相應策略對信息素進行調整,有效地縮小了信息素之間的差距,有利于跳出局部最優狀態。實驗結果表明,該算法與基本蟻群算法相比在收斂速度和計算最優解方面都有了提高。
Abstract:
Key words :

關沫, 佟彤

沈陽工業大學 信息科學與工程學院,遼寧 沈陽 110870

  摘要:為更好地解決多核系統實時任務調度問題,針對基本蟻群算法求解最短路徑過程中容易陷入局部最優的情況,對基本蟻群算法進行了改進。改進算法根據系統的實際情況對概率選擇公式做出調整,同時根據相應策略對信息素進行調整,有效地縮小了信息素之間的差距,有利于跳出局部最優狀態。實驗結果表明,該算法與基本蟻群算法相比在收斂速度和計算最優解方面都有了提高。

  關鍵詞蟻群優化算法;多核系統;實時;任務調度

  0引言

  隨著程序的時間復雜性的增加和硬件成本的減少,多核系統的利用已經越來越多。同時,實時系統領域的實時控制要求也在日益增加,因而提高系統的實時性能至關重要。在這些系統中,程序被劃分成一些任務映射到一些處理器上,以減少程序的完成時間。在這些架構中最重要的挑戰之一是如何視處理器的數量和處理能力來安排任務,在滿足所有任務的時限要求的前提下,給予外部請求及時的響應,使程序的整體執行時間可以盡量最小化。

  目前,已出現很多研究著作對異構多核系統下的實時任務調度提出了一些性能較好的算法及其改進算法。然而,即使在簡化了一些問題的假設后,多核系統的任務調度也是NP(Nondeterministic Polynomial)難題[1]。傳統窮舉法計算復雜度大,耗時長[2],所以至今為止還沒有一種被確定為最優的調度算法。正因如此,很多學者仍在孜孜不倦地追求更優解,也為后來的研究者提供了極大的可改進和可拓展空間。

1多核任務調度

  在多核系統中,一個程序被劃分成更小的段,命名為任務分布在處理器上。通過同時運行任務來減少程序的整體執行時間。一個程序的任務之間是有依賴關系的。一些任務需要其他任務所產生的數據。因此,任務之間有約束關系,并且內核之間需要數據通信。在本文中,假定是異構體系結構和完全連接的處理器。

  早期的異構多核系統大部分是通過啟發式算法解決任務調度問題的,一般是結合最早完成時間(makespan)[3]、最少完成時間和負載均衡等指標,通過使用貪婪算法的思想去求解任務分配的次優解。這種算法雖然收斂速度很快,可是由于所供參考的任務范圍較小,因此比較容易陷入局部最優解[4]。在異構多核系統的任務調度問題中,啟發式算法的局限性導致了人工智能算法的引入,這類算法的主要思想是憑借設定啟發信息去合理引導搜索過程向最優解逐漸收斂,主要有遺傳算法[5]、禁忌搜索算法、鄰域搜索算法、蟻群算法等。它們擅長找到全局最優解,但也普遍存在算法收斂時間較長的缺點,在具體應用過程中很難按基礎算法使用。為了改進人工智能算法,研究者們采用混合調度策略或者設置相關約束條件來不斷加快算法的收斂速度。其中蟻群算法[6]是一種有效的隨機模擬進化算法,它模擬蟻群覓食過程中發現最優路徑的過程,可用于解決組合優化問題。

2基本蟻群算法

  蟻群算法是一種人工螞蟻合作來找到一個給定的問題的優化解決方案的并行算法。蟻群算法[7]最早是由DORIGO M等人提出的,靈感來源于大自然中螞蟻尋找食物的群體行為。作為一種解決旅行商問題[8](TSP)的機率型模擬進化算法,它已經成功地應用于許多復雜的離散性優化問題,如二次分配問題(QAP)、車間調度[9](JSP)、車輛路徑、圖著色、排序、網絡路由等。實驗證明該算法能較為出色地解決復雜優化問題,特別是離散性優化問題,是一種比較卓越的優化算法。

  下面具體闡述蟻群搜索路徑的原理[10]。如果有一個障礙物,螞蟻要繞過它有兩側兩條路徑,其中一邊的路徑比另一邊長。首先,螞蟻通過隨機運動來繞過障礙。然后,較長一側的信息素蒸發更快,螞蟻逐漸收斂到短的路徑上。因此,它們總是能找到從食物到蟻穴的最短路徑。由上述螞蟻搜索路徑的原理可知,路徑上信息量越大,這條路徑被選中的概率就越大,直到最后,螞蟻完全選中這條路徑,這種現象所體現出的是信息的正反饋機制。

  蟻群算法模擬這種覓食行為。在開始時,所有任務的狀態都是可以訪問的,螞蟻被設置為一個初始狀態。它根據相鄰狀態信息素的值使用概率公式選擇下一個任務,并在此路徑上留下信息素,為下一只螞蟻提供可參考信息。使用同樣的方法為任務選擇處理核。螞蟻重復此操作,直到它遍歷過所有的任務。此時,更新任務選擇和處理器選擇路徑上的信息素變量。通過這種機制螞蟻收斂得到最優解。

3蟻群優化算法

  為了提高多核系統的調度效率,針對蟻群算法的缺點,從兩方面進行改進:一是在選擇任務和為任務選擇處理核的概率選擇公式的設計上;二是信息素變量的更新。首先,n是給定的任務圖的任務數,處理器的個數為m。τ(i,j)是指有向邊i、j上的信息素變量,η(i,j)是指任務i后會選擇任務j的期望程度。最初所有元素有相同的較小值。然后執行迭代的蟻群算法:

 ?。?)生成蟻群;

  (2)設置初始化信息;

 ?。?)每只螞蟻循環(直到完成調度任務)——根據信息素變量選擇下一個就緒任務,為該任務選擇處理器;

  (4)記錄信息素變量;

 ?。?)信息素變量的更新。

  

001.jpg

  圖1蟻群優化算法流程圖在第一階段,只是創建一個長度為n的列表。在第二階段,每只螞蟻從準備列表中選擇一個任務,并為該任務選擇一個處理核,直到完成任務調度。在每次迭代中,N只螞蟻就會得到N組可行解。選擇一組任務調度長度最短的解作為一次迭代的最優解。對于螞蟻k,通過使用概率選擇式(1)和式(2)為任務i選擇下一個任務j。

  1.png

  2.png

  公式的設計考慮如下幾個因素:(1)Dj,任務j的截止期;(2)Mj,任務j的估計運算量;(3)ei,j,任務i和j之間的估計通信量。

  在為任務選擇處理器時,根據概率選擇式(1)和式(3)進行選擇。

  3.png

  考慮以下幾個因素:(1)sp,處理核p的處理速率;(2)rj,p,任務j在處理核p上準備就緒的時間;(3)tp,處理核p的最早可用時間。

  然后生成一個隨機數,選擇與所生成的數相對應的作為下一個任務。顯然,有較大信息素值的任務有更大的機會被選擇。選定的任務被添加到禁忌表中,

  從允許被選擇的列表中刪除,被選擇任務的子任務現在可以執行,增加到準備列表中。這些操作是重復的,直到完成所有任務的調度,換句話說,完成了螞蟻的列表。

  在第三階段中,根據k組可行解的情況,對路徑上的信息素變量進行更新,調整策略如式(4)、式(5)和式(6)所示。

  456.png

  Lk表示第k只螞蟻求得的任務調度長度,Q在基本蟻群算法中是常數,但通過實驗發現,有時會導致搜索停滯,對Q作出兩點改變來解決:一是限定信息素變量的最大值和最小值,二是根據迭代次數對Q值進行調整。

  最后階段,選擇所有迭代結束后得到的調度時間最短的解作為最優的解決方案。

4實驗結果及分析

  在 Microsoft Visual C++ 60 上使用 C語言實現了本文提出的優化的蟻群算法。用有向無環圖(DAG)對任務進行建模。圖2表示了一個程序的任務圖。

002.jpg

  在圖2中,節點是任務,邊是指定任務之間的優先約束。邊(i,j)表明,任務i必須在任務j開始前完成。每個節點的權重是任務的必要的執行時間,邊(i,j)的權重是任務i向任務j傳輸數據所需的時間作為通信成本。如果兩個任務在同一個處理器上執行,它們之間的通信成本將是零。在程序編譯階段產生任務執行時間、通信成本和任務之間的優先級約束。

  在實驗中設置參數如下:螞蟻個數為10,最大迭代次數為100,α為2,β為2,ρ為07,該算法成功完成了異構多核系統中的實時任務調度,求出的最優解不僅是可行解,而且任務調度長度較短,充分證明了本文混合算法的可行性。

  同時改進蟻群算法與基本蟻群算法進行比較,分析結果如圖3、圖4所示。從圖3可知,改進蟻群算法的平均任務調度長度明顯優于基本蟻群算法;圖4將不同算法得到的最優解進行對比,可知改進蟻群算法得到的最優解的任務調度長度更短并且較穩定,明顯優于基本蟻群算法得到的最優解?!?/p>

003.jpg

5結論

  針對多核系統的實時性,本文算法考慮了任務的到達時間、就緒時間和截止期,再結合多核系統的復雜環境,考慮了各內核不同的運行速率和內核間不同的通信帶寬。將所提出的方法與其他調度方法進行了實驗對比,本文提出的蟻群

004.jpg

  優化算法在平均任務調度長度和最優解的任務調度長度上的表現均優于相比較的算法。

參考文獻

  [1] CHRETIENNE P, COFFMAN E G, LENSTRA J K, et al. Scheduling theory and its application[J]. Journal of the Operational Research soeiety, 1995,48(7):764765.

 ?。?] Liu Yi, Zhang Xin, Li He,et al. Allocating tasks in multicore processor based parallel system[C]. Proceedings of the IFIP International Conference on Network and Parallel Computing Workshops, Washington DC, 2007: 748753.

 ?。?] Zhu Jie, Li Xiaoping. An effective metaheuristic for nowait job shops to minimize makespan[C]. IEEE Transactions on Automation Science and Engineering, 2012,1(9): 189198.

 ?。?] 劉進,劉春,陳家佳.基于改進蟻群算法的多處理器任務調度仿真[J].計算機仿真,2014, 31( 6):334337.

 ?。?] 王嘉平.多核系統中實時任務調度算法的研究[D].南京:南京郵電大學,2012.

 ?。?] 周會嬌.異構多核系統多媒體流計算實時任務調度策略研究[D].武漢:華中科技大學,2013.

 ?。?] DORIGO M, BIRATTARI M, STUTZLE T. Ant colony optimization [J]. IEEE Computational Intelligence Magazine, 2006, 1(4):2839.

 ?。?] 朱君,蔡延光,湯雅連,等.改進混合蟻群算法求解關聯旅行商問題[J].微型機與應用, 2014, 33(9):8084, 88.

  [9] 張麗萍.改進的蟻群算法求解置換流水車間調度問題[J].微型機與應用,2014,33(12):6668,72.

 ?。?0] 段海濱. 蟻群算法原理及其應用[M]. 北京: 科學出版社, 2005.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲自拍| 久久精品成人一区二区三区| 国产精品自在线| 欧美日韩国产bt| 欧美xx69| 你懂的国产精品| 暖暖成人免费视频| 另类av一区二区| 久久久久九九九| 久久精品国产亚洲高清剧情介绍| 性亚洲最疯狂xxxx高清| 亚洲欧美日韩天堂一区二区| 国产精品99久久久久久人| 夜夜爽夜夜爽精品视频| 亚洲看片一区| 99精品欧美一区二区三区| 日韩午夜电影av| 亚洲作爱视频| 亚洲视频免费观看| 亚洲一区二区三区色| 亚洲欧美成人| 久久国产欧美精品| 久久午夜色播影院免费高清| 久久人人九九| 欧美大片免费| 欧美日韩免费在线观看| 欧美日韩在线高清| 国产精品视频第一区| 国产午夜精品全部视频在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 久久婷婷国产麻豆91天堂| 久久综合成人精品亚洲另类欧美 | 亚洲国产婷婷香蕉久久久久久| 亚洲黄色av一区| 日韩一级欧洲| 亚洲欧美中日韩| 亚洲高清免费在线| 9i看片成人免费高清| 这里只有精品视频在线| 亚洲欧美日本视频在线观看| 久久av在线看| 欧美成年人视频网站欧美| 欧美日韩美女| 国产精品五区| 极品少妇一区二区三区| 亚洲精品视频二区| 亚洲一区二区在| 亚洲国产精品传媒在线观看| 91久久在线| 亚洲综合首页| 美腿丝袜亚洲色图| 欧美系列电影免费观看| 国产在线视频欧美| 亚洲欧洲一区二区三区久久| 亚洲视频高清| 亚洲电影中文字幕| 亚洲中字在线| 免费日韩精品中文字幕视频在线| 欧美日韩中文另类| 国产自产女人91一区在线观看| 亚洲精品看片| 欧美主播一区二区三区美女 久久精品人 | 欧美精品国产精品| 国产精品综合av一区二区国产馆| 在线观看亚洲视频啊啊啊啊| 99国产精品私拍| 久久激情视频| 亚洲综合999| 欧美成人免费一级人片100| 国产精品久久久久久久久久ktv| 尤物精品国产第一福利三区| 一区二区欧美在线观看| 亚洲激情网站| 欧美一区二区在线看| 欧美另类综合| 精品51国产黑色丝袜高跟鞋| 亚洲亚洲精品三区日韩精品在线视频| 亚洲国产一区二区三区高清| 午夜精品av| 欧美精品自拍偷拍动漫精品| 国内一区二区三区| 亚洲影院在线观看| 99国产欧美久久久精品| 久久女同互慰一区二区三区| 国产精品久久久久久超碰| 亚洲国产精品成人久久综合一区| 亚洲影视九九影院在线观看| 亚洲免费观看在线观看| 久久亚洲图片| 国产日韩欧美高清| 亚洲色无码播放| 99pao成人国产永久免费视频| 久久综合九色综合欧美就去吻 | 欧美一区二区三区四区夜夜大片 | 国产精品久久久久久久久免费樱桃| 亚洲国产精品悠悠久久琪琪| 欧美一区二区免费| 午夜精品福利一区二区三区av| 欧美精品123区| 在线观看日韩一区| 欧美一区2区视频在线观看| 亚洲欧美日本在线| 国产精品videosex极品| 99pao成人国产永久免费视频| 亚洲国产视频直播| 久久九九免费视频| 欧美三级资源在线| 亚洲精品综合在线| 99视频精品免费观看| 欧美高清在线一区| 在线日韩欧美| 亚洲国产精品一区二区第四页av| 久久久.com| 国产自产高清不卡| 久久精品123| 久久一区二区三区av| 国产亚洲制服色| 欧美一区在线看| 久久久99精品免费观看不卡| 国产亚洲精品激情久久| 欧美亚洲网站| 久久视频一区二区| 国内一区二区三区| 亚洲国产精品久久91精品| 久久综合网络一区二区| 精品电影在线观看| 91久久精品美女| 欧美国产先锋| 亚洲伦理中文字幕| 一区二区三区日韩| 国产精品theporn| 亚洲欧美激情在线视频| 欧美在线黄色| 国产一区二区三区高清在线观看| 欧美中文字幕在线观看| 久久综合九色99| 亚洲国产欧美在线人成| 99国产精品99久久久久久| 欧美日韩国产小视频在线观看| 99riav久久精品riav| 亚洲欧美清纯在线制服| 国产女人18毛片水18精品| 欧美在线视频免费播放| 美女露胸一区二区三区| 亚洲精品日韩激情在线电影| 亚洲午夜精品| 国产精品一二三| 久久国产66| 欧美精品国产精品日韩精品| 99精品国产热久久91蜜凸| 午夜日韩在线观看| 国内精品久久久久影院薰衣草| 91久久久久久久久| 欧美日韩直播| 欧美一区二区三区视频在线观看| 老司机免费视频一区二区三区| 亚洲清纯自拍| 欧美一区二区在线观看| …久久精品99久久香蕉国产 | 一区二区三区|亚洲午夜| 欧美一级成年大片在线观看| 精品成人一区二区| 中文成人激情娱乐网| 国产精品青草综合久久久久99| 久久精品国产第一区二区三区| 欧美精品一区二区三区四区| 亚洲在线日韩| 奶水喷射视频一区| 在线综合亚洲| 久久一区二区三区av| 日韩视频专区| 久久久久久久一区| 日韩午夜激情av| 久久亚洲高清| 一级成人国产| 免费观看亚洲视频大全| 亚洲色在线视频| 欧美成人国产| 亚洲欧美日韩在线高清直播| 欧美福利一区| 午夜视频在线观看一区二区三区| 欧美华人在线视频| 午夜在线播放视频欧美| 欧美日本免费| 久久精品一二三| 国产精品乱码人人做人人爱| 最新日韩在线| 国产欧美精品va在线观看| 99国产精品| 精品999久久久| 欧美一区二区免费| 91久久综合亚洲鲁鲁五月天| 欧美中文字幕精品| 99国产精品久久久| 欧美大香线蕉线伊人久久国产精品| 亚洲女人小视频在线观看| 欧美日本一道本| 亚洲第一在线| 国产情人综合久久777777| 这里只有精品视频|