国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種面向自主獲能異構系統(tǒng)的非精確實時任務調度方法

      文檔序號:9489328閱讀:491來源:國知局
      一種面向自主獲能異構系統(tǒng)的非精確實時任務調度方法
      【技術領域】
      [0001] 本發(fā)明涉及異構多處理器非精確實時任務的分配和調度技術,尤其涉及一種基于 能量采集系統(tǒng)中能量不確定性環(huán)境下的任務分配和調度技術。
      【背景技術】
      [0002] 實時系統(tǒng)是指能夠在系統(tǒng)規(guī)定的時間內完成指定的任務,并就完成的情況做出響 應的系統(tǒng)。實時系統(tǒng)具有很強的時間約束性,根據(jù)時間約束的強弱,實時系統(tǒng)又可以分為軟 實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)是指系統(tǒng)的時間限制具有一定的彈性,它可以容忍偶 爾的超時任務;硬實時系統(tǒng)是指系統(tǒng)必須在規(guī)定的時間內完成規(guī)定的任務,它不允許出現(xiàn) 任何的超時,一旦超時可能會帶來嚴重的后果。實時系統(tǒng)正是因為其高度的可靠性,最近這 些年,嵌入式實時系統(tǒng)被越來越廣泛的應用于軍事、航天航空、信息采集以及環(huán)境勘測等領 域。
      [0003] 對于嵌入式實時系統(tǒng)的能量管理方面的研究一直是國內外學者的研究焦點,比較 著名的能量管理技術有動態(tài)電壓頻率調節(jié)技術(DVFS)以及動態(tài)電源管理技術(DPM)。雖然 使用DPM和DVS技術進行能量管理能夠在降低系統(tǒng)能耗方面取得不錯的效果,但是這種方 法對于系統(tǒng)的硬件要求較高,不支持可變頻和動態(tài)功率選擇的處理器該技術是無法被應用 的。
      [0004] 在能量受限的嵌入式實時系統(tǒng)中,任務可能由于能量不足而無法按時完成。雖然 通過降低任務執(zhí)行頻率可以減少系統(tǒng)能耗,但這亦不可避免地增加了任務的執(zhí)行長度,從 而推遲了后續(xù)任務的執(zhí)行,甚至于導致后續(xù)任務無法按時完成。在實時系統(tǒng)中,當任務無法 按時完成時,稱系統(tǒng)違背實時約束。為了盡可能避免因系統(tǒng)過載或者資源不足而違背實時 約束,提高系統(tǒng)的可靠性和健壯性,JaneW.SLiu等在1987年提出一種非精確計算技術。 當系統(tǒng)資源受限或者不確定時,可以利用非精確技術進行自適應的任務調度,以權衡系統(tǒng) 的服務質量與系統(tǒng)資源。現(xiàn)如今,嵌入式系統(tǒng)往往需要被應用在一些自然環(huán)境極其惡劣的 地方,對于這些地方設備的電池更換基本無法由人力完成,所以,自主獲能系統(tǒng)應運而生, 并且研究者們針對自主獲能實時系統(tǒng)的任務調度機制進行了深入而廣泛地研究。但是,目 前的研究所針對的大部分都是同構的處理器和任務,對于異構處理器和任務方面的研究還 很少。異構處理器是指同一個任務在不同的處理器上執(zhí)行相同的長度最終所消耗能量是不 一樣的。同樣,異構任務是指不同的任務在同一個處理器上執(zhí)行相同的時鐘周期最終所消 耗的能量也是不一樣的。

      【發(fā)明內容】

      [0005] 本發(fā)明是在自主獲能環(huán)境下,結合任務和處理器的異構特性,通過對非精確實時 任務的分配以及調度來最大化系統(tǒng)的服務質量。本發(fā)明在分配任務的時候考慮了系統(tǒng)可用 能量的不確定性,并且結合任務和處理器的異構特性來決定任務的調度。
      [0006] 本發(fā)明的一種面向自主獲能異構系統(tǒng)的非精確實時任務調度方法,包括以下步 驟:
      [0007] 步驟一:獲取所有待分配的任務和所有待分配任務的處理器,并且計算所有處理 器的能耗貢獻因子,并將所有的處理器按照功耗貢獻因子從低到高進行排序;
      [0008] 步驟二:取所有任務的分配長度為其強制部分,調度任務分配算法,并計算執(zhí)行強 制部分所需要的能量E1ot;
      [0009] 步驟三:取所有任務的分配長度為其完整的長度,調度任務分配算法,并計算任務 執(zhí)行完整長度所需要的能量Ehlgh;其中,所述完整的長度為完整的強制部分和可選部分;
      [0010] 步驟四:估計系統(tǒng)在任務集的調度周期[t,t+D]內可以使用的能量Esup;
      [0011] 步驟五:判斷系統(tǒng)預測到的可用的能量Esup與ElOT以及Ehlgh之間的關系,并確定最 終的任務分配長度;
      [0012] 步驟六:調度任務分配算法,將任務分配到處理器上;
      [0013] 步驟七:計算所有處理器上任務-處理器能耗因子EC,并將任務按照"任務-處 理器能耗因子"進行升序排列;
      [0014] 步驟八:計算所有任務執(zhí)行其強制部分所需要的能量,然后計算出所有任務的可 選部分可以使用的剩余能量Ε_1;
      [0015] 步驟九:在系統(tǒng)可選部分可用能量下迭代地計算任務可選部分的執(zhí)行長度,并返 回新的任務集,其中每個任務可選部分的執(zhí)行長度已經(jīng)確定;
      [0016] 步驟十:計算每個處理器上所應該分配到的能量占整個系統(tǒng)可用能量的比例hj
      [0017] 步驟十一:對于每個處理器,結合系統(tǒng)采集到的能量來實時調度任務。
      [0018] 所述任務分配算法具體包括:
      [0019] 步驟A1 :根據(jù)任務的分配長度計算所有任務的能耗貢獻因子,并將任務按能耗耗 貢獻因子由高到低排序,并選取第一個處理器開始分配任務;
      [0020] 步驟A2:依次將任務分配到處理器上,在分配每個任務的時候,檢查是否滿足任 務的時間約束以及當前處理器的容量限制;如果不滿足條件,則選取下一個處理器,直到所 有的任務全部分配完或者所有的處理器全部用完;如果所有處理器已全部選取完,但仍然 有任務未完成分配,則分配失敗;
      [0021] 步驟A3 :返回并保存每個處理器上所分配的任務集。
      [0022] 所述步驟四中的估計系統(tǒng)在任務集的調度周期[t,t+D]內可以使用的能量Esup是 使用指數(shù)平滑預測法,通過計算指數(shù)平滑值,并配合一定的時間序列模型對未來一段時期 的序列進行預測;其原理是任一期的指數(shù)平滑值都是本期實際觀察值與前一期指數(shù)平滑值 的加權平均;指數(shù)平滑法基于如下公式:
      [0024] 其中,馬指代第i期的指數(shù)平滑值;而Xl是第i期的觀察值;ω(〇彡ω彡1)是 平滑常數(shù),它使得指數(shù)平滑具有隨時間遞減的性質;4-1則是第i-Ι期的指數(shù)平滑值。
      [0025] 所述步驟五中的確定最終的任務分配長度具體包括:
      [0026] 步驟B1:判斷Esup是否小于或等于ElOT,如果是,則令所有任務的分配長度都為其 強制部分;否則,執(zhí)行步驟B2;
      [0027] 步驟B2:判讀Esup是否大于或等于Ehlgh,如果是,則令所有任務的分配長度為其完 整的長度;否則,執(zhí)行步驟B3;
      [0028] 步驟B3:令任務的分配長度為其強制部分和完整部分長度的中值;
      [0029] 步驟B4 :調度任務分配算法,計算任務執(zhí)行分配長度所需要的能量EdM;
      [0030] 步驟B5:判斷|Esup-EdaJ〈%,如果滿足,則得到任務的分配長度;否則,執(zhí)行步驟 B6 ;其中,ε為一個很小的正數(shù),取值0-0. 1 ;
      [0031] 步驟Β6 :判斷是否Esup大于Ed_如果是,則令任務的分配長度為其右區(qū)間的中值; 否則,令任務的分配長度為其左區(qū)間的中值,并返回步驟M。
      [0032] 所述步驟九中的計算任務可選部分的執(zhí)行長度具體包括:
      [0033] 步驟C1:判讀是否所有任務可選部分的執(zhí)行長度已確定,如果是,步驟九結束;否 貝1J,執(zhí)行步驟C2;
      [0034] 步驟C2:判斷是否E。#大于0,如果是,執(zhí)行步驟C3 ;否則,令接下來還未確定可 選部分長度的所有任務可選部分的執(zhí)行長度為〇,步驟九結束;
      [0035] 步驟C3:判斷是否I#滿足當前任務可選部分的完整執(zhí)行,如果是,則令當前任務 的可選部分執(zhí)行長度為其可選部分完整長度;否則,執(zhí)行步驟C4 ;
      [0036] 步驟C4:當前任務可選部分的執(zhí)行長度為I#除以當前任務-處理器能耗因子 EC;
      [0037] 步驟C5:更新系統(tǒng)中剩余任務可選部分能夠使用的能量E。#,并選取下一個任務, 返回步驟C1。
      [0038] 所述步驟十一中實時調度任務具體包括:
      [0039] 步驟D1 :基于比例系數(shù)k將系統(tǒng)中的能量分配給每個處理器;
      [0040] 步驟D2 :判斷處理器Θ^上的任務是否都已經(jīng)執(zhí)行完,如果是,則步驟十一結束; 否則,執(zhí)行步驟D3;
      [0041] 步驟D3 :判斷處理器Θ^中可用的能量是否能夠支持當前任務完成其強制部分和 由步驟九求出的任務可選部分的執(zhí)行長度的執(zhí)行,如果可以,則執(zhí)行該任務的強制部分和 其求出的任務可選部分的執(zhí)行長度;否則,執(zhí)行步驟D4 ;
      [0042] 步驟D4 :判斷處理器Θ^中可用的能量是否能夠支持當前任務完成其強制部分, 如果可以,則執(zhí)行該任務的強制部分,否則,丟棄該任務;
      [0043] 步驟D5 :更新處理器Θ^中可用的能量,并選取下一個任務;返回步驟D2。
      [0044] 本發(fā)明通過這種任務分配算法可以使得在給定有限的能量下最大化系統(tǒng)所有任 務的執(zhí)行時鐘周期,從而來最大化系統(tǒng)的服務質量。在任務分配完成以后,每個任務都被綁 定到具體的處理器上,然后分析任務和處理器的特性,提出任務調度算法,使得對于同樣的 能量,本發(fā)明中提出的
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1