制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種制程變異下多核片上系統(tǒng)任務(wù)調(diào)度建模與評估方法,尤其涉及一種基于UPPAAL-SMC (靜態(tài)模型檢驗(yàn)UPPAAL)的帶有制程變異MPSoC的任務(wù)調(diào)度建模與評估方法。
【背景技術(shù)】
[0002]隨著科技的高速發(fā)展,嵌入式系統(tǒng)正發(fā)揮著越來越重要的作用,近年來逐漸興起的片上系統(tǒng)(System-on-a-chip,SoC)便在嵌入式系統(tǒng)的領(lǐng)域內(nèi)得到了廣泛應(yīng)用。人們要求嵌入式設(shè)備有更多的功能、更高的性能,多核片上系統(tǒng)(MultiprocessorSystem-on-a-chip, MPSoC)由此產(chǎn)生。
[0003]制程變異(Process Variat1n)是在集成電路制造過程中晶體管屬性(長,寬,柵氧化層厚度等)自然發(fā)生的變化,在工藝節(jié)點(diǎn)小于65nm時,影響越發(fā)明顯。這也成為了集成電路芯片性能提升的瓶頸之一。即使是同一流水線生產(chǎn)出的產(chǎn)品,在參數(shù)上還會存在微小的偏差,而這些偏差將對MPSoC的性能與功耗產(chǎn)生顯著的影響,使得MPSoC的表現(xiàn)與預(yù)期不完全相符,從而進(jìn)一步導(dǎo)致行為的不可預(yù)測性。
[0004]任務(wù)分配與調(diào)度(TaskAllocat1n and Scheduling,TAS)是一個 NP 難問題。因?yàn)橹瞥套儺惖拇嬖跒镸PSoC的性能與功耗帶來較大的變化,在考慮到制程變異的因素時,傳統(tǒng)的用來產(chǎn)生可行解的最壞時間分析法已不再適用。對于MPSoC的設(shè)計(jì)者來說,很難決定在特定的約束條件下,哪種任務(wù)調(diào)度策略更好。為了保障調(diào)度算法的性能產(chǎn)出(Performance Yield),對任務(wù)調(diào)度算法的評估就成了一個重要的問題。
[0005]因此,構(gòu)建一套制程變異下MPSoC任務(wù)調(diào)度算法的評估方法,有利于MPSoC設(shè)計(jì)者們將眾多調(diào)度策略進(jìn)行對比,從而進(jìn)行評估以選擇適合的策略。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是為了彌補(bǔ)當(dāng)前考慮制程變異的多核片上系統(tǒng)中任務(wù)調(diào)度策略評估方面的空白,提供了一種制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法,實(shí)現(xiàn)了自動將任務(wù)調(diào)度策略轉(zhuǎn)換為模型的過程,并可以給出具有比較性的結(jié)果,從而實(shí)現(xiàn)對不同任務(wù)調(diào)度策略的評估與對比。
[0007]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法,包括以下步驟:
[0008]步驟一:根據(jù)任務(wù)調(diào)度策略,為任務(wù)集生成任務(wù)分配與調(diào)度實(shí)例;
[0009]步驟二:在考慮制程變異的前提下,對任務(wù)、PE和功耗進(jìn)行建模,形成任務(wù)模型、PE模型和功耗模型,并進(jìn)行模型的后臺配置,將所述任務(wù)分配與調(diào)度實(shí)例用已有的ListScheduling(列表調(diào)度)和BULB(分支裁剪)算法進(jìn)行模型轉(zhuǎn)換;
[0010]步驟三:通過隨機(jī)性模擬來實(shí)現(xiàn)約束查詢,并通過UPPAAL-SMC(靜態(tài)模型檢驗(yàn)UPPAAL)生成統(tǒng)計(jì)數(shù)據(jù),得出所述任務(wù)分配與調(diào)度實(shí)例的性能產(chǎn)出;
[0011]步驟四:對比同一 MPSoC架構(gòu)或不同MPSoC架構(gòu)下不同的所述任務(wù)調(diào)度策略生成的不同所述任務(wù)分配與調(diào)度實(shí)例的所述性能產(chǎn)出,評估所述任務(wù)調(diào)度策略,確定表現(xiàn)更優(yōu)的所述MPSoC架構(gòu)。
[0012]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述任務(wù)建模包括以下步驟:
[0013]步驟Al:運(yùn)行初始化函數(shù),對時間和功耗的制程變異進(jìn)行初始化;
[0014]步驟A2:若任務(wù)不存在前驅(qū)節(jié)點(diǎn),則執(zhí)行下一步;否則,等待接收到所述前驅(qū)節(jié)點(diǎn)的完成消息后,再執(zhí)行下一步;
[0015]步驟A3:根據(jù)所述后臺配置,將任務(wù)分配到相應(yīng)的PE ;
[0016]步驟A4:所述PE完成任務(wù)后,若沒有后續(xù)結(jié)點(diǎn),則結(jié)束運(yùn)行;否則,繼續(xù)運(yùn)行所述后續(xù)節(jié)點(diǎn)。
[0017]優(yōu)選地,本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述任務(wù)建模沒有對整個任務(wù)序列進(jìn)行建模,而是對所有的任務(wù)節(jié)點(diǎn)進(jìn)行了抽象與統(tǒng)一,對單一任務(wù)節(jié)點(diǎn)進(jìn)行建模,并根據(jù)前驅(qū)、后繼節(jié)點(diǎn)的配置情況,通過同步信號將不同的任務(wù)連接起來,按序執(zhí)行,每個任務(wù)負(fù)責(zé)與前驅(qū)、后繼節(jié)點(diǎn)的通信,以及對處理單元的分配,而任務(wù)完成的時間由所述PE模型進(jìn)行管理,初始節(jié)點(diǎn)根據(jù)讀取所述后臺配置中時間和功耗制程變異信息作為參數(shù),生成服從正態(tài)分布的隨機(jī)數(shù),對時間和功耗的制程變異進(jìn)行初始化。
[0018]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述PE建模包括以下步驟:
[0019]步驟B1:記錄要執(zhí)行的任務(wù)的信息,根據(jù)制程變異確定所述任務(wù)實(shí)際需要的執(zhí)行時間,并更新所述功耗模型的功耗信息;
[0020]步驟B2:等待所述執(zhí)行時間結(jié)束后,釋放所述功耗模型中所占用的功耗,并更新所述功耗信息。
[0021 ] 本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述PE模型中包括多個監(jiān)聽新任務(wù)消息的回路,有效地避免了所述PE模型接收不到新任務(wù)消息的情況,實(shí)現(xiàn)了功能上的完整和語義上的完善。
[0022]優(yōu)選地,本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述PE模型是對所有PE的抽象模型,通過所述后臺配置來控制PE的表現(xiàn),包括功耗、制程變異等。所述PE模型通過與所述任務(wù)模型和所述功耗模型間的通信,控制任務(wù)的執(zhí)行過程和功耗信息的更新。
[0023]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述功耗模型對功耗進(jìn)行監(jiān)控與維護(hù);所述功耗模型包括處理狀態(tài)和等待狀態(tài),并在所述處理狀態(tài)和所述等待狀態(tài)之間進(jìn)行切換,在切換的過程中監(jiān)聽功耗信號。
[0024]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述后臺配置包括=MPSoC的相關(guān)參數(shù)、設(shè)計(jì)約束、所述任務(wù)分配與調(diào)度實(shí)例的應(yīng)用背景和至少一個任務(wù)DAG。
[0025]優(yōu)選地,本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述后臺配置加入了時間和處理器功耗的制程變異的信息,作為框架的配置設(shè)定輸入。
[0026]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,所述約束查詢的形式如下:
[0027]Pr [< = X] (OTask(O).Finish&&max_power< = y);
[0028]式中,Task(O).Finish表示:整個任務(wù)有向無環(huán)圖的完成;max_power〈 = y表示:最大功耗不會超過y。
[0029]優(yōu)選地,本發(fā)明的基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法中,只要調(diào)度算法生成的結(jié)果包含任務(wù)id、開始時間、PE的id這三部分信息,框架即可將其轉(zhuǎn)換為可被模型識別的所述后臺配置,轉(zhuǎn)換工具使用轉(zhuǎn)換算法確定任務(wù)的先后關(guān)系后,將其寫入所述UPPAAL-SMC的后臺配置中。
[0030]優(yōu)選地,在約束查詢完成后,所述UPPAAL-SMC以圖表或數(shù)據(jù)的方式給出運(yùn)行的結(jié)果,通過改變查詢的內(nèi)容,多次運(yùn)行所述UPPAAL-SMC得出在不同的需求下,各所述任務(wù)分配與調(diào)度實(shí)例的表現(xiàn)情況,從而在任務(wù)分配與調(diào)度策略與MPSoC的架構(gòu)之間進(jìn)行選擇,以獲得最佳的組合。
[0031]本發(fā)明提出的制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法的有益效果如下:本發(fā)明可以準(zhǔn)確地反映任務(wù)分配與調(diào)度實(shí)例在工藝變動下的性能產(chǎn)出,幫助MPSoC設(shè)計(jì)時可以選擇適合的調(diào)度策略,或者根據(jù)調(diào)度策略對MPSoC的設(shè)計(jì)進(jìn)行調(diào)整。
【附圖說明】
[0032]圖1為本發(fā)明任務(wù)分配與調(diào)度策略評估框架圖。
[0033]圖2為本發(fā)明基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法的流程圖。
[0034]圖3為本發(fā)明中對任務(wù)建模的示意圖。
[0035]圖4為本發(fā)明中對PE建模的示意圖。
[0036]圖5為本發(fā)明中對功耗建模的示意圖。
【具體實(shí)施方式】
[0037]結(jié)合以下具體實(shí)施例和附圖,對本發(fā)明作進(jìn)一步的詳細(xì)說明。實(shí)施本發(fā)明的過程、條件、試驗(yàn)方法等,除以下專門提及的內(nèi)容之外,均為本領(lǐng)域的普遍知識和公知常識,本發(fā)明沒有特別限制內(nèi)容。
[0038]本發(fā)明提出了一種制程變異下基于UPPAAL-SMC的MPSoC任務(wù)調(diào)度建模與評估方法,