面向混合主存嵌入式系統的低能耗edf實時任務調度方法
【專利摘要】本發明公開了一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,本發明利用PCM非易失、低功耗、高性能的優點,結合動態EDF算法保證整個任務集的時性約束,從而降低了整個系統的功耗又不影響任務的時性約束;本發明所述方法包括步驟:1)將任務集T中的任務按照(Wpi-Wdi)/Nwi降序排列;2)初始化所有任務;3)根據任務集T的任務順序將任務逐個放入PCM中,如果任務集依然可調度,則標記該任務為P-task,且Ci=Wpi,直至任務集T中所有任務檢查完畢;4)系統開始執行任務;5)計算動態EDF算法分配給所有任務的“空閑時間”;6)動態EDF算法根據優先級對“空閑時間”進行分配;7)重復步驟6直至整個任務集T結束。
【專利說明】面向混合主存嵌入式系統的低能耗EDF實時任務調度方法
【技術領域】
[0001]本發明涉及實時嵌入式系統(Real-Time Embedded System)領域,尤其涉及一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法。
【背景技術】
[0002]嵌入式系統是一個面向某些特定應用的計算機系統。考慮到嵌入式系統的安全性和可靠性等因素,其應用通常具有實時性約束。近年來,嵌入式系統得到了迅速發展,各種智能設備悄然進入人們的生活。然而,隨著功能和應用變得越來越復雜,電池的使用壽命成為這些設備上的最大限制。研究表明,在現代嵌入式系統中,主存的能耗在整個系統能耗中所占的比例越來越大。因此,減少主存的能耗是延長電池可用時間的行之有效的方法,而如何減少主存系統的能耗是一個亟需解決的關鍵問題。
[0003]相變存儲器(Phase-change memory,PCM),由于其非易失、低功耗及高性能等特性引起了學術界和工業界的廣泛關注。與傳統主存DRAM相比,PCM擁有低能耗和非易失性的優點。盡管PCM與FLASH相比擁有較高的讀寫性能,然而與DRAM相比,依然具有較高的讀寫延時,特別是寫延時。同時,PCM具有寫次數限制,該特點大大限制了其使用壽命。
[0004]綜合PCM和DRAM的優缺點,學術界提出了基于PCM和DRAM的混合主存架構(Hybrid Main Memory Architecture),即利用DRAM獲得高性能(DRAM的低讀寫延時),同時利用PCM取得較大的能耗節省(PCM的低能耗)。
[0005]然而,混合主存系統的引入使得實時任務調度問題變得更加復雜:作為智能設備,應該提供較高的性能但同時消耗了較多的能量,而作為嵌入式系統,其應該最大化電池使用壽命但卻導致了任務的執行延時,甚至破壞了任務的實時性約束。因此,性能與能耗二者的權衡是一個需要解決的重要問題。
[0006]盡管近年來針對混合主存系統的研究較多,但是針對混合主存實時任務調度方面的研究較少。目前對混合主存系統的研究主要集中在操作系統的支持、變量與任務在不同主存介質中的分配、能量優化模型、主存控制器等方面。目前的研究只考慮了任務的分配而并未考慮任務的調度,只針對主存控制器優化而并未考慮具體的實時調度算法。因此,研究混合主存架構下的實時任務調度是一個值得研究的重要問題。
【發明內容】
[0007]為解決上述問題,本發明旨在針對混合主存嵌入式系統,提出一個任務的實時調度方法以最大程度地節省能耗,同時保證整個任務集的實時約束。在本發明所涉及到的混合存儲架構中,PCM和DRAM采取統一編址方式,CPU可對各個部分直接訪問。操作系統區分這兩部分地址空間,并對其進行管理。本發明提出的實時調度算法旨在操作系統層面保證混合主存系統的高性能和低能耗。本發明所采用的技術方案如下:
[0008]一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,包括以下步驟:
[0009]I)將任務集T中的任務按照(Wp1-Wdi) /Nwi降序排列,其中Wpi表示該任務在PCM中的最差情況執行時間,Wdi表示該任務在DRAM中的最差情況執行時間,Nwi表示該任務的執行過程中的寫次數;
[0010]2)初始化所有任務:將所有任務標記為D-task,且Ci = Wdi,其中Ci表示該任務的最差情況執行時間;
[0011 ] 3)根據任務集T的任務順序將任務逐個放入PCM中,如果任務集依然可調度,則標記該任務為P-task,且Ci = Wpi,直至任務集T中所有任務檢查完畢;
[0012]4)系統開始執行任務:其中D-task在DRAM中執行,P-task在PCM中執行;
[0013]5)計算動態EDF算法分配給所有任務的“空閑時間”;
[0014]6)根據EDF優先級排序,隊頭元素Ti擁有最小的deadl ine,表示為(Ii,動態EDF算法根據優先級將“空閑時間”的分配給即將執行的D-task任務實例,直至該任務結束;
[0015]7)重復步驟6直至整個任務集T結束。
[0016]所述步驟3中任務集可調度的充分必要條件為:
【權利要求】
1.一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,包括以下步驟: 1)將任務集T中的任務按照(Wp1-Wdi)/Nwi降序排列,其中Wpi表示該任務在PCM中的最差情況執行時間,Wdi表示該任務在DRAM中的最差情況執行時間,Nwi表示該任務的執行過程中的寫次數; 2)初始化所有任務:將所有任務標記為D-task,且Ci= Wdi,其中Ci表示該任務的最差情況執行時間; 3)根據任務集T的任務順序將任務逐個放入PCM中,如果任務集依然可調度,則標記該任務為Ci = Wpi,直至任務集T中所有任務檢查完畢; 4)系統開始執行任務:其中D-task在DRAM中執行,P-task在PCM中執行; 5)計算動態EDF算法分配給所有任務的“空閑時間”; 6)根據EDF優先級排序,隊頭元素Ti擁有最小的deadline,表示為(Ii,動態EDF算法根據優先級將“空閑時間”的分配給即將執行的D-task任務實例,直至該任務結束; 7)重復步驟6直至整個任務集T結束。
2.如權利要求1所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述 步驟3中任務集可調度的充分必要條件為:
其中Ci為任務Ti的最差情況執行時間,Pi為任務Ti的任務周期。
3.如權利要求1所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述步驟5中,“空閑時間”計算如下:
其中,(Ii表示任務Ti的deadline, dx為任務Tx的deadline, Cx表示任務Tx的最差情況執行時間。
4.如權利要求1所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述步驟6中當動態EDF算法將“空閑時間”分配給任務ti;數據結構Preempt-Queue為非空,此時動態EDF算法不進行空閑時間的重新分配。
5.如權利要求1所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述步驟6中如果空閑時間足夠將該D-task轉換為P-task,則將該任務放入PCM中執行,直至該任務結束。
6.如權利要求1所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述步驟6中如果空閑時間不足夠將該D-task轉換為P-task,則根據最大遷移數據量Si和數據在不同主存中的遷移速率計算遷移時間,假設遷移時間為HiigTimei,空閑時間為slack time,動態EDF算法將該任務放入PCM中執行的時間即slacktime-migTimei,如果在此時間內該任務未執行完,則將任務從PCM中遷移到DRAM中,直至該任務執行完。
7.如權利要求1所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述步驟6中當一個D-task任務被分配了額外的時間,但在其遷移過程發生之前被搶占,當任務從搶占中恢復的時候,動態EDF算法將會對該任務進行第二次時間分配,即當其從搶占中恢復時,由于搶占的任務可能會產生新的“空閑時間”,該部分時間可分配給該被搶占的任務。
8.如權利要求5所述的一種面向混合主存嵌入式系統的低能耗EDF實時任務調度方法,其特征是,所述步驟6中如果任務已經從PCM遷移回DRAM,則該任務會在DRAM中一直執行完,不會被分配額外時間。
【文檔編號】G06F9/46GK104182180SQ201410369550
【公開日】2014年12月3日 申請日期:2014年7月30日 優先權日:2014年7月30日
【發明者】賈智平, 張志勇, 鞠雷, 蔡曉軍 申請人:山東大學