林 強(qiáng),吳國偉,劉玥瑤,王文超
(1.大連理工大學(xué) 軟件學(xué)院,遼寧 大連 116024;2.大連科技學(xué)院,遼寧 大連 116052)
無線網(wǎng)絡(luò)控制系統(tǒng)(wireless networked control system,WNCS)是當(dāng)前社會各界廣泛關(guān)注的研究領(lǐng)域,是涉及多學(xué)科、知識高度集成的前沿?zé)狳c(diǎn)[1].WNCS 的核心部分是傳感器網(wǎng)絡(luò),系統(tǒng)通常包括傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)和管理節(jié)點(diǎn).在監(jiān)測區(qū)域內(nèi)部或附近隨機(jī)放置大量傳感器節(jié)點(diǎn),監(jiān)測數(shù)據(jù)順著傳感器的節(jié)點(diǎn)傳輸,經(jīng)過多跳后路由到匯聚節(jié)點(diǎn),最后通過互聯(lián)網(wǎng)或衛(wèi)星到達(dá)管理節(jié)點(diǎn).用戶通過管理節(jié)點(diǎn)對傳感器網(wǎng)絡(luò)進(jìn)行配置和管理,發(fā)布監(jiān)測任務(wù)以及收集監(jiān)測數(shù)據(jù).
傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的組成和功能包括如下4個(gè)基本單元:傳感單元(由傳感器和模數(shù)轉(zhuǎn)換功能模塊組成)、處理單元(由嵌入式系統(tǒng)構(gòu)成,包括CPU、存儲器、嵌入式操作系統(tǒng)等)、通信單元(由無線通信模塊組成)、電源.
因?yàn)闊o線傳感器網(wǎng)絡(luò)有自組織性、網(wǎng)絡(luò)動(dòng)態(tài)變化、消耗能量、分節(jié)點(diǎn)電量有限等特點(diǎn)[2],必須合理調(diào)度分配無線傳感器網(wǎng)絡(luò)中的任務(wù),達(dá)到減少能量消耗、延長系統(tǒng)生命期、加快完成任務(wù)的速度和提高系統(tǒng)節(jié)點(diǎn)使用效率的目標(biāo)[3].
自Liu和Layland在20世紀(jì)70年代初發(fā)表了關(guān)鍵論文以來,有關(guān)無線傳感器網(wǎng)絡(luò)實(shí)時(shí)任務(wù)調(diào)度的方法層出不窮,而這些方法的基礎(chǔ)都是基于優(yōu)先級以及截止時(shí)間優(yōu)先的傳統(tǒng)方法.最開始的調(diào)度策略是最早截止時(shí)間(EDF)[4]以及最壞情況下的調(diào)度,雖然有一些局限性,但是其思想在當(dāng)時(shí)還是比較先進(jìn)的.本文對無線傳感器網(wǎng)絡(luò)實(shí)時(shí)系統(tǒng)任務(wù)調(diào)度的研究集中在時(shí)間及優(yōu)先級分配上,即在提高任務(wù)完成率的同時(shí)減少任務(wù)完成時(shí)間,提高系統(tǒng)性能并延長系統(tǒng)生命周期.
無線傳感器網(wǎng)絡(luò)任務(wù)調(diào)度是為了把一組任務(wù)用確定的調(diào)度策略,確定其調(diào)度簇,即分配同一節(jié)點(diǎn)執(zhí)行的任務(wù),并且控制任務(wù)的執(zhí)行順序和時(shí)間,確保任務(wù)能夠高效完成[5].
自Liu和Layland提出開創(chuàng)性觀點(diǎn)以來,用最壞情況方法對關(guān)鍵系統(tǒng)時(shí)間分析的研究進(jìn)行了很長時(shí)間.然而這些方法在提升性能方面表現(xiàn)得太過悲觀,因此在實(shí)時(shí)系統(tǒng)領(lǐng)域,設(shè)計(jì)實(shí)時(shí)調(diào)度算法很具挑戰(zhàn)性.在復(fù)雜結(jié)構(gòu)中,程序執(zhí)行時(shí)間的變化意味著最壞情況方法會歸結(jié)為系統(tǒng)不可行.因此,有些時(shí)候最壞情況方法限制新功能的引入,并把它作為結(jié)構(gòu)的重要考量.
隨機(jī)方法可以替代最壞情況方法.一般地,實(shí)時(shí)系統(tǒng)的可行性以系統(tǒng)參數(shù)各種可能出現(xiàn)的值的概率來表示.近年來,實(shí)時(shí)系統(tǒng)的隨機(jī)性分析得到發(fā)展,涌現(xiàn)了隱式任務(wù)模型(亦稱Liu和Layland模型)、復(fù)合框架模型(MF)、拓展復(fù)合框架模型(GMF)、周期實(shí)時(shí)模型(RRT)等.
隨機(jī)模型是現(xiàn)在最具表現(xiàn)潛力的模型,由于它的概率性,任務(wù)的每個(gè)參數(shù)相互聯(lián)系.隨機(jī)模型能夠描述同一個(gè)任務(wù)中不同作業(yè)之間的關(guān)系,是最接近RRT 的任務(wù)模型.
隨機(jī)變量χ有分布函數(shù)(PF)fχ(·):fχ(x)=P(χ=x),χ∈[xmin,xmax].
隨機(jī)變量的可能取值和概率的關(guān)系表示如下:
兩個(gè)隨機(jī)變量X和Y是相互獨(dú)立的,表示一個(gè)事件的結(jié)果對另一事件無影響.
變量X和Y的卷積Z稱為兩個(gè)變量的累積和,即
考慮一個(gè)系統(tǒng)同時(shí)釋放n個(gè)任務(wù){τ1,τ2,…,τn},需要在單處理器上用固定優(yōu)先級調(diào)度策略.不失一般性地,認(rèn)為對于i<j,τi優(yōu)先級大于τj,hp(i)表示比τi優(yōu)先級高的任務(wù)集.每個(gè)任務(wù)τi產(chǎn)生無窮多個(gè)連續(xù)的作業(yè)τi,j,j=1,…,∞.
一項(xiàng)任務(wù)的一個(gè)作業(yè)的隨機(jī)執(zhí)行時(shí)間(pET)表示概率性的執(zhí)行時(shí)間,等于一個(gè)給定的值.每個(gè)任務(wù)τi被泛化為一個(gè)不定時(shí)發(fā)生的任務(wù)[6],并且用隨機(jī)最壞情況執(zhí)行時(shí)間(pWCET)和隨機(jī)最小到達(dá)時(shí)間(pMIT)來定義.
一項(xiàng)任務(wù)的pWCET 記作Ci,范圍是Cji,j,并且可以用關(guān)系≥來表示:Ci≥Cji,j.從圖像上看,這意味著Cji的累積分布函數(shù)一直低于Ci,j.
Ci可以寫作
例如一個(gè)任務(wù)τi,有Ci=得出fCi(2)=0.50,fCi(3)=0.45,fCi(25)=0.05.
用同樣的方法將pMIT 記作Ti.pMIT 范圍是pITTji,j,并且Tji≥Ti,j.
一個(gè)任務(wù)τi可以用二元組(Ci,Ti)表示.一個(gè)任務(wù)的某個(gè)作業(yè)需要在下一個(gè)作業(yè)到達(dá)之前完成執(zhí)行,即新作業(yè)的到來代表著當(dāng)前作業(yè)的截止時(shí)間.所以,一個(gè)任務(wù)也可以用一個(gè)隨機(jī)變量Di表示,和pMIT 的Ti有一樣的作用.
通過考慮最壞情況的概率值(pMIT 或pWCET),用隨機(jī)的獨(dú)立變量來表達(dá)pMIT 和pWCET[7].這種獨(dú)立性是因?yàn)閜MIT 和pWCET是邊界而不是任務(wù)執(zhí)行的確切值.由這個(gè)獨(dú)立的性質(zhì),利用卷積計(jì)算任務(wù)的響應(yīng)時(shí)間等.
任務(wù)的響應(yīng)時(shí)間是從激活到執(zhí)行結(jié)束的時(shí)間.作業(yè)有pET,因此響應(yīng)時(shí)間也可以用隨機(jī)變量來描述.
約束條件用錯(cuò)過截止時(shí)間的概率描述,作業(yè)τi,j的失敗概率DMPi,j是指任務(wù)τi的第j個(gè)作業(yè)錯(cuò)過截止時(shí)間的概率,即
Ri,j是任務(wù)τi的第j個(gè)作業(yè)的響應(yīng)時(shí)間的分布.
如果有計(jì)劃的任務(wù)是周期性的,換句話說pMIT 分布有一個(gè)概率值1,然后任務(wù)失敗的概率可以計(jì)算為作業(yè)的平均失敗概率,這些作業(yè)在時(shí)間段[a,b]內(nèi)被執(zhí)行,這就是調(diào)度的超周期.一個(gè)最壞情況的推論只能考慮所有執(zhí)行在時(shí)間段[a,b]所有作業(yè)的DMP中最大的DMP(失敗概率).
對于一個(gè)任務(wù)τi和一個(gè)時(shí)間段[a,b],任務(wù)的失敗概率可以計(jì)算為
n是活躍在時(shí)間段[a,b]一個(gè)任務(wù)作業(yè)τi的作業(yè)的數(shù)量.
(1)任務(wù)τi(Ti,Ci,Di)模型
Ti為任務(wù)i的周期,Ci為任務(wù)執(zhí) 行時(shí)間,Di為截止時(shí)間且為周期終點(diǎn).任務(wù)在周期的起點(diǎn)釋放,高優(yōu)先級任務(wù)可以搶占低優(yōu)先級任務(wù).
(2)優(yōu)先級分配方法
即靜態(tài)固定優(yōu)先級分配.利用線性關(guān)系優(yōu)先級與周期成反比,周期越短優(yōu)先級越高.
(3)可調(diào)度性分析
n個(gè)獨(dú)立的周期任務(wù)組成的任務(wù)集τ可以被單調(diào)速率算法調(diào)度,如果U≤n(21/n-1),則該任務(wù)集可調(diào)度.其中U為實(shí)時(shí)系統(tǒng)周期任務(wù)集的負(fù)載
在靜態(tài)調(diào)度中,首先提出任務(wù)的臨界時(shí)刻(critical instant)的概念.定義其為一個(gè)特定時(shí)間點(diǎn),如果在此時(shí)刻有任務(wù)提出請求,那么此任務(wù)就需要最大響應(yīng)時(shí)間(最壞情況).
性質(zhì)1 一個(gè)任務(wù)的臨界時(shí)刻就是所有比此任務(wù)優(yōu)先級高的任務(wù)hp(i)同時(shí)發(fā)出請求的時(shí)刻.
上述的價(jià)值在于它找到了一個(gè)調(diào)度算法在任何情況下(包括最壞情況),能否調(diào)度任一任務(wù)集的充分必要條件,即為在所有任務(wù)同時(shí)請求執(zhí)行的情況下仍能保證每個(gè)任務(wù)滿足相對截止時(shí)間(時(shí)限)完成任務(wù),那么就可以用這個(gè)調(diào)度算法來對這個(gè)任務(wù)集進(jìn)行調(diào)度.
性質(zhì)2 如果一個(gè)任務(wù)集能夠被靜態(tài)調(diào)度,那么就能夠用單調(diào)速率調(diào)度算法調(diào)度這個(gè)任務(wù)集.
單調(diào)速率調(diào)度算法已證明是靜態(tài)最優(yōu)調(diào)度算法,開銷小,靈活性好,是實(shí)時(shí)調(diào)度的基礎(chǔ)性理論.即使出現(xiàn)特殊情況如系統(tǒng)瞬時(shí)過載,也可前瞻定位丟失時(shí)限的任務(wù).缺點(diǎn)是處理器利用率較低,因此對于許多復(fù)雜任務(wù)實(shí)時(shí)應(yīng)用有很大的限制.
2.2.1 隨機(jī)實(shí)時(shí)調(diào)度 本節(jié)將呈現(xiàn)單處理器上固定優(yōu)先調(diào)度算法的結(jié)果.此處研究的任務(wù)有單一的參數(shù),用一個(gè)隨機(jī)變量表達(dá),即Ci.考慮有n個(gè)任務(wù)的集合τi,i∈{1,2,…,n},用(Ci,Ti,Di,p)表示,p∈[0,1]表示任務(wù)τi錯(cuò)過它的截止時(shí)間的最大概率.在第一個(gè)超周期[0,P]來研究調(diào)度,P=lcm{T1,T2,…,Tn}.
固定優(yōu)先級調(diào)度算法問題(BPAP),需要為每個(gè)任務(wù)分配優(yōu)先級,每項(xiàng)任務(wù)的DMR不能超過臨界值,即DMRi(Φ)≤pi.
定理1 系統(tǒng)τ={τ1,…,τn}有n個(gè)同時(shí)釋放的任務(wù)且有pWCET.對于這個(gè)系統(tǒng),單調(diào)速率(RM)不是最優(yōu)的,因?yàn)橛幸粋€(gè)可行的任務(wù)優(yōu)先級分配,但是單調(diào)速率不一定能做到此情況下的優(yōu)先級分配.
證明 設(shè)τ={τ1,τ2}是一個(gè)有兩個(gè)周期性任務(wù)及pWCET 的系統(tǒng).把τ1和τ2分別設(shè)定為作業(yè)τ1需要滿足至少截止時(shí)間的50%,作業(yè)τ2為75%.
根據(jù)RM 優(yōu)先級分配算法,τ1有最高的優(yōu)先級,τ2有最低的優(yōu)先級.假若這樣,τ1將會滿足所有它的截止時(shí)間,顯然也滿足要求的50%的限度.然而,τ2將不能滿足截止時(shí)間的75%,只有50%(圖1).
因?yàn)閮?yōu)先級的不同引起響應(yīng)時(shí)間不同,并且調(diào)整優(yōu)先級后滿足截止時(shí)間的概率改變,從而產(chǎn)生優(yōu)先級分配策略的影響,檢驗(yàn)單調(diào)速率算法在特殊情況的最優(yōu)性是否還存在.現(xiàn)在考慮作業(yè)τ2有最高優(yōu)先級,作業(yè)τ1有最低優(yōu)先級,然后兩個(gè)任務(wù)都能滿足它們各自的限制要求.這樣的話,τ2滿足它的截止時(shí)間的概率為100%(高于要求的75%),τ1將滿足截止時(shí)間的50%(圖2).
圖1 單調(diào)速率調(diào)度算法調(diào)度結(jié)果Fig.1 Rate monotonic scheduling result
圖2 合適的優(yōu)先級調(diào)度策略Fig.2 A feasible assignment of priorities
引理1(最高級的順序定理[8]) 設(shè)τ={τ1,…,τn}是n個(gè)任務(wù)的任務(wù)集并且用pWCET來約束,任務(wù)在一個(gè)用固定優(yōu)先級搶占調(diào)度策略的單處理器上調(diào)度.如果任務(wù)有固定和已知的優(yōu)先級,那么比τi更高優(yōu)先級的任務(wù)集hp(i)的內(nèi)部順序不影響任務(wù)τi的任何作業(yè)j的DMPi,j(Φ)的值且不影響DMRi(a,b,Φ),a,b的值.
2.2.2 隨機(jī)調(diào)度系統(tǒng)優(yōu)先級算法 由于技術(shù)發(fā)展,系統(tǒng)很少可能錯(cuò)過截止時(shí)間,時(shí)間約束不再合適,所以沒有必要設(shè)置一個(gè)系統(tǒng)功能數(shù)量的低界限,而是進(jìn)行隨機(jī)分析.
引理2(響應(yīng)時(shí)間的單調(diào)性) 在某一個(gè)任務(wù)分配Φ中降低某一任務(wù)τi的優(yōu)先級,其響應(yīng)時(shí)間會增大.優(yōu)先級越低,來自高優(yōu)先級的沖突越多,響應(yīng)時(shí)間越長,錯(cuò)過截止時(shí)間概率越大.
基本優(yōu)先級分配問題最優(yōu)算法[8]:令Γ是一個(gè)截止時(shí)間限制的任務(wù)集,任務(wù)有隨機(jī)執(zhí)行時(shí)間并且表示為(Ci,Ti,Di,p).對于任何任務(wù)集Γ,總能找到一個(gè)切實(shí)可行并且存在的優(yōu)先級分配方案.
在基本優(yōu)先級分配貪心算法上進(jìn)行一些改進(jìn).從最低等級的任務(wù)開始分配優(yōu)先級,直到最高級.當(dāng)給任務(wù)τi設(shè)定了某一個(gè)優(yōu)先級,不必?fù)?dān)心已經(jīng)被設(shè)定了更低優(yōu)先級的任務(wù)集lp(i),因?yàn)檫@不影響τi的響應(yīng)時(shí)間(引理1).
現(xiàn)在提出改進(jìn)的算法.
基本的優(yōu)先級分配最優(yōu)算法:使得所有的任務(wù)τi滿足DMRi≤pi
改進(jìn)的地方是將待分配的任務(wù)按照最壞失敗概率也就是按照pi的值進(jìn)行從大到小排序,根據(jù)引理2如果最壞DMR越小則需要將任務(wù)的優(yōu)先級分配得越高,這樣可以減少由于貪心算法導(dǎo)致的中途分配失敗的情況,從而提高算法的分配速度.
這個(gè)算法是貪心算法.可能存在一個(gè)未分配優(yōu)先級的任務(wù)τ,如果分配當(dāng)前優(yōu)先級k不會讓最差的DMR更差,也就是不超過pi,就把優(yōu)先級k分配給此任務(wù),而不考慮高優(yōu)先級會發(fā)生的情況.這個(gè)算法在解決當(dāng)前優(yōu)先級固定分配問題上效率比較高,對每一個(gè)任務(wù)都進(jìn)行檢測,若適合就分配優(yōu)先級.而如果所有任務(wù)都不滿足某一優(yōu)先級的條件,那么該優(yōu)先級分配失敗.
2.2.3 可調(diào)度性分析 考慮一個(gè)具有n個(gè)同步釋放的任務(wù)的任務(wù)集{τ1,τ2,…,τn},在單處理器上使用固定任務(wù)優(yōu)先級的搶占調(diào)度策略.不失一般性地,當(dāng)i<j時(shí),認(rèn)為τi比τj有更高的優(yōu)先級,任務(wù)τn在被研究的n個(gè)任務(wù)中具有最低的優(yōu)先級.
任務(wù)τi,j的響應(yīng)時(shí)間Ri,j可由下面的公式計(jì)算得出:
Bi(λi,j)是在λi,j之前釋放的具有較高優(yōu)先級的任務(wù)累積和,并且在λi,j時(shí)刻尚未終止執(zhí)行.Ii(λi,j)是在λi,j之后到達(dá)的并且可以搶占任務(wù)τi,j的較高優(yōu)先級的任務(wù)的最壞情況的執(zhí)行時(shí)間pWCET 的累積和.在同時(shí)釋放任務(wù)的情況下,這些任務(wù)pWCET 的累積和為
式(5)可以進(jìn)行迭代求解,新的搶占任務(wù)的整合是通過修改任務(wù)在每個(gè)新迭代的概率分布解決的.當(dāng)沒有更多的搶占任務(wù)或者任務(wù)的完成時(shí)間已經(jīng)大于最后完成時(shí)間時(shí),迭代終止.
式(5)基于卷積運(yùn)算,這要求任務(wù)變量Ci,i在概率上相互獨(dú)立.
pET 的情況:如果隨機(jī)變量Ci描述任務(wù)的pET,隨機(jī)變量不能獨(dú)立,在這種情況下,任務(wù)的當(dāng)前狀態(tài)不能使用式(5)來解決.
pWCET 的情況:如果隨機(jī)變量Ci描述任務(wù)τi的pWCET,隨機(jī)變量是獨(dú)立的,因?yàn)樗鼈兪莗ET 的范圍,所以式(5)是可用的.
考慮之前的例子,τ={τ1,τ2}是一個(gè)有兩個(gè)周期性任務(wù)及pWCET 的系統(tǒng),把τ1、τ2分別設(shè)定為
當(dāng)任務(wù)τ2的優(yōu)先級低于τ1時(shí),使用式(5)計(jì)算第二個(gè)任務(wù)τ2的第一個(gè)作業(yè)τ2,1的響應(yīng)時(shí)間,R2,1=B2(λ2,1)C2I2(λ2,1),其 中λ2,1=0,I2(0).當(dāng)I2(0)任務(wù)τ1可能的3個(gè)值:τ1,2在t=2,τ1,3在t=4,τ1,4在t=6 時(shí),代入得到R2,1=
本章將對基于隨機(jī)模型提出的改進(jìn)的固定優(yōu)先級分配算法的正確性和有效性進(jìn)行仿真驗(yàn)證.實(shí)驗(yàn)設(shè)定了多個(gè)具有代表性的實(shí)驗(yàn)用例(僅舉1例),多角度全面進(jìn)行仿真,并將結(jié)果與傳統(tǒng)算法進(jìn)行對比,總結(jié)分析改進(jìn)算法的性能.
實(shí)驗(yàn)用例1Γ={τ1,τ2},
仿真結(jié)果顯示,τ2優(yōu)先級最高,其次為τ1,DMR2=0,明顯小于0.1,DMR1=0.387 5,且小于0.5,符合要求,算法結(jié)果正確.
下面分析實(shí)驗(yàn)用例1,如果用單調(diào)速率算法,T1<T2,所以τ1的優(yōu)先級比τ2的高,按照這個(gè)優(yōu)先級分配算法來計(jì)算DMR.τ1的每個(gè)任務(wù)響應(yīng)時(shí)間都為因此得出兩個(gè)計(jì)算結(jié)果:即R2=所以DMR2=0.125>0.1.因此這種優(yōu)先級分配算法不可行,不符合優(yōu)先級分配算法的基本要求,同時(shí)也證明了單調(diào)速率算法在這種任務(wù)模型的非最優(yōu)性.
本文研究了目前已有的任務(wù)調(diào)度和優(yōu)先級分配理論,在分析了傳統(tǒng)算法的缺點(diǎn)和任務(wù)調(diào)度問題的隨機(jī)性與動(dòng)態(tài)性之后改進(jìn)了固定優(yōu)先級分配算法并進(jìn)行了仿真實(shí)驗(yàn)和性能比較,分析出本算法的優(yōu)越性.
[1] 任豐原,黃海寧,林 闖.無線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報(bào),2003,14(7):1282-1291.REN Feng-yuan,HUANG Hai-ning,LIN Chuang.Wireless sensor networks[J].Journal of Software,2003,14(7):1282-1291.(in Chinese)
[2] Park H,Srivastava M B.Energy-efficient task assignment framework for wireless sensor networks[R].Los Angeles:Center for Embedded Network Sensing,University of California,2003.
[3] 吳光斌,梁長垠.無線傳感器網(wǎng)絡(luò)能量有效性的研究[J].傳感器技術(shù),2004,23(7):74-76.WU Guang-bin,LIANG Chang-yin.Research of energy-efficiency for wireless sensor networks[J].Journal of Transducer Technology,2004,23(7):74-76.(in Chinese)
[4] Liu C L,Layland J W.Scheduling algorithms for multiprogramming in a hard real-time environment[J].Journal of the ACM,1973,20(1):46-61.
[5] 郭文忠.無線傳感器網(wǎng)絡(luò)任務(wù)調(diào)度若干關(guān)鍵技術(shù)研究[D].福州:福州大學(xué),2010:4-8.GUO Wen-zhong.Research on some key technology of task scheduling in wireless sensor networks[D].Fuzhou:Fuzhou University,2010:4-8.(in Chinese)
[6] Mok A.Fundamental design problems of distributed systems for the hard-real-time environment[D].Boston:Laboratory for Computer Science,Massachusetts Institute of Technology,1983:35-54.
[7] Stappert F,Altenbernd P.Complete worst-case execution time analysis of straight-line hard realtime programs[J].Journal of Systems Architecture,2000,46(4):339-355.
[8] Maxim D,Buffet O,Santinelli L,etal.Optimal priority assignments for probabilistic real-time systems[C]//Proceeding of the 19th International Conference on Real-Time and Network Systems(RTNS).Nantes:IEEE Computer Society,2011:2-8.