制程變異下溫度感知的MPSoC任務分配及調度策略的評估方法
【技術領域】
[0001]本發(fā)明涉及一種制程變異下MPSoC (多核片上系統(tǒng))任務分配及調度策略的評估方法,尤其涉及一種溫度感知的帶有制程變異的MPSoC任務分配及調度策略的評估方法。
【背景技術】
[0002]近年來,片上系統(tǒng)(System-on-a-chip,SoC)以其高集成度,體積小,低功耗的特點在嵌入式領域得到了廣泛的運用。而各個應用行業(yè)的不斷發(fā)展對嵌入式電子產(chǎn)品的功能和性能也提出了更高的要求,多核片上系統(tǒng)(Multiprocessor System-on-a-chip, MPSoC)由此而產(chǎn)生,成為了片上系統(tǒng)的發(fā)展趨勢。
[0003]隨著工藝的不斷進步,芯片單位面積上集成的晶體管數(shù)量也呈指數(shù)增長,這使得整個芯片的功耗劇烈增加,同時也帶來了芯片溫度過高的問題。高溫會使芯片的性能下降,加速芯片的老化,帶來許多問題,因此芯片的溫度及功耗控制成為了當前的研宄熱點。
[0004]制程變異(Process Variat1n)是集成電路在制造的過程中晶體管的屬性(長,寬,柵氧化層厚度等)自然發(fā)生的變化。當工藝發(fā)展到較小的節(jié)點(小于65nm)時,制程變異給芯片帶來的影響越發(fā)明顯,因此制程變異成為了集成電路芯片性能提升的瓶頸之一。即使是完全相同環(huán)境下生產(chǎn)出的MPSoC,在性能上也會存在著微小的差別,而過高的溫度會將MPSoC間的微小差別放大,對性能和功耗產(chǎn)生顯著的影響,被放大的不確定性會使得MPSoC的表現(xiàn)不符合設計者的預期,加大芯片設計者的設計難度。
[0005]在MPSoC的設計中,合理的任務分配與調度(Task Allocat1n and Scheduling,TAS)能夠在滿足設計約束(如響應時間,峰值溫度,能量消耗等)的條件下提升處理單元(Processing Elements, PEs)的利用率。然而,制程變異的存在使得MPSoC的設計約束并不能輕易達到,傳統(tǒng)的用來產(chǎn)生可行解的最壞時間分析法已不再適用。由于時間延遲、功率、溫度等相關變化帶來的復雜性,對于MPSoC的設計者來說,很難決定在特定的約束條件下,哪種任務調度策略更好。因此,為了保障調度算法的性能產(chǎn)出(Performance Yield),對不同任務分配以及調度策略進行定量分析評估和比較成為了重要的問題。
[0006]構建一套制程變異下溫度感知的MPSoC任務分配及調度策略的評估方法,能幫助MPSoC設計者們在芯片設計時作出正確的決策。
【發(fā)明內容】
[0007]本發(fā)明的目的是為了彌補當前在制程變異下考慮溫度影響的MPSoC任務分配和調度策略的評估方面的空白,提供了一種制程變異下溫度感知的MPSoC任務分配和調度策略的評估方法,實現(xiàn)了自動將任務分配及調度策略轉化為模型的過程,并可以給出對模型進行屬性查詢的結果,從而實現(xiàn)對制程變異下不同的任務分配及調度策略的評估選擇。
[0008]本發(fā)明的目的是這樣實現(xiàn)的:
一種制程變異下溫度感知的MPSoC任務分配及調度策略的評估方法,特點是該方法包括以下步驟:
步驟一:結合MPSoC平臺的設計信息,在不考慮制程變異信息的情況下根據(jù)任務分配和調度策略計算出所有可能的TAS映射解決方案并生成TAS映射實例;
步驟二:在考慮制程變異的前提下對任務、任務完成狀態(tài)、PE、功耗、溫度、熱點數(shù)及熱點時間進行建模,實現(xiàn)將功耗模型、溫度模型以及MPSoC平臺的制程變異信息的整合,并自動將TAS映射實例轉化成相應的可執(zhí)行NPTA模型;同時自動生成后臺配置,提供給各個模型訪問;
步驟三:將用戶給定的MPSoC設計約束轉化成屬性查詢語句,使用UPPAAL-SMC作為查詢引擎對NPTA模型進行隨機性模擬,生成統(tǒng)計結果數(shù)據(jù);
步驟四:分析統(tǒng)計結果數(shù)據(jù),評估當前任務分配和調度策略是否滿足設計約束,若滿足則從中選出最優(yōu)解,若不滿足則進行參數(shù)調優(yōu),修改任務分配方式和調度策略,找出最優(yōu)解;其中:
所述MPSoC平臺的設計信息包括帶任務執(zhí)行信息的任務圖DAG以及MPSoC的平臺規(guī)格信息;
所述TAS映射實例由改變任務與MPSoC平臺間的映射關系以及采用不同的調度策略生成。
[0009]所建的任務模型中所有任務擁有相同的行為模式;該模型會將整個NPTA模型的數(shù)據(jù)結構進行初始化,其中任務圖中的第一個任務會將與時間和功耗相關的PE的制程變異信息初始化;任務在“接收”狀態(tài)將接收該任務所有前驅節(jié)點的任務完成情況通知;當任務所有的前驅節(jié)點任務完成之后,模型將跳轉到“運行”狀態(tài),將任務發(fā)送到PE上并通知相應PE ;當任務完成之后,模型跳轉到“結束”狀態(tài),并通過“發(fā)送”狀態(tài)通知該任務的所有后繼節(jié)點該任務已經(jīng)完成。
[0010]所述對任務完成狀態(tài)進行建模是建立任務監(jiān)視器模型,任務監(jiān)視器模型用于監(jiān)控任務的執(zhí)行情況;根據(jù)DAG圖的語義,當某幾個特定的任務執(zhí)行完成時,判斷所有的任務都已完成;當所有任務完成時,任務監(jiān)視器模型向功耗模型、溫度模型等模型發(fā)送所有任務結束的通知。
[0011]所建PE模型中所有PE擁有相同的行為模式;每個PE維護一個任務隊列,按順序保存并執(zhí)行已經(jīng)就緒的任務;任務實際執(zhí)行時間與后臺配置中的制程變異信息有關,即服從后臺配置中的概率分布;所述PE模型通過同步信號向任務模型、功耗模型、溫度模型發(fā)送通知以更新各自的狀態(tài)。
[0012]所建功耗模型負責監(jiān)控整個系統(tǒng)的實時功率消耗,并計算累計的能量消耗;其中,功耗模型在“等待”狀態(tài)下更新系統(tǒng)功率,并根據(jù)當前功率計算系統(tǒng)的能量消耗情況。
[0013]所建溫度模型負責監(jiān)控PE的實時溫度,每個PE對應一個溫度模型;溫度模型根據(jù)PE的運行狀態(tài)調用后臺配置中的函數(shù)實時更新PE溫度。
[0014]所述對熱點數(shù)及熱點時間進行建模是建立熱點監(jiān)視器模型和熱點計時器模型,熱點監(jiān)視器模型和熱點計時器模型實現(xiàn)了熱點統(tǒng)計功能;熱點監(jiān)視器模型統(tǒng)計MPSoC的熱點數(shù)量;當超過溫度閥值的PE數(shù)量不為O時,即認為該MPSoC出現(xiàn)熱點;熱點計時器模型負責統(tǒng)計MPSoC出現(xiàn)熱點的時間。
[0015]所述后臺配置包括任務依賴關系矩陣、制程變異信息、溫度模型和功耗模型信息以及設計約束信息;所述后臺配置能夠被各個模型訪問。
[0016]所述屬性查詢使用了一種簡化TCTL(Timed Computat1n Tree Logic,即時間計算樹邏輯)查詢語言進行描述,具體形式如下:
Pr[<= X] (<>task_finish && energy <= e);
Pr [energy <= e] (〈> task_finish && time <=x && hotspot_time <= y);
式中,task_finish表示整個任務DAG的完成,time <= x表示響應時間不超過x,hotspot_time <= y表示熱點時間不超過y,energy <= e表示消耗的能量不超過e。本發(fā)明中X,y,e采用的值分別為70,75,10000。
[0017]所述參數(shù)調優(yōu)的具體實現(xiàn)方式為:通過修改任務與PE的映射關系或者修改MPSoC平臺規(guī)格得到不同的映射方案,使用UPPAAL-SMC進行屬性查詢后根據(jù)生成的結果對不同的映射方案進行評估,選擇滿足設計約束的任務分配方式;或者采用不同的調度策略,得到不同的TAS解決方案,對UPPAAL-SMC生成的結果進行分析,幫助MPSoC設計者選擇出滿足設計約束的最優(yōu)調度策略。
[0018]本發(fā)明的有益效果:可以準確地反映受溫度影響的任務分配與調度實例在