動態電壓調節處理器上多幀即時工作省電排程
40
0
0
全文
(2) 動態電壓調節處理器上多幀 動態電壓調節處理器上多幀即時工作省電排程 多幀即時工作省電排程. 指導教授:郭錦福 博士 國立高雄大學資訊工程學系. 研究生:林豊鈞 國立高雄大學資訊工程學系碩士班. 1 摘要. 隨著數位無線多媒體的發展,嵌入式視訊編碼技術已被廣泛應用在 3C 產品, 在低成本與高效能的考慮之下。由於系統在播放 MPEG 影像時,一般使用者所 要求的效果是每秒能夠播放數張畫面(frame),觀看時才不會有延遲性,然而,因 為畫面資料的多寡與編碼將影響處理時間,如果以最長執行時間作可排程測試雖 然可以保證系統的服務質量(Quality of Service),但是卻可能讓系統有較高的消耗 電能,如何試圖降低總消耗電能,就變成需要解決的問題。本篇論文中,我們提 出一個基於 EDF 的即時排程演算法並建構在多幀任務模型中,並且我們利用動 態電壓調節(DVS)技術,提出考量消耗電能 EDF 排程演算法對多幀任務排程來降 低總電能消耗。最後以實驗的方式來此證實此方法並且得到不錯的結果。. 關鍵字: 關鍵字:即時系統、 即時系統、排程測試、 排程測試、多幀任務 多幀任務、 任務、電能消耗. i.
(3) Energy-Efficiency Scheduling Algorithm for Multiframe Real-Time Tasks in DVS Processor. Advisor: Dr. Chin-Fu Kuo Department of Science and Information Engineering National University of Kaohsiung. Student: Li-Jyun Lin Department of Science and Information Engineering National University of Kaohsiung. 2 ABSTRACT. An embedded system with a video decoder has become a new trend due to the applications of mobile multimedia and the consuming electronic products required in the life. For the considerations of low cost and high efficiency when the embedded system plays MPEG video, users require a proper quality of service. However, the amount of encoded data on each frame will affect the processing time. If the maximum execution times of tasks are used to do schedulability test, the quality of service of the system can be guaranteed. However, it will result in the higher energy consumption. It is an important issue to reduce total energy consumption. In this thesis, we propose an EDF-based real-time scheduling algorithm with considering energy consumption for the multiframe task model. A simulation model is built to investigate the performance of the proposed approach. The capability of the proposed approach is evaluated by a series of simulations, for which we have encouraging results. Keywords: Real-Time, Scheduling, Multiframe, Energy consumption. ii.
(4) 3 誌謝 首先最要感謝的是指導老師郭錦福教授,本論文才能夠順利的完成,在研究 所時光中,郭教授不吝惜經驗的傳承與不厭其煩指正論文上的缺失,以循序漸進 方式、由淺入深的手法朝著問題點著手,學會如何用十足勇氣去面對問題、用全 方的角度去分析問題、用最有效率方式去處理問題、最後以處之泰然態度放下問 題,不被成就感所左右而有所侷限,再接再厲挑戰下一道難題,彷彿時間的輪軸 再度重新轉動一圈又一圈,兩年來所有酸甜苦辣的回憶,似乎隨著鍵盤的敲打而 栩栩如生浮現在眼前,師生情感點滴在心頭,真的打從心底感謝您。另外,感謝 口試委員盧永豐教授以及潘欣泰教授誠懇的建議與溫馨的鼓勵,使得本論文得以 更加的完善。 在這兩年的研究所生活中,要感謝的人實在太多太多,那就感謝老天吧!由 衷感謝你們這兩年內的參與,雖然心中充滿著無限的感激與萬分的不捨,不過天 下沒有不散的筵席,分離是為了下次再見,再見是相聚的開始,而可貴的友情, 絕不會因為距離的長短而變質,好友們,深深期盼每一次的相聚,讓彼此寫下永 恆的回憶。 最後,感謝最敬愛的父母與姐姐們。在求學過程中,不管是在精神上的包容 還是實質上的支持,以及你們提供最寶貴的意見,使得我能夠無後顧之憂的專心 於學習上,謝謝您們不辭辛勞、無怨無悔地栽培,往後將會成為您們的驕傲. iii.
(5) 目錄 中文摘要. i. 英文摘要. ii. 致謝. iii. 1. 2. 3. 4. 4. 導論 1.1. 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.2. 研究動機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.3. 相關研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.4. 全文架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 任務模型與處理器模型. 8. 2.1. 任務模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.2. 處理器模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. 2.3. 問題定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. MF 任務省電排程演算法. 12. 3.1. EDF 可排程測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12. 3.2. 利用傳統 EDF 排程機制對 M F 任務排程 . . . . . . . . . . . . . . . . . . 14. 3.3. 利用考量消耗電能 EDF 排程演算法對 M F 任務排程 . . . . . . . . . . . . 16 20. 效能評估 4.1. 實驗相關設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.
(6) 4.2 5. 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21. 結論. 32. Bibliography. 34. 2.
(7) 圖目錄 3.1. 傳統 EDF 排程機制對 M F 任務排程 . . . . . . . . . . . . . . . . . . . . . 15. 3.2. 工作 jobj 的執行期間與下一個即將執行的 jobj+1 之抵達時間 rmin 的關係 19. 3.3. 利用改良式省電 EDF 機制對 MF 任務排程 . . . . . . . . . . . . . . . . . 19. 4.1. 在 5 種不同處理器頻率下,當任務個數為 9 時的消耗電能 . . . . . . . . . 22. 4.2. 在 5 種不同處理器頻率下,當任務個數為 9 時執行時間比例 . . . . . . . . 25. 4.3. 在 5 種不同處理器頻率下,當任務個數為 9 時工作超出截限時間比例 . . 26. 4.4. 在 5 種不同處理器頻率下,當任務個數為 7 時消耗電能 . . . . . . . . . . 27. 4.5. 在 5 種不同處理器頻率下,當任務個數為 7 時執行時間比例 . . . . . . . . 28. 4.6. 在 5 種不同處理器頻率下,當任務個數為 7 時工作超出截限時間比例 . . 29. 4.7. 在 4 種不同處理器頻率下,當任務個數為 9 時總消耗電能 . . . . . . . . . 30. 4.8. 在 4 種不同處理器頻率下,當任務個數為 9 時執行時間比例 . . . . . . . . 31. 3.
(8) 第一章 導論. 1.1 前言 隨著現今資訊的蓬勃發展,電腦已然成為人們生活中不可或缺的工具之一,尤其是 即時系統 (Real-Time System) 最重要的領域之ㄧ,在科技領域上扮演著舉足輕重的腳 色,不僅應用在交通工具、軍事領域、地震預警、醫療體制、導航系統,甚至在日常 生活處處可見的智慧型手機上,所造成無遠弗屆的影響力由此可見一斑。設計一個嵌 入式即時控制器系統是一個重要的議題 [10, 19],嵌入式系統具有多幀任務 (Mutiframe Task),如多媒體播放器、平板電腦、智慧型手機等。現今多媒體播放器,已經從以前 的 DVD 畫質進化到了 1080P 高畫質影音播放的規格,不僅呈現深邃的黑色色彩及絕 對精確的色彩,提供使用者最清楚、最銳利、最亮眼的影像。而平板電腦相較於筆記 型電腦優勢在於較省電、可當電話使用、輕薄、觸控面板設計,以及觀看影像或電子 書時比較方便,提供使用者更輕便的高性能。或者是生活中不可缺少的智慧型手機, 不僅僅是取代舊工具,其實也是在開發出更多新的隱藏需求,例如以前沒想過要邊通 勤邊看影片等相關應用上。. 4.
(9) 1.2 研究動機 近年來,由於行動多媒體的服務已經越來越普遍,政府不僅積極推動數位電視的 普及化之外,而且透過手機傳輸視訊的需求也逐漸增加,因此未來以行動裝置接收 數位化的電視與視訊通信將成為必然的趨勢。如 H.264(ISO/IEC MPEG-4) 是最新一 代的國際視訊碼標準 [20],H.264 不僅適用在視訊電話 (video telephone)、視訊會議 (video conference)、多媒體串流 (multimedia streaming)、數位電視 (digital television: DVD) 廣播、行動電視 (mobile TV) 和網路 (IP-TV) 等相關應用上,而且現今已發展 到畫質更好的視訊儲存,如 HDTV/HD DVD 等相關產品上。我們考慮到當系統在播 放 MPEG 影像時後,一般使用者所要求的最佳效果是播放時不能夠有所延遲,簡單來 說要要確保系統的服務質量 (Quality of Service),系統的服務質量與畫面資料的多寡和 編碼有極大關聯,如果以最長執行時間來作可排程測試雖然可以保證系統的服務質量, 可能造成系統有較高的消耗電能,因此本論文的主要研究議題是如何透過 EDF 排程演 算在可以排程任務上執行時,試圖降低系統執行任務的總消耗電能。當處理器頻率動 態調節時,如何確保在某一工作調降頻率之後,不會因執行時間的增加影響其他工作 超出截限時間 (miss deadline),就變成需要解決的問題。. 1.3 相關研究 我們為了上述模型並且達成節省消耗電能為目的,因此必須對深入探討三個相關 議題。第一個相關文獻是深入了解 M ultif rame 任務模型。M ultif rame(M F ) 任務模 型是 Mok and Chen 所首先提出的 [15, 16],而最原始模型 Generalized M ultif rame (GM F ) 任務是由 Liu and Layland 所設計 [18],此模型由三個不同元素組成的,這三 組元素全都是由一維陣列來表示,分別是執行時間與截限時間和最小間隔 (minimum separation),簡單說不同執行時間有不同截限時間,且不同執行時間之間有不同的最小 間隔,此模型相當複雜。M F 是 GM F 所延伸的,此模型主要截限時間與週期有其規 律性,並針對處理硬即時系統 hard real-time 週期性任務所設計出來的模型。 第二個相關文獻多幀任務模型架構在哪些即時系統排程演算法上。Wan-chen 等人. 5.
(10) 結合 Kuo 多幀任務排程測與 CB 函數導出一個新的多幀任務測試排程,透過 RM 排程 演算法作為測試,得到更好上限值且 CPU 效能有明顯的提升 [13]。Kuo 等人提出一套 結合離散 (off-line) 任務節能省電機制。 Kuo 等人提出一套基於 EDF 的離線 (off-line) 排程演算法,此演算法的基本原理是 在離現時,幫每一個任務的幀 (frame) 找出最適當的執行頻率並儲存,當任務執行時再 依據所紀錄之頻率資訊執行,可以使執行工作依據目前的幀狀況使用最適當的執行頻 率來獲得較低消耗電能 (Energy consumption)。時間複雜度都是 O(N 3 ), 為所有任務 之個別週期與它的幀個數乘積的最小公倍數期間裡所有的工作個數。深入探討電壓與 使用率上不同將導致消耗電能會呈現何種變化趨勢,並且成功地降低系統上的消耗電 能 [8]。本篇論文是提出基於 EDF 的線上 (on-line) 任務節能省電機制,透過動態電壓 調節 (DVS) 技術去處理週期性任務,當有工作即將被執行時,我們將試圖依據就緒佇 列與下一個即將抵達的工作時間來找出適合的執行頻率,且使用未被使用空間時間來 重新調整工作的執行頻率,由於每個工作要執行前將有可能測試所有處理器可運作之 頻率,因此時間複雜度為 O(k),k 為處理器可運作之頻率個數。 第三個相關文獻則是用以節省消耗電能的演算法。A.Chilambuchelvan 等人的論 文 [5] 提出針對單核心做修正的 DVS 演算法,該演算法在每個時間點都重新修正 截限時間,並重新修正當前使用率,再對執行中的工作做降速測試,相較於現存的 RT-DVS[17] 演算法有更好的節省消耗電能效果。由 D.P. Siewiorek 等人所提出的論文 [14] 指出處理器的單位時間功率 P 正比於處理器速度 s 的三次方 (P ∝ s3 ),而工作的 執行時間 c 與處理器速度 s 的倒數成正比 (c ∝ 1s ),又消耗電能 E 為功率對時間之積 ∫ 分值 (E = P (t)dt)。相較於本篇論文中,我們將提出線上 (on-line)M F 任務省電排程 演算法,使得任務所需之消耗電能與系統使用在工作執行的時間皆有不錯的表現,成 功地做到當降低消耗電能的同時不僅不會導致其他工作超出截限時間之後完成, 對於處 理器上的使用率也有整體性的提升,並且我們發現當極端總使用率來看系統已經呈現 超載 (over utilized) 狀況,然而實際上有效使用率卻小於 1,使得工作可以利用其他任 務工作未使用的時間來完成執行來達到彼此間的互補。. 6.
(11) 1.4 全文架構 本章介紹了即時系統排程以及應用在哪些相關文獻上;第二章將介紹任務模型與處 理器模型以及我們要解決的問題;第三章將 M F 模型架構在 EDF 演算法上並且透過 DVS 技術,提出更佳的演算法來降低消耗電能;第四章討將介紹實驗相關設定以及探 討實驗數據與分析結果;第五章將得出結論並探討未來可發展的研究方向。. 7.
(12) 第二章 任務模型與處理器模型. 2.1 任務模型 在 MPEG 影像編碼應用裡,依據其編碼標準,畫面 (frame) 可以分成三種:(1)I-畫 面、(2)B-畫面、和 (3)P-畫面。I-畫面的資料量比 B-畫面和 P-畫面大,而且會有出現 的循環規則,例如 IBBPBBPIBBPBBP...。如果在可排程測試上,每種畫面的處理時間 都是以最差情況的執行時間 (worst-case execution time) 為基準,將會導致過於保守。 此外,當處理器在執行這類應用程式時,如果能夠適當的採用動態電壓/頻率調整機制 來應用已分配給工作卻未能完全使用的執行時間,將可減少耗電量。像這一類的任務, 被稱之為 M ultif rame(M F ) 任務模型,是由 Mok 和 Chen 最先提出 [15, 16],而 M F 任務為硬即時 (hard real-time) 週期性任務所延伸出來的一般性模型。 Definition 2.1.1 ( M F 任務 [16]). M F 任務 T ={τ0 ,τ1 ,...τn−1 },代表 T 共有 n 個週 期性的任務。每一項任務 (task)τi (i=0,...,n − 1) 由兩組不同欄位表示 (Γi ,pi ),其中 Ni−1. Γi =(c0i ,c1i ...ci. ) 是一維陣列的執行時間,並且必須符合 Ni ≥ 1,Ni 代表執行時間的. 個數 (f rame numbers),以數學式表示 Γi ̸= ∅,Γi 至少有一個執行時間,任務的工作 將會以 Γi 中執行時間序列循環。pi 表示 τi 的週期,τi 的第 j 個使用率 (Utilization) 為 uj−1 =c(j−1)modNi /pi 並且必須符合 j ≥ 1。 i Example 1 M F 任務集合 T ={τ0 =((1),3), τ1 =((1,2),4)} 共有兩個任務 τ0 與 τ1 。T 中 8.
(13) τ0 只有 1 個 1 個單位執行時間以及週期 (period) 為 3 個單位時間。而 τ1 有 2 個不同 的執行時間,分別為 1 個單位時間以及 2 個單位時間,週期為 4 個單位時間。τ0 使用 率 u00 為 31 ; 而 τ1 使用率 u01 與 u11 分別為 14 、 12 。 Definition 2.1.2 ( 最短格式 (T he shortest f orm)[16]). 從反應時間 (response time) 分 析點看來,一個 M F 任務執行時,其執行的行為重複子序列,組成子序列是相同的, 作為原始序列的行為。 例如,在 Example 1中的任務 τ1 執行相同的執行時間序列 1,2,1,2,1,2,1,2,1,2....,一 直重複最短子序列 (1,2),最短的子序列 (1,2) 被稱為最短格式。 Definition 2.1.3 (極 端 執 行 時 間 T he peak execution time[16]). 假 設 M F 任 務 集 合 Ni−1. T ={τ0 ,τ1 ...τn−1 }, τi = ((c0i , c1i , ..., ci. ), pi ) 並且必須符合 0 ≤ i ≤ n − 1。則任務 τi 的最. 大執行時間 cmax 是從所有高執行時間中挑選最大者, i cmax = max0≤j≤Ni−1 {cji } i. (2.1). 例如,在 Example 1任務集合 T 中 τ1 擁有極端執行時間為 2 個單位時間。 Definition 2.1.4 (極 端 總 使 用 率 (T otal peak utilization)[16]). 假 設 M F 任 務 集 合 Ni−1. T ={τ0 ,τ1 ...τn−1 }, τi = ((c0i , c1i , ..., ci. ), pi ) 並且必須符合 0 ≤ i ≤ n − 1。極端總使用率. U (T ) 為各個任務 τi 中極端使用率的總和,. U (T ) =. n−1 max ∑ c i. i=0. (2.2). pi. 例如,在 Example 1中 τ0 與 τ1 的極端使用率分別為. 1 3. 與 12 ,U (T ) = 56 。. Definition 2.1.5 (有 效 使 用 率 (Ef f ective U tilization)). 假 設 M F 任 務 集 合 T ={τ0 i−1 ), pi ) 並且必須符合 0 ≤ i ≤ n − 1。有效使用率被定義為 τ1 ...τn−1 }, τi = (c0i , c1i , ..., cN i. 9.
(14) U (T )。 U (T ) =. n−1 ∑ i=0. ∑N i−1 j=0. cji. N i−1. (2.3). pi. 例如,在 Example 1中 τ0 與 τ1 的效使用率分別為. 1 3. 與 83 ,我們得知 U (T )= 17 24. 2.2 處理器模型 在本論文研究中,我們假設系統所採用的處理器具有動態調整執行頻率的能力,且 僅有 m 個不同的離散頻率範圍,F 表示正規化執行頻率集合 F = {fi |0 ≤ i ≤ m − 1}, 且 f0 = fmin 與 fm−1 = fmax 。fmin > 0 表示頻率最小值一定大於零,fmax =1 表示頻率 最大值不會超過 1,在不失ㄧ般性下,fi < fj ,表示 i < j。由於在 A.J. Smith 等人所 提出的論文 [12] 中提到消耗電能 E 正比於電壓 V 的平方 (E ∝ V 2 ),且速度 S 正比於 電壓 V(S ∝ V ),故消耗電能 E 也正比於速度 S 的的平方 (E ∝ S 2 ),而 J.R. Lorch 等 人所提出論文 [11] 提到頻率正比於電壓 (f ∝ V ),故消耗電能 E 也正比於頻率 f 的的 平方 (E ∝ f 2 ),後續之動態調節的討論,將全部以頻率為主。另外,處理器不具有關 閉之功能,在未執行任務的情況下,處理器將會以最低頻率運行,在任何一個工作執 行時之速度均可在任意的時間點作切換,因為切換的成本過低,所以不列入考量。處 理器在頻率 f 運作下的功率函式 (power consumption) 如下 [4]:. P (f ) = α + βf 3. (2.4). 2.3 問題定義 由於系統在播放 MPEG 影像時,一般使用者所要求的效果是每秒能夠播放數張畫 面 (frame),觀看時才不會有延遲性,然而,因為畫面資料的多寡與編碼將影響處理 時間,如果以最長執行時間來作可排程測試雖然可以保證系統的服務質量 (Quality of Service),但是卻可能讓系統有較高的消耗電能,因此本論文的研究議題是如何在 EDF 排程演算可以排程的任務在執行時,試圖降低系統執行任務的總消耗電能。我們將利. 10.
(15) 用已分配給工作,但是它卻沒有使用到的時間來降低之後要執行的工作所運作的處理 器頻率,當處理器頻率動態調降時,執行時間勢必增加,如何確保在某一工作調降頻 率之後,不會因執行時間的增加影響其他工作超出截限時間 (miss deadline),就變成需 要解決的問題。. 11.
(16) 第三章 MF 任務省電排程演算法 本章節要探討在單核心系統上,應該如何改善 M F 任務的省電排程問題,我們提 出了考量消耗電能 EDF(Energy-Efficient EDF) 演算法。首先,我們將採用傳統 EDF 演算法的可排程測試判斷所要執行的 M F 任務是否可以利用 EDF 排程,不會有工作 無法在截限時間之前完成,如果通過測試,即代表可利用傳統 EDF 排程機制來達到能 夠在截限時間完成任何工作的要求。 然而,由於 M F 任務的可排程測試是以最長執行時間 (worst-case execution time) 來當作可排程測試的依據,當任務的某次工作不需以最長執行時間來執行時,將會有 剩餘未使用的執行時間 (slack time),所以如果所有任務的極端使用率總和 (total peak utilization) 為 1 時,並不代表處理器時時刻刻皆有工作在使用,在這種情況下的有效 使用率 (effective utilization) 是小於 1,因此,我們將提出動態改良式的考量消耗電能 EDF(Energy-Efficient EDF) 演算法讓系統能夠回收使用這些原分配給工作但卻未被使 用的執行時間,利用將這些時間用來降低工作的執行頻率,間接降低任務執行的總消 耗電能 (energy consumption)。. 3.1 EDF 可排程測試 本節中主要介紹即時系統動態優先權排程 (Earliest Deadline First Scheduling) 是相 當著名的排程演算法。EDF 排程演算法顧名思義,就是越靠近截止時間 (deadline) 執. 12.
(17) 行的工作,則相對的優先權 (priority) 就越高 [2, 1],是單核心處理器最佳的排程演算 法之一 [9]。根據 EDF 定義只有當工作執行完成之後,優先權才需要調整,因此 EDF 是一個動態優先權排程演算法。當任務的週期等於截限時間時,我們可以用下不等式 來判斷未來欲執行 M F 任務群組之工作是否能夠滿足皆在截限時間之前完成的要求 [15, 16]: n−1 ∑ ci max i=0. pi. ≤1. (3.1). 其中 cmax 為任務 τi 的最長執行時間,pi 為 τi 的週期。 i RM 排程演算法 (Rate-Monotonic Scheduling) 方法是假設所有的任務都是週期性 的,並且任務的主要特性在執行之前都已確定,其中 EDF 排程演算法也是如此,即預 先了解任務工作中在最壞情形下的執行時間和週期 (Period)[3, 9]。根據速度來設定固 定的優先權,速度指的是一個任務中週期的倒數,也是屬於任務工作中出現得頻率, 它是一個定值,根據 Rate-Monotonic Algorithm,任務中的速度越高,優先權是成正比 關係,換句話說,任務工作中週期越小,優先權就越高。對於同一組任務工作中來說, 優先權並不會有所改變,所以 RM 排程演算法為固定優先權排程演算法。我們可以發 現 RM 的排程是根據週期的大小來決定優先權,越小者優先權越高而 EDF 排程演算 法需要以工作的截限時間來決定優先權,必須重新更新優先權和更新任務,除此之外, 演算法排程要正常的工作,還需要注意以下條件。假設在 Embedded Real-time System 環境下,使用一個參數來判斷 EDF 和 RM 是否可以排程。首先我們先定義兩個名詞: (1) 使用率 (ui )(2) 負載率 (W )。(1) 使用率 (utilization):ui = pcii ,i 表示每一個任務的 ∑ ci 編號。(2) 負載率 (workload):W , n−1 i=0 pi 表示負載率,ci 表示每個任務的最大執行時 間,但是實際上每一個任務不一定是最大執行時間。負載率符合下列兩點則可以排程, 若是不滿足則不保證可以排程 [9]. EDF : W ≤ 1. 1. RM : W ≤ n(2 n − 1). 13. (3.2). (3.3).
(18) 其中 n 代表任務個數,從式子 3.3中,我們發現當任務個數越多時,負載率也隨之 下降,當任務個數 n 為發散時,可以算出 RM 的使用率不超過 0.69,換之而言 RM 排 程演算法中負載率範圍在 0.69 之內,都可以保證其可排程性,但是相對於 EDF 排程 演算法,可以得知 EDF 可排程性能力較佳,所以本論文所探討的都是基於 EDF 技術 上。. 3.2 利用傳統 EDF 排程機制對 M F 任務排程 演算法 1 : 傳統 EDF 排程機制 Input: ({τ0 , τ1 , .., τn−1 }) Output: 任務在週期與執行時間個數乘積之最小公倍數時間裡所需的總耗電量 1: 令 LCM 為所有任務的週期與執行時間個數乘積的最小公倍數,LCM = lcm{p0 ∗ N0 , p1 ∗ N1 , .., pn−1 ∗ Nn−1 }。 2: 令目前時間 clock 為 0 3: 令截至目前為止的總耗電量 E 為 0 4: while clock < LCM do 5: 檢查目前時間是否為任務的工作抵達時間。若是,則將任務 τi 的工作 jobj 加入系統的 ⌊. 就緒佇列 (ready queue) 中,並以 ci ⌊. 6: 7: 8:. 9: 10: 11: 12:. 13: 14:. clock−P hasei ⌋ pi. clock−P hasei ⌋ pi. mod Ni. 來設定工作 jobj 的剩餘執行時間. mod Ni. crem ,crem = ci j j 從就緒佇列中找到絕對截限時間離目前時間點最近的工作 jobk if jobk 的剩餘執行時間 crem > 0 then k 處理器以最高頻率 fmax = 1 執行此工作一個單位時間,工作剩餘執行時間 crem = k rem ck − 1,將處理器在最高頻率 fmax 之下的單位時間的耗電量 emax 加入算總耗電量 中,E = E + emax 。 if crem == 0 then k 將工作 jobk 從就緒佇列中移除 else 代表處理器在此單位時間是閒置的,沒有工作可以執行,處理器以最低頻率 fmin 執行 一單位時間,將處理器在最低頻率 fmin 之下的單位時間的耗電量 emin 加入算總耗電 量中,E = E + emin 。 clock++; 回傳總耗電量 E. 利用傳統 EDF 排程機制來排程 M F 任務,和排程傳統週期性任務的差別在於後者 的工作的執行時間固定,而前者每次皆有可能不同大小,傳統 EDF 排程機制並未考慮 到這點。演算法的虛擬程式碼 (pseudo code) 如演算法 1所示。因為 M F 任務會出現循 環的週期是任務的週期與與相對執行時間個數乘積的最小公倍數 LCM ,我們稱此值為 M F 任務的循環週期,LCM = lcm{p0 ∗ N0 , p1 ∗ N1 , .., pn−1 ∗ Nn−1 }。我們假設所有工 14.
(19) 作皆以最高頻率 fmax = 1 執行,完全沒考慮到使用 DVS 機制來降低執行頻率。在任 務 τi 之工作 jobj 抵達系統時,將此工作加入系統的就緒佇列 (ready queue),並設定 ⌊. jobj 的未來要執行的時間 crem = ci j. clock−P hasei ⌋ pi. mod Ni. ,P hasei 為任務 τi 的第一個工作. 抵達時間點。EDF 排程演算法設定截限時間離目前時間最近之工作最高優權執行,但 是當執行就緒佇列中並任何的工作時,代表處理器將會閒置,因此將以最低頻率 fmin 度過這個單位時間,處理器截至目前為止所消耗之電能 E=E+ emin ,emin 為最低頻率 下之處理器單位時間耗電量。否則,讓擁有最高優先權的工作 jobk 以最高頻率 fmax = 執行一個單位時間,並記錄工作剩餘執行時間 crem k. crem k f max. − 1,處理器截至目前為止所. 消耗之電能 E=E+ emax ,emax 為最高頻率下之理器單位時間耗電量。直到此 M F 任 務的循環週期結束為止,我們可藉此知道此任務的總消耗電能。由 D.P. Siewiorek 等人 與 J.R. Lorch 等人所提出的論文 [14, 11] 指出處理器的單位時間功率 P 正比於處理器 頻率 f 的三次方 (P ∝ f 3 ),工作的執行時間 c 與處理器頻率 f 的倒數成正比 (c ∝. P ∝ f3. 1 f. )。. (3.4). 我們將延用 Example 1來說明傳統 EDF 排程機制如何對 M F 任務做排程,在 M F 任務集合 T ={τ0 =((1),3), τ1 =((1,2),4)},我們假設每個任務的第一個工作的抵達時間 皆為 0,M F 任務集合的循環週期為 24。在循環週期中的工作執行甘特圖如圖 3.1,其 中處理器有被工作使用去執行的時間為 17 個單位時間,而有 7 個單位時間未被工作所 使用,這代表我們可能可以利用這些未被使用時間去動態調整工作的執行頻率,藉此 降低消耗電能去調整,在是下一節中我們將提出考量消耗電能 EDF 排程機制達到此目 的。 τ=((1),3) 0 0. 3. 6. 9. 12. 15. 18. 21. 24. τ=((1,2),4) 1 0. 4. 12. 8. 16. 20. 圖 3.1: 傳統 EDF 排程機制對 M F 任務排程. 15. 24.
(20) 3.3 利用考量消耗電能 EDF 排程演算法對 M F 任務排程 此節利用動態頻率調整方式改善 EDF 排程演算法對 M F 任務的執行,目的在於使 得總消耗電能 (energy consumption) 下降的效果。考量消耗電能 EDF 排程機制演算法 的虛擬程式碼 (pseudo code) 如演算法 2所示。其內容與演算法 1相似,主要差異在演 算法 2中的第 9-10 行,我們需要將使用未被使用的空閒時間來重新調整工作的執行頻 率,將相關參數給予演算法 3 來計算新的執行頻率。 演算法 2 : 考量消耗電能之 EDF 排程機制 Input: 15: ({τ0 , τ1 , .., τn−1 }) Output: 任務在週期與執行時間個數乘積之最小公倍數時間裡的總耗電量 1: 令 LCM 為所有任務的週期與執行時間個數乘積的最小公倍數,LCM = lcm{p0 ∗ N0 , p1 ∗ N1 , .., pn−1 ∗ Nn−1 }。 2: 令目前時間 clock 為 0 3: 令截至目前總消耗電能 E 為 0 4: 令 f ∗ 為欲執行之工作的新執行頻率 5: while clock < LCM do 6: 檢查目前時間是否為任務的工作抵達時間。若是,則將任務 τi 的工作 jobj 加入系統的 ⌊. 就緒序列 (ready queue) 中,並以 cj ⌊. 7: 8: 9: 10: 11: 12: 13: 14:. 15: 16: 17: 18:. clock−P hasei ⌋ pi. clock−P hasei ⌋ pi. mod Ni. 來設定工作 jobj 的剩餘執行時間. mod Ni. crem ,crem = cj j j 從就緒序列中找到絕對截限時間離目前時間點最近的工作 jobk if 就緒序列中僅有將被執行的這個工作 then 將目前時間點 clock、jobk 的剩餘執行時間、絕對截限時間、與所有任務之週期和第一 次產生執行需求的時間點傳給演算法 3,以所回傳的新執行頻率來設定 f ∗ crem 處理器以頻率 f ∗ 執行此工作一個單位時間,工作剩餘執行時間 crem = kf ∗ − 1,將處 k 理器在此頻率 f ∗ 之下的單位時間的消耗電能 e∗ 加入算總消耗電能中,E = E + e∗ 。 if crem == 0 then k 將工作 jobk 從就緒序列中移除 else if 就緒佇列無工作 then 代表處理器在此單位時間是閒置的,沒有工作可以執行,處理器以最低頻率 fmin 執行 一單位時間,將處理器在最低頻率 fmin 之下的單位時間的消耗電能 emin 加入算總消 耗電能中,E = E + emin 。 else 不做任何事情 clock++; 回傳總消耗電能 E. 當我們利用未被使用時間對工作做降頻執行時,將會衍發生出一些問題,因為工作 以較低頻率執行將會延長執行時間,除可能導致工作本身可能無法在截限時間之前完 成外,還可能擠壓到未來其他工作的執行,使其無法在截限時間之前完成執行。我們 16.
(21) 可以利用在執行此工作 jobj 後最近的下一個將要執行的工作 jobj+1 之抵達時間 rmin 與 jobj 之間的關係作探討,這兩個工作間的關係有以下三種狀況:(1) 工作 jobj+1 已 在就續佇列中,jobj+1 在還沒開始執行 jobi 之前就已抵達,(2) 工作 jobj+1 將在 jobj 以最高頻率執行期間抵達,(3) 工作 jobj+1 將在 jobj 以最高頻率執行 完畢 之後抵達, (4) 工作 jobj+1 將在 jobj 截限時間之後抵達。相關之可能性圖示可參考圖 3.2所示。針 對狀況 (1) 與 (2),如圖 3.2(a) 所示,時間點 a 和 b 是工作 jobj 的開始執行時間與在 最高頻率下執行結束時間,dj 為 jobj 絕對截限時間,我們為避免影響工作 jobj+1 的執 行,因此將不會試圖去降低工作 jobj 的執行頻率。在狀況 (3) 時,如圖 3.2(b) 所示, 代表在工作 jobj 以最高頻率下執行完後到工作 jobj+1 抵達時間前的這段時間系統將會 是閒置的,因此可以用來作降頻,工作 jobj 的理想執行頻率 f 可以利用以下式子求 得: f=. crem j rmin − clock. (3.5). clock 為目前時間。在狀況 (4) 時,如圖 3.2(c) 所示,代表在工作 jobj 在截限時間之前 皆不有其他工作抵達,所以可以用來作降頻,工作 jobj 可以使用理想頻率 f 可以利用 以下式子求得: crem j f= dj − clock. (3.6). 我們需要強調的是式子 3.5與 3.6的結果是理想頻率,但是由於處理器的執行頻率可能 為離散式,因此需要再利用 f 來找到處理器可用頻率中最接近 f 且大於等於 f 的頻 率。我們所提出基於 EDF 的線上 (on-line) 任務節能省電機制,是當有工作即將被執 行時,我們將試圖依據就緒佇列中找出適合的執行頻率且使用未被使用空間時間來重 新調整工作的執行頻率,從演算法 3程式中,得知每個工作要執行前將有可能測試所有 處理器可運作之頻率,因此時間複雜度為 O(k),k 為處理器可運作之頻率個數。 Example 2 : 延用 Example 1 並假設處理器有兩種不同的頻率 (1 與 0.5) 可選擇,如圖 3.3,我們發現原本有 7 個單位閒置時間,經由考量消耗電能 EDF 演算法動態頻率調 整使得原本執行時間由 17 個單位時間增長為 23 個單位時間,圖中黑色部分表示調頻 後所增長的執行時間,而在時間軸 11 至 12 單位時會呈現未使用之執行時間,是因為 所找出的頻率是最接近理想最佳速度且要大於等於理想最佳速度的處裡器速度。 17.
(22) 演算法 3 : 設定工作的執行頻率 Input: (目 前 時 間 點 clock、 jobj 的 剩 餘 執 行 時 間 crem 、 與 絕 對 截 限 時 間 dj , 所 有 任 務 j {τ0 , .., τn−1 ) Output: jobj 的新執行頻率 1: 令 R = {r0 , r1 , .., rn−1 } 為每個任務 τi 離目前時間點 clock 最近的下一個工作抵達時間點 2: for i = 0 到 n − 1 do 3: 利用以下式子計算任務 τi 離目前時間點 clock 最近的下一個工作抵達時間點,ri = hasei ⌋ ∗ pi + pi ,P hasei 為 τi 在系統中第一個工作抵達的時間點,pi 為 P hasei + ⌊ clock−P pi 其週期。 4: 令 rmin 為 R 中最小的時間點 5: for x = 0 到 krem − 1 do c 6: if clock + jfx ≤ dj then 7: f = fx 8: 離開 for 迴圈 9: 依序從最低 f 找出工作 jobj 中的理想執行頻率 10: if dj ≤ rmin then crem. j 11: f = dj −clock 12: else crem 13: f = rminj−clock 14: if f ≥ 1 then 15: 回傳執行頻率 fmax 16: else 17: 回傳處理器的可使用頻率中最接近 f 且大於等於 f 的頻率. 18.
(23) rmin. 執 行 速 度. job j b. a. 時間軸. dj. (a) 工作 jobj+1 將在 jobj 以最高頻率執行期間抵達 rmin. 執 行 速 度. job Jjj a. b. 時間軸. dj. (b) 工作 jobj+1 將在 jobj 以最高頻率執行完畢之後抵達 rmin. 執 行 速 度. job j a. b. 時間軸. dj. (c) 工作 jobj+1 將在 jobj 截限時間之後抵達 圖 3.2: 工作 jobj 的執行期間與下一個即將執行的 jobj+1 之抵達時間 rmin 的關係. τ=((1),3) 0. f=1 f=0.5. 0. τ=((1,2),4) 1. 3. 6. 9. 12. 15. 18. 21. 24. f=1 f=0.5. 0. 4. 12. 8. 16. 20. 圖 3.3: 利用改良式省電 EDF 機制對 MF 任務排程. 19. 24.
(24) 第四章 效能評估 在本章中,我們首先將說明實驗的相關設定,之後將探討實驗結果。. 4.1 實驗相關設定 在本節中,我們將說明實驗的相關設定,為了能夠驗證我們所提出的改良式省電 EDF 效能,我們設計了一套模擬實驗,而比較的對象是傳統的 EDF 排程機制,每個 實驗結果時 100 組的實驗平均值。關於實驗中的處理器的可執行頻率設定,我們有兩 組不同的頻率設定,相關可執行頻率都以正規化,第一組:提供 5 種不同頻率上的變 化,分別是 0.15、0.4、0.6、0.8、和 1.0[7]。第二組:提供 4 種不同頻率上的變化,分 別是 0.5、0.75、0.83、和 1.0[6]。而處理器的耗能電能公式近似值 P (f ) = 0.08 + 1.52f 3 瓦特 (watt)[4]。此外,在實驗中,每組實驗任務群組中的每個 M F 任務的執行時間個 數 (frames) 固定為 2、3、和 4。而每組任務群組中的工作個數則為 2 至 9。週期為 50 到 100 的隨機正整數。為了能夠觀察到任務的當極端總使用率超過 1 時,相關演算法 的效能呈現,因此我們實驗任務組的極端總使用率設定從 0.1 到 1.5。 實驗的評估準則是任務群組總消耗電能與執行時間比例。所謂總消耗電能為傳統 EDF 排程演算法或是考量有效消耗電能 EDF(改良式省電 EDF) 排程演算法在任務模 擬執行時間過程中的總消耗電能。而執行時間比例為傳統 EDF 排程演算法或是考量有 效消耗電能 EDF(改良式省電 EDF) 排程演算法在任務模擬執行過程中處理器實際用. 20.
(25) 在執行任務之工作的所有時間總和除以系統運作時間,如果處理器在某個時段並無執 行工作,則不列入計算。. 4.2 實驗結果 圖 4.1為第一組處理器頻率 (5 個使用頻率) 設定的消耗電能實驗數據結果,圖 4.1(a)、圖 4.1(b)、和圖 4.1(c) 為在 9 個任務時,當任務不同執行時間個數下的消耗電 能數據,每個任務的執行時間個數分別 2、3、和 4。每張圖的 X 軸代表任務的極端總 使用率,Y 軸代表消耗電能。從圖中我們可以發現以下現象,不管是傳統的 EDF 排程 演算法或是我們所提出的考量消耗電能 EDF 排程演算法,在任何任務執行時間個數下 (也就是 2、3、和 4),可以發現極端總使用率越高則消耗電能越高,原因是當任務所分 配到的使用率遞增時,代表任務在單位時間內所需的執行的時間也大幅提升,所以當 使用率越高隨著總執行時間也隨之遞增導致總消耗電能跟著提高。而考量消耗電能的 EDF 演算法在任務極端總使用率遞增時,由 0.1 到 0.6,任務所使用的總消耗電能逐漸 和傳統的 EDF 的總消耗電能差距越來越大,表示改善程度也越來越大。原因是當總使 用率較低時,個別的任務所分配到的使用率相對較低,在週期內所需的執行時間也相 對較短,當工作要被執行時,就續佇列中很有可能只有該工作等待執行,導致可以充 分利用閒置時間,考量消耗電能的 EDF 演算法僅能選擇系統所提供最低頻率,然而系 統還會有未使用之執行時間,隨著使用率遞增,可以閒置時間會慢慢縮短,當任務總 使用率為 0.6 時,工作在執行時盡量利用最低頻率執行。但是當總使用率由 0.7 到 1.2 時,兩者之間的差異則越來越小。原因是當總使用率比較高時,個別的任務所分配到 的使用率相對較高,在週期內所需的執行時間也相對較長,導致閒置時間相對較短, 甚至由於就緒佇列中都有多個等待執行的工作機率提高,考量消耗電能的 EDF 演算法 將較難調整工作的執行頻率此外,比較圖 4.1(a)、圖 4.1(b)、和圖 4.1(c),可以發現傳 統的 EDF 排程演算法或是我們所提出的考量消耗電能 EDF 排程演算法在極端總使用 率一樣時,執行時間個數越多,則消耗電能將越低,這是因為執行時間個數越多會讓 任務的有效使用率相對變小,所以實際上處理器的負載變得較輕。 圖 4.2為第一組處理器頻率設定的處理器運用在執行工作的時間比例數據,圖. 21.
(26) 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 1. 1.1. 1.2. 1. 1.1. 1.2. 極端總使用率. (a) 2 個不同執行時間 (frames) 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 極端總使用率. (b) 3 個不同執行時間 (frames) 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 極端總使用率. (c) 4 個不同執行時間 (frames) 圖 4.1: 在 5 種不同處理器頻率下,當任務個數為 9 時的消耗電能 22.
(27) 4.2(a)、圖 4.2(b)、和圖 4.2(c) 為在 9 個任務時,當每個任務不同執行時間個數下的實 驗結果,執行時間個數分別 2、3、和 4。每張圖的 X 軸代表任務的極端總使用率,Y 軸代表被使用的執行時間比例。從圖中我們可以發現以下現象,不管是傳統的 EDF 或 是我們所提出的考量消耗電能的 EDF 演算法,在任何任務執行時間個數下 (也就是 2、 3、和 4),可以發現極端總使用率越高,則被使用的執行時間比例也越高,原因是當任 務所分配到的使用率增加時,代表任務在週期內所需的執行的時間也大幅提升,所以 當使用率越高隨著總執行時間也隨之遞增導致總執行時間跟著提高。而考量消耗電能 的 EDF 排程演算法在任務極端總使用率慢慢遞增時,由 0.1 到 0.4,任務所使用的執 行時間比例逐漸和傳統的 EDF 的執行時間比例差距越來越大,但是當總極端使用率由 0.5 到 1.2 時,兩者之間的差距則越來越小,其理由和上述之消耗電能變化原因相同。 和圖 4.1比較,可以發現消耗電能在任務總使用率為 0.6 時改善幅度 (和傳統 EDF 排程 演算法之間的差異) 最大,而執行時間比例卻是在當任務總使用率 0.4 時最大,原因是 出在消耗電能是執行時間與使用頻率的三次方乘積,雖然執行時間改善程度較佳,但 是消耗電能的另一個元素使用頻率也影響了最後的結果。 圖 4.3為第一組處理器頻率設定的工作在截限時間前還未完成的工作比例數據,圖 4.3(a)、圖 4.3(b)、和圖 4.3(c) 為在 9 個任務時,當每個任務不的不同執行行時間個數 下的實驗結果,執行時間個數分別 2、3、和 4。每張圖的 X 軸代表任務的極端總使用 率,Y 軸代表超出截限時間比例。從實驗結果中我們可以發現以下現象,當極端總使 用率為 1.1 時,超出截限時間比例皆為 0,原因是由於任務是 M F 任務,雖然從極端 總使用率來看系統已是超載 (總使用率 >1),然而實際上卻還不是,工作可以利用其他 任務工作未使用之時間來完成執行,彼此間達到互補。當極端總使用率超過 1.2 之後, 超出截限時間比例也隨之劇增,這是因為此時系統已是超載,無法滿足大多數工作的 執行需求。因此,在之前的實驗結果中我們不呈現極端總使用率超過 1.2 的實驗數據。 圖 4.4、4.5、和 4.6分別為第一組處理器頻率設定在 7 個任務時的消耗電能實驗數 據執行時間比例數據、與超出截限時間比例數據,與圖 4.1和 4.2比較,我們可以發現, 任務個數幾乎不會影響消耗電能改善程度和執行時間改善程度。然而與圖 4.3相比,我 們可以發現,當任務個數遞減時,超出截限時間百分比會隨著遞增,這是因為不管執 行時間個數分別為 2、3、和 4,當任務個數越多將會讓有效使用率相對變低,所以實 23.
(28) 際上處理器的負載也相對較輕,導致當任務個數隨之遞增則超出截限時間比例也隨之 下降。 圖 4.7為第二組處理器頻率設定 (4 個頻率可用) 的消耗電能數據,圖 4.7(a)、圖 4.7(b)、和圖 4.7(c) 為在任務不同執行時間個數下的實驗結果。和圖 4.1比較,我們可 以發現,在相同任務個數之下,考量消耗電能 EDF 排程演算法在第二組的處理器頻率 設定下需要消耗較多的電能,原因是處理器所能使用的頻率較少,且可執行頻率都較 高,當只能使用一個較接近理想頻率的可用頻率,在第二組的情況下有可能工作所使 用的頻率要比第一組高,因此消耗電能較高。而傳統 EDF 排程演算法在第二組的處理 器頻率設定下也需要消耗較多的電能,原因是雖然任務所需的執行時間比例相同,但 是當處理器沒有工作可執行時,這些時間裡所使用的頻率在第一組實驗中是採用 0.15, 然而,在第二組中卻是使用 0.5,導致消耗電能較高。在圖 4.8為第二組處理器頻率設 定的執行時間比例數據,和圖 4.2比較,考量消耗電能 EDF 排程演算法在第二組所需 的執行時間較第一組少,其原因和圖 4.1相同。傳統 EDF 排程演算法由於都是以最高 頻率執行工作,因此當執行時間個數相同且極端總使用率相同,執行時間比例將會是 一樣。. 24.
(29) 100. 傳統 EDF 排程機制. 90. 執行時間百分比. 80. 考量消耗電能之EDF 排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 極端總使用率. (a) 2 個不同執行時間 100. 傳統 EDF 排程機制. 90. 執行時間百分比. 80. 考量消耗電能之EDF 排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (b) 3 個不同執行時間 100. 傳統 EDF 排程機制. 執行時間百分比. 90 80. 考量消耗電能之EDF 排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (c) 4 個不同執行時間 圖 4.2: 在 5 種不同處理器頻率下,當任務個數為 9 時執行時間比例 25.
(30) 100. 傳統 EDF 排程機制. 超出截限時間百分比. 90 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 1.3. 1.4. 1.5. 1.1. 1.2. 1.3. 1.4. 1.5. 1.1. 1.2. 1.3. 1.4. 1.5. 極端總使用率. (a) 2 個不同執行時間 100. 傳統 EDF 排程機制. 超出截限時間百分比. 90 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 極端總使用率. (b) 3 個不同執行時間 100. 傳統 EDF 排程機制. 超出截限時間百分比. 90 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 極端總使用率. (c) 4 個不同執行時間 圖 4.3: 在 5 種不同處理器頻率下,當任務個數為 9 時工作超出截限時間比例 26.
(31) 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 極端總使用率. (a) 2 個不同執行時間. 消耗電能. 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (b) 3 個不同執行時間 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (c) 4 個不同執行時間 圖 4.4: 在 5 種不同處理器頻率下,當任務個數為 7 時消耗電能 27.
(32) 100. 傳統 EDF 排程機制. 執行時間百分比. 90 80. 考量消耗電能之EDF排 程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 極端總使用率. (a) 2 個不同執行時間 100. 傳統 EDF 排程機制. 執行時間百分比. 90 80. 考量消耗電能之EDF排程 機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (b) 3 個不同執行時間 100. 傳統 EDF 排程機制. 90. 執行時間百分比. 80. 考量消耗電能之EDF排程 機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (c) 4 個不同執行時間 圖 4.5: 在 5 種不同處理器頻率下,當任務個數為 7 時執行時間比例 28.
(33) 100. 截限時間百分比. 90. 傳統 EDF 排程機制. 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 1.3. 1.4. 1.5. 1.1. 1.2. 1.3. 1.4. 1.5. 1.1. 1.2. 1.3. 1.4. 1.5. 極端總使用率. (a) 2 個不同執行時間 100. 傳統 EDF 排程機制. 截限時間百分比. 90 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 極端總使用率. (b) 3 個不同執行時間 100. 傳統 EDF 排程機制. 超出截限時間百分比. 90 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 極端總使用率. (c) 4 個不同執行時間 圖 4.6: 在 5 種不同處理器頻率下,當任務個數為 7 時工作超出截限時間比例 29.
(34) 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 極端總使用率. (a) 2 個不同執行時間 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (b) 3 個不同執行時間 1000000 900000. 傳統 EDF 排程機制. 800000. 考量消耗電能之EDF排程機制. 消耗電能. 700000 600000 500000 400000 300000 200000 100000 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (c) 4 個不同執行時間 圖 4.7: 在 4 種不同處理器頻率下,當任務個數為 9 時總消耗電能. 30.
(35) 100. 傳統 EDF 排程機制. 90. 執行時間百分比. 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 0.9. 1. 1.1. 1.2. 極端總使用率. (a) 2 個不同執行時間 100. 傳統 EDF 排程機制. 90. 執行時間百分比. 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (b) 3 個不同執行時間 100. 傳統 EDF 排程機制. 90. 執行時間百分比. 80. 考量消耗電能之EDF排程機制. 70 60 50 40 30 20 10 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 極端總使用率. (c) 4 個不同執行時間 圖 4.8: 在 4 種不同處理器頻率下,當任務個數為 9 時執行時間比例. 31.
(36) 第五章 結論 目前許多媒體系統所用的 H.264 或是 MPEG 格式的影片,可以抽象成多幀即時任 務 (M F real-time tasks),在一些視訊點播 (video on demand) 系統中將會有人同時連 線,如何有效節省耗能變成一個需要被重視的議題,本論文探討了動態電壓調節處理 器上多幀即時任務 (M F real-time tasks) 省電排程,我們提出一個考量消耗電能 EDF 排程機制來對 M F 任務作省電排程,我們設計了一系列的實驗,且從實驗結果中,我 們可以觀察到所提出的方法和傳統的 EDF 排程機制比較,我們的方法有較佳的效能表 現,任務所需之消耗電能與系統使用在工作執行的時間皆有不錯的表現,成功地做到 降低消耗電能的同時也不會導致其他工作超出截限時間之後完成。本論文主要貢獻有 三項: (1) 我們所提之演算法大幅降低消耗電能、 (2) 當降低消耗電能的同時,對於處理器上的使用率也有整體性的提升、 (3) 當極端總使用率來看系統已經是超載 (總使用率 >1),然而實際上有效使用率卻 小於 1,工作可以利用其他任務工作未使用的時間來完成執行,彼此間達到互補。 本研究方法未來探討方向有: (1) 應用在 MPEG 相關系統上,由於輸出入裝置大量被用在 MPEG(Moving Pictures Experts Group) 相關的系統上,我們未來希望能夠對於處理器與輸出入裝置組合的系 統作類似相關的研究。 (2) 考慮混合型任務,系統中可能除了 M F 週期性任務之外,還有其他非週期性任. 32.
(37) 務,如此較複雜的任務模式將使問題更加困難而難以解決,我們希望能對此問題也作 相關的研究。. 33.
(38) Bibliography [1] T.P. Baker. Multiprocessor edf and deadline monotonic schedulability analysis. In Proceedings of the 24th IEEE International Real-Time Systems Symposium, pages 120–129, December 2003. [2] T.P. Baker. Comparison of empirical success rates of global vs. partitioned fixedpriority and edf scheduling for hard real time. Technical report, School of Information Science, Computer and Electrical Engineering (IDE), Halmstad University, July 2005. [3] J. Carpenter, S. Funk, P. Holman, A. Srinivasan, J. Anderson, and S. Baruah. A categorization of real-time multiprocessor scheduling problems and algorithms. In Handbook on Scheduling Algorithms, Methods, and Methods, pages 30.1–30.19. 2004. [4] J.-J. Chen and T.-W. Kuo. Procrastination determination for periodic real-time tasks in leakage-aware dynamic voltage scaling systems. In Computer-Aided Design, 2007. ICCAD 2007. IEEE/ACM International Conference on, pages 635–645, 2007. [5] A. Chilambuchelvan, S. Saravanan, and J.R.P. Perinbam. Performance analysis of dvs algorithms for reducing processor energy consumption. In In Proceedings of the 2007 International Conference Computational Intelligence and Multimedia Applications, page 174–178, December 2007.. 34.
(39) [6] K. Funaoka, A. Takeda, S. Kato, and N. Yamasaki. Dynamic voltage and frequency scaling for optimal real-time scheduling on multiprocessors. In SIES’08, pages 27– 33, 2008. [7] Intel. Xscale microarchitecture. In http://developer.intel.com/design/xscale. [8] T.-W. Kuo, J.-J. Chen, and Chuan-Yue Yang. Energy-efficiency for multiframe realtime tasks on a dynamic voltage scaling processor. In CODES+ISSS ’09 Proceedings of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis, pages 211–220, October 2009. [9] C.L. Liu and J.W. Layland. Scheduling algorithms for multiprogramming in a hardreal-time environment. Journal of the ACM, 20(1):46–61, January 1973. [10] J. Liu and E.A. Lee. Timed mutitasking for real-time embedded software. IEEE Control System Magazine, 23(1):65–75, February 2003. [11] J.R. Lorch and A.J. Smith. Improving dynamic voltage scaling algorithms with pace. In Proceedings of the 2001 ACM SIGMETRICS Conference, pages 50–61, June 2001. [12] J.R. Lorch and A.J. Smith. Pace: a new approach to dynamic voltage scaling. IEEE Transactions on Computers, 53(7):856–869, July 2004. [13] W.-C. Lu, K.-J. Lin, H.-W. Wei, and W.-K. Shih. New schedulability conditions for real-time multiframe tasks. In Real-Time Systems 2007. ECRTS ’07. 19th Euromicro Conference on, page 46–61, July 2007. [14] T.L. Martin and D.P. Siewiorek. The impact of battery capacity and memory bandwidth on cpu speed-setting: a case study. In Proceedings of the 1999 International Symposium Low Power Electronics and Design, page 200–205, August 1999. [15] A.K. Mok and D. Chen. A multiframe model for real-time tasks. In Proceedings of the 17th Real-Time Systems Symposium, pages 22–29, December 1996.. 35.
(40) [16] A.K. Mok and D. Chen. A multiframe model for real-time tasks. In IEEE Transactions on Software Engineering, pages 635–645, October 1997. [17] P. Pillai and K.G. Shin. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of the 18th Symposium on Operating Systems Principles (SOSP 2001), page 89–102, December 2001. [18] S. Gorinsky S.K. Baruah, D. Chen and A.K. Mok. Generalized multiframe tasks. Real-Time Systems: The International Journal of Time-Critical Computing, 17(1): 5–22, 1999. [19] Y. Tan and V. Mooney. Timing analysis for preemptive multi-tasking real-time systems with caches. In Proceedings of Design, Automation and Test in Europe, pages 1034–1039, February. [20] T. Wiegand, G.J. Sullivan, G. Bjontegaard, and A. Luthra. Overview of the h.264/ avc video coding standard. IEEE Transactions on Circuits and Systems for Video Technology, 13(7):560–576, July 2003.. 36.
(41)
數據
Outline
相關文件
能依修護手冊規定之操作 程序、工具及儀器,在規定 時間內完成下列指定之工
(十九)具有特殊危害之作業相 關法規(含高溫作業勞工 作息時間標準、重體力勞 動作業勞工保護措施標 準、精密作業勞工視機能
(一)每日正常工作時間為8小時,上午8:00-12:00下午1:00-5:00,每週以40小時
檢核表中的相關項度包含:主動工作、準時上下 班、不任意請假、工作專注、遵循操作程序、承 受壓力、接受工作變異等 7 項。對照職重系統來 看,主動工作可由表
而使影像設計工具在操作時呈現非預設的結果。為此操作者可以利用重設 Photoshop 軟體
使我們初步掌握了電壓、電流和電阻三者之間的關係。我
學校中層管理者是一個召集人,責任包括個別學科的教 學、對同工的計劃及工作的支持、資源管理、評核及記
當職員申報利益衝突後,校董會/法團校董會應視乎情況,作 出適當的決定及安排,以處理有關衝突,例如:不讓有關職員參與可能 引起利益衝突的工作、或准許該名職員繼績處理有關工作(