異質性多核心系統上具點對點截限時間工作之省電排程
全文
(2) 異質性多核心系統上具點對點截限時間工作之省電排程 指導教授:郭錦福 博士 國立高雄大學資訊工程學系. 學生:黃群雄 國立高雄大學資訊工程學系. 摘要. 在多媒體系統已然普及化的今日,各種支援平台為了因應其所需要之大量的運算能 力,系統紛紛朝向使用多處理器的方向發展,而當平台上的處理器個數因晶片設計技術 而受到限制時,專門針對硬體不足提供服務的雲端產業便隨之興起。雖然,有硬體資源 能租借使用是件美事,但究竟僅需多少硬體及可支援工作的運作,卻是件難以解決的問 題。另外,為支援大量客戶之需求,大量的硬體配備也勢必產生大量的消耗電能,如何 節省消耗電能,也成為了雲端產業提供者極欲處理之第一要務。而本篇論文,我們對於 異質性多處理器系統上的點對點任務提出一系列的演算法,首先提出離線任務分配機制 來估算任務群組所需之最小化處理器個數,並且提出線上基於 Earliest-Deadline-First 的 即時省電節能排程演算法,透過分析工作執行狀況,使用動態調整速度的演算法以達成 省電之目標。最後,透過實驗證明,我們所提出的演算法,確實能得出任務所需之處理 器的較佳解,並且當任務在執行時,系統可以以較低的消耗電能來完成任務之工作。 關鍵字: 點對點任務、異質性多核心、即時系統、動態電壓調整 關鍵字.
(3) Energy-efficient Scheduling Algorithm for End-to-end Tasks in Heterogeneous Multi-core System Advisor: Dr. Chin-Fu Kuo Department of Computer Science and Information Engineering National University of Kaohsiung. Student: Chun-Hsiung Huang Department of Computer Science and Information Engineering National University of Kaohsiung. ABSTRACT. Due to the complicated digital signal processing of multimedia systems, the number of cores on a heterogeneous multi-core platform progressively increases. But the hardware cost and the energy consume also progressively increase. Therefore, in this paper, we address the problem of reducing the cost of hardware, and the energy saving on such a system. First, we proposed an offline mechanism to minimize the number of processors needed by a task set and allocated the tasks to the processor. Second, with the dynamic voltage/frequency scaling we proposed an online EDF-based scheduling mechanism to dynamically adjust the processor frequency for jobs of the tasks. Finally, by the experimental results we confirm that the offline mechanism can indeed reduce the cost of hardware, and the online mechanism can indeed reduce the energy consumption. Keywords: End-to-End task, Heterogeneous Multi-core, Real-time System, Dynamic Voltage Scaling.
(4) 致謝 本篇論文得以完成,首先我要感謝我的指導教授郭錦福老師。從碩一剛進入這個領 域開始便不斷幫我累積基礎,從無到有的建立嵌入式系統架構以及作業排程機制與節 能演算法等各種知識,並且給予了我許多學習的時間,而在論文寫作上也不斷的給予 我幫助,協助我修正論文的模型架構以及內容上的措詞修正等等。其次要感謝口試委 員盧永豐老師以及潘欣泰老師,給予我論文需補充的不足部分的建議,讓我的論文能 夠更完整。 最後,我要感謝我的父母,在我求學期間不斷給予我鼓勵以及幫助,若沒有他們, 我便無法認真專注的完成我的學業,自然也沒有機會能完成這篇論文。. v.
(5) 目錄. 電子檔上網授權書. i. 學位論文審定書. ii. 中文摘要. iii. 英文摘要. iv. 致謝. v. 目錄. vi viii. 圖目錄 1. 2. 1. 導論 1.1. 研究動機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. 相關研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.3. 論文貢獻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 系統架構. 5. 2.1. 處理器模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.2. 任務模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.3. 問題模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.3.1. 8. 處理器個數及分配任務. . . . . . . . . . . . . . . . . . . . . . . . .. vi.
(6) 2.3.2 3. 動態速度調整該如何運作 . . . . . . . . . . . . . . . . . . . . . . .. 異質性多核心群組任務分配 10. 與省電排程演算法 3.1. 3.2. 離線任務分配機制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1.1. 計算子任務使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11. 3.1.2. 計算所需的處理器個數. . . . . . . . . . . . . . . . . . . . . . . . . 12. 3.1.3. 將子任務分配到處理器. . . . . . . . . . . . . . . . . . . . . . . . . 15. 線上省電機制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.1. 4. 5. 9. 節能演算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 30. 效能評估 4.1. 實驗環境設置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30. 4.2. 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31. 結論. 45. Bibliography. 46. vii.
(7) 圖目錄. 2.1. 處理器晶片模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.2. VoD 環境模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 2.3. 簡化任務模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.4. 任務運作模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 3.1. 修正後任務模型 (各個子任務有自己的相對截限時間) . . . . . . . . . . . . 11. 3.2. M-CBS 實作原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13. 3.3. 處理器可使用率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16. 3.4. 系統初始化,處理器個數為 4 . . . . . . . . . . . . . . . . . . . . . . . . . 17. 3.5. 第一次 while 迴圈的分配流程 . . . . . . . . . . . . . . . . . . . . . . . . . 19. 3.6. 降低處理器個數為 3 後,系統重新初始化 . . . . . . . . . . . . . . . . . . 19. 3.7. 第二次 while 迴圈的分配流程 . . . . . . . . . . . . . . . . . . . . . . . . . 20. 3.8. 第三次 while 迴圈的分配流程 . . . . . . . . . . . . . . . . . . . . . . . . . 21. 3.9. 可用空閒時間 Ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21. 3.10 模式一流程圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.11 模式一: 判斷二不可降速 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.12 符合模式一判斷三的情況 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.13 利用演算法 3 調整後 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.14 符合兩個任務下判斷三的情況 . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.15 模式二流程圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.1. M-CBS vs FWF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 viii.
(8) 4.2. 執行時間比例 1:1:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35. 4.3. 十個任務且執行時間比例 (1 : 1 : 1) 時,改善的執行時間 . . . . . . . . . . 36. 4.4. 執行時間比例 2:2:2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37. 4.5. 十個任務且執行時間比例 (2 : 2 : 2) 時,改善的執行時間 . . . . . . . . . . 38. 4.6. 執行時間比例 1:5:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39. 4.7. 十個任務且執行時間比例 (1 : 5 : 1) 時,改善的執行時間 . . . . . . . . . . 40. 4.8. 十個任務在模式一的情況下 (1 : 1 : 1) 與 (1 : 5 : 1) 的正規化後執行時間 比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40. 4.9. 極限比例值的位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40. 4.10 執行時間比例 4:1:4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.11 十個任務且執行時間比例 4 : 1 : 4 時,改善的執行時間 . . . . . . . . . . . 42 4.12 執行時間比例 5:1:5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.13 十個任務且執行時間比例 5 : 1 : 5 時,改善的執行時間 . . . . . . . . . . . 44. ix.
(9) 第一章 導論. 1.1 研究動機 近年來,由於硬體技術的成長,單一晶片中的核心數不斷上升,效能因此隨之上 升,但是消耗電能卻也因為如此而不斷上升,為了更加有效率的處理特定的指令集並 節省耗能,客製化的處理器因應而生如數位訊號處理器,比起一般通用的處理器,更能 有效的對數位訊號作處理,此種技術廣泛的應用於手機多媒體、全球定位系統等,也 因為如此,於特定的用途下,異質性多核心處理器也逐漸成為主流。然而為節省硬體 成本,在網路上產生提供大型伺服器讓客戶端作為資訊集散地的產業也逐漸興起,例 如: 雲端產業,在網路端提供不同的硬體供客戶端使用,客戶端僅需透過網路便可使用 完善的硬體設備。但是,此種模式目前都是由客戶端自己租借固定量的硬體設備,往 往會導致硬體處理器過多的分配導致浪費多餘的消耗電能,也浪費客戶端較多的租借 金額,或者是租借的硬體設備不敷使用,而無法即時完成客戶端的需求。因此我們在 本篇論文,針對此種狀況給予了一種因應客戶端需求來評估其處理器使用量,給予適 當的處理器個數,並能針對使用之處理器做節省消耗電能的動作,以達成雙贏的局面。. 1.
(10) 1.2 相關研究 為達成上述模型之節省消耗電能的目標,我們必須對四個相關議題作深入了解,第 一個相關議題是對點對點任務模型應用於多核心系統上的運作概念及參數細節,因此 我們探究了具點對點任務運行細節的論文如 J. Sun 等人提出的具點對點任務概念的論 文 [16],其論文透過相對截限時間來對具點對點週期性任務之多核心即時系統上的工 作推算其最差反應時間,因而分析了當點對點任務執行於同質性多核心上之子任務間 的相依性,與同一任務之子任務是否有在同一處理器上之關係。Y.C. Lee 等人的論文 [10] 針對具點對點特性的任務作用於多核心平台上且各任務在各個處理器上均有其特 定的執行時間模型,考量最快完成時間的狀態下節省其消耗電能。首先先將任務群組 畫成一有向非循環圖,方向為其時間軸,所有的父節點皆為須完成之前置工作,然後 透過此圖以及任務在處理器上的最短執行時間,選擇在同一處理器上能達成最快完成 時間的路徑,而後將此路經之任務安排至一個處理器中,其他的任務則依序先後順序 及有項非循環圖排入處理器中,最後再考慮各處理器的任務是否可相互穿插在處理器 的空閒時間中,並做調節電壓之動作來達成節省消耗電能。 第二個相關議題則是任務如何與多核心系統之處理器做對應,也就是如何計算出處 理器的需求個數以及如何將任務分配給處理器。A. Srinivasan 等人的論文 [15],透過 推導證明,當任務組合中的每個任務的個別使用率均不超過 m2 2∗m−1. m 2∗m−1. 且總使用率不超過. 的情形下,僅需 m 個處理器即可完成運算。而 S. Baruah 等人的論文 [3] 則將任. 務群組依照其使用率大小做排序,並由大至小依序做討論,每次討論將任務分做兩堆 第一堆是任務使用率較大的一堆,每個任務都需要 1 個屬於自己的處理器,第二堆則 是個別使用率較小的一堆,第二堆任務利用 1 與其中有最大任務使用率者做相減當成 分母,用來估算後續還需要多少處理器,藉此慢慢收歛處理器個數,直到確認完所有 任務而求得之最小值 (第一堆的任務與第二堆任務的個別所須之處理器個數的和),即 為處理器個數。另外,T.P. Baker 的論文 [2] 利用任務特性所需之不同需求,分別求出 所需處理器個數的上下界限,進而用夾擠的方式求得解,而當任務組合之特性方程式 滿足該解時,代表在該處理器個數下,此任務組合可以排程。. 2.
(11) 第三個相關議題則是任務分配至處理器後的執行方法,也就是排程演算法,如何在 確定各任務之工作均可在截限時間內完成,D. Thakor 等人的論文 [17] 將 EDF 演算法 與 DM 演算法做結合考量系統低負載的情況下使用有最佳解的 EDF,而在系統超載的 情況下則使用靈活性較高的 DM,進而能夠獲得兩者的優點互補相互的缺點,將排程 之整體效能提升。另外,Y. Kang 等人的論文 [9] 提出了一種三相的遞迴策略分別是 (1) 針對任務給予固定優先權、(2) 將任務分配至處理器上後給予相對應的最晚開始執 行時間、(3) 於真實執行時由於前一項給予的是最晚開始執行時間,因此若能提早執 行,便修正開始執行時間。利用上述遞迴流程來優化任務集合於異質性系統上完成的 時間。 第四個相關議題則是用以節省消耗電能的演算法。L. Yang 等人的論文 [11] 提出固 定優先權任務不可搶先節能排程演算法 (FPNP-DVS) 針對週期性的任務進行節省消耗 電能的排程,其演算法包含了離線 (off-line) 以及線上 (online) 兩個部份,離線的部份 先針對整體任務做可降電壓估計,已達成執行前擁有最節省消耗電能的電壓組合,線 上的部份則考量若整體工作完成時間提早,則針對各個工作再去做降低電壓的動作。 A.Chilambuchelvan 等人的論文 [5] 提出針對單核心做修正的 DVS 演算法,該演算法 在每個時間點都考量處理器的使用率與工作剩餘執行時間,並對執行中的工作做降速 測試,相較於現存的 RT-DVS[14] 演算法有更好的節省消耗電能效果。此方法雖能更有 效的利用處理器空閒時間,但是在每個時間點均需重新做一次降速測試對即時系統來 說是十分浪費時間,故此方法並不切實際。. 1.3 論文貢獻 本文篇論文主要有兩項貢獻:(1) 利用一系列演算法,評估任務群組所需之處理器的 數量,以節省硬體 (處理器) 成本開銷。(2) 分析處理器消耗電能之特性,選擇適當的 任務分配方式,並在分配完成後針對各個處理器在執行任務時能調節任務速度,以節 省消耗電能。 在後續章節中,第二章將會針對系統之處理器模型及任務模型做出定義,而第三章 則進一步介紹如何在離線的時候設定任務群組之處理器個數及在線上時的節能演算法。. 3.
(12) 第四章將透過實驗說明,前幾章規劃的方法所節省的硬體成本以及節約之消耗電能。 最後會對此篇論文做總結。. 4.
(13) 第二章 系統架構 在本章中,首先我們將介紹本論文中所要探討的處理器模型,系統中包含了兩組異 質性處理器群組,之後將介紹在此系統中運作的任務模型,以及定義任務在此系統中 運作時我們要解決的省電排程問題。. 2.1 處理器模型 本篇論文所探討的系統環境,是採用兩個異質性多核心處理器群組,每個處理器群 組中包含了一個以上的處理器 [6],且位於同一個晶片中,如圖 2.1。 一般型 處理器. 輸入/輸出 裝置. 數位訊號 處理器. 硬碟. 圖 2.1: 處理器晶片模型. 5. 記憶體.
(14) 此系統包含了兩種處理器:(1) 一般型處理器 (GPP)、(2) 數位訊號處理器 (DSP)。 這些處理器可以利用共用匯排線來交換資訊,目前許多多媒體系統或是雷達系統都是 採用此類似架構。在本論文中,我們將以 VoD 伺服器當作探討的例子,在此應用系統 中,一般型處理器負責作 I/O 控制,如讀取儲存媒介中的資料放置記憶體中、將數位 訊號處理器解碼完的資料作顯示或是利用網路介面將資料傳送到其他各戶端裝置,如 手機、平板電腦、或是一般電腦,如圖 2.2。而數位訊號處理器則負責處理將記憶體中 的壓縮資料作解碼。. 手機 VoD伺服器 PDA. Internet 電腦. 平板電腦. 圖 2.2: VoD 環境模型 兩種類型的處理器均具有動態調節速度 (電壓) 之功能。由於在 J.R.Lorch 等人所 提出的論文 [12] 中提到消耗電能 E 正比於電壓 V 的平方 (E ∝ V 2 ),且速度 S 正比於 電壓 V (S ∝ V ),故消耗電能 E 也正比於速度 S 的平方 (E ∝ S 2 ),後續之動態調節的 討論,將全以速度為主。另外,處理器不具關閉功能,沒有任務的情況下,處理器會 以最低速度運行,而且任何一個工作執行時之速度均可在任意時間點做切換且切換成 本微小,故不列入考量,處理器間的資料傳輸時間需求為零。. 6.
(15) 2.2 任務模型 依據上述之 VoD 伺服器應用系統的運作,為了能夠服務一個客戶端的需求,在系 統中需要有一個對應的週期性任務,才能夠確保客戶端所要觀看的影像能夠即時地在 客戶端上播放,一個任務需要週期性的執行以下步驟:(1) 一般型處理器負責讀取客戶 欲播放的多媒體檔的壓縮畫面資料並存入記憶體中,然後通知數位訊號處理器作解碼、 (2) 數位訊號處理器將記憶體中的壓所資料做解壓縮,並將解壓縮資料存入記憶體中, 然後告知一般型處理器已解碼完畢、(3) 一般型處理器利用網路裝置再將解碼完的畫面 資料利用網路傳送到客戶端裝置。在此,我們假設網路頻寬狀態是足夠的,只要網路 傳送裝置將資料送出後,客戶端立即能收到,換言之,在網路的傳送時間占從讀取壓 縮畫面到抵達客戶端時間整體的很小比例。為了能夠有效的應用這些處理器與節省伺 服器的消耗電能,我們需要提出一系列機制來處理這個議題。依據步驟 (1)、(2)、(3) 的簡化任務模型如圖 2.3。 讀取客戶欲播放的 多媒體壓縮資料, 通知數位訊號處理 器解碼. 傳輸解壓縮後的多 媒體資料給客戶端 解壓縮多媒體 壓縮資料, 通知一般型處 理器. Pi. 0 執行時間 週期. 圖 2.3: 簡化任務模型 當 VoD 伺服器同時有 N 個客戶在要求播放影片時,系統需要有 N 個週期任務一 直去執行上述的讀取資料、解碼、與傳送動作,且個別之間沒有資料相依性。因此, 我們可以將系統中要這些任務歸納成有一組 N 個任務的即時任務集合 (real-time task set) T = {τ0 , τ1 , .., τN −1 },任務之間不具相依性,而每個任務 τi 各由四個元素所組成, 7.
(16) τi = (Pi , Ci,1 ,Ci,2 ,Ci,3 )。Ci,1 、Ci,2 、Ci,3 分別為其三段在不同處理器的執行時間,如圖 2.4,Ci,1 代表讀取壓縮畫面存入記憶體時間,Ci,2 代表解壓縮和存入記憶體時間,Ci,3 代表控制網路介面處理時間,兩兩之間具有相依性,須依序執行完成。 一般型 處理器. Ci,1. Ci,3. 數位訊號 處理器. Ci,2 執行期間. 0. Ci. 圖 2.4: 任務運作模型 為方便後續運算,此處我們假設每個任務 τi 的到達時間 ai 均為 0,且各任務的相 對截限時間 Di 均等於其週期 Pi 。. 2.3 問題模型 從任務的模型到適用之處理器的分析,為了達成節能的目標,我們遇到了兩個問題 如下: (1) 處理器需求個數且分配任務至處理器上時該集中在部分處理器或是分散到全 部處理器、(2) 非滿載之處理器的動態速度調整該如何運作,讓整體消耗電能能夠降 低。. 2.3.1. 處理器個數及分配任務. 處理器的個數在消耗電能的運算中影響最為直接,在處理器模型裡我們假設: 處理 器於空閒時會以最低速度運行。這代表著處理器的個數越貼近任務需求之最小值的情 況下,會有較少的消耗電能,但是該如何去求得處理器最佳個數? 另外當決定處理器 個數後,在分配任務至核心上的方法是該以集中式的方式讓部分核心滿載、部分核心 空轉,亦或是要讓各處理器負載度趨近於相等,也就是說處理器中擁有最大負載度者 減去處理器中擁有最小負載度者的值趨近於 0 較佳?. 8.
(17) 2.3.2. 動態速度調整該如何運作. 當任務的工作動態調整速度時,執行時間必會直接受到影響,如何確保在某一工作 下降速度後,該工作在拉長執行時間後不會影響其他工作之執行,而導致其他工作在 截限時間後才完成執行的情況發生。 . 9.
(18) 第三章 異質性多核心群組任務分配 與省電排程演算法 本章節將要說明異質性多核心系統上在排程所遇到的問題應改如何解決,我們將提 出一套結合離線 (offline) 任務分配與線上 (online) 節能省電的機制。離線任務分配為依 據系統欲處理之任務群組時間特性,如週期與任務在不同處理器上的執行時間,計算 出此組任務所需之各種處理器 (一般型處理器、數位訊號處理器) 的數目,然後將這些 任務分配到各個處理器上,並保證能夠在工作的點對點截限時間 (end-to-end deadline) 前完成執行。而線上 (online) 動態節能是考慮到系統在執行工作時,處理器並非是滿 載 (fully utilized),所以我們試圖將處理器的速度調降,以達成節能省電之目的。. 3.1 離線任務分配機制 此節主要說明離線的任務分配,分為三個小節:(1) 計算子任務使用率、(2) 計算所需 的處理器個數、(3) 將子任務分配到處理器。由於在任務模式中並無規定各子任務的細 節,所以在不影響截限時間的情形下將子任務做特殊規劃利於使用,再者給予任務需 求後,須確立處理器的環境,因此需要計算處理器個數,最後確定完上述兩項後,才 有足夠的條件將任務分配到處理器。. 10.
(19) 3.1.1. 計算子任務使用率. 由於在任務模型中,均是由任務的角度定義,導致要對子任務做分配運算時,因僅 擁有週期與子任務執行時間等少數資訊,不利於子任務安排至處理器上,而在後續的 運算上也因訊息過少,使得無法明確的計算出結果。因此,我們在符合任務之各子任 務相依性的情況下,將子任務的表達方式以及所擁有的條件作了適當修正,修正方式 如下: 定義子任務之名稱為 τi,j ,i 為任務的序號,j 則為子任務的序號,然後將任務 τi 的相對點對點截限時間 Di 依照三個子任務執行時間的比例分為 Di,1 、Di,2 、Di,3 ,如 圖 3.1。 ai. τ i ,1. Di ,1. Di , 2. τ i ,3. τ i,2. ai,1. ai,3. ai,2. 執行時間. Di ,3. Pi Di. 截限時間 週期. 圖 3.1: 修正後任務模型 (各個子任務有自己的相對截限時間) 在此我們假設一個一般性的例子: 任務 τi 的執行時間 Ci 等於 q,三個子任務 τi,1 、 τi,2 、τi,3 的執行時間比例為 f : g : h,相對截限時間 Di 等於 r。透過此例以及前面所 敘述計算子任務相對截限時間的方法,可得知執行時間以及截限時間的值如式子 3.1, 接著將各個子任務的執行時間除上個別的截限時間,可推出每個子任務的使用率均等 於原始任務之使用率. Ci 。故於此定義 Di. ui,j =. ci,j Di,j. 為任務 i 之子任務 j 的使用率,且三. 個子任務之使用率均相等。. Ci,1 = Di,1. q∗f q∗g q∗h 、Ci,2 = 、Ci,3 = f +g+h f +g+h f +g+h. r∗g r∗h r∗f 、Di,2 = 、Di,3 = = f +g+h f +g+h f +g+h. 11. (3.1).
(20) Ci,1 = Di,1. q∗f f +g+h r∗f f +g+h. =. q Ci = r Di. Ci,2 = Di,2. q∗g f +g+h r∗g f +g+h. =. q Ci = r Di. Ci,3 = Di,3. q∗h f +g+h r∗h f +g+h. =. q Ci = r Di. (3.2). 另 外,每 個 子 任 務 也 因 為 透 過 相 對 截 限 時 間 的 分 配,而 有 自 己 的 可 開 始 執 行 的時間 ai,1 、ai,2 、ai,3 ,由於均相依於前一個子任務,所以定義 ai,1 = ai + k ∗ Pi , ai,2 =ai,1 + Di,1 + k ∗ Pi ,ai,3 =ai,2 + Di,2 + k ∗ Pi 。k 為任務產生的工作序號,從 0 開始。. 3.1.2. 計算所需的處理器個數. 定義完各子任務的詳細資訊後,本節主要探討處理器數量之影響,在相同之任務集 合下,處理器之多寡影響了各處理器之使用率,然而究竟是處理器少但每個處理器使 用率高較節省消耗電能,抑或是處理器多但每個處理器使用率低較佳。透過 H.Jeon 等 人所提出之論文 [8],可得知相同任務負載下處理器越少越省電。其運作之背景於可關 閉未使用到之處理器的平台上,該論文之情境驗證了在相同的任務集合下,使用處理 器較多的情況所消耗的能量,會比利用較少處理器所消耗的能量更多。此論點符合處 理器個數越少越省電之情形。故以此論點為主軸,我們使用了 S.Baruah 等人的論文 [3] 所提出的 M − CBS 演算法來做處理器數量之估算。 要使用 M − CBS,首先需要確定每個任務的使用率 Ui ,另外也需定義一些符號標 示如:T 、T (i) 、U (T ),T 為運作於此系統上之任務集合且任務依據使用率由大至小排序 如式子 3.3,T (i) 是包含任務 i 之後的任務子集合如式子 3.4,由於任務集合 T 已排序 過,故任務子集合 T (i) 也為排序過後的集合。U (T ) 則是任務集合 T 之使用率總和如 式子 3.5,透過這些基礎定義而構成了 M − CBS 的運算公式如式子 3.6,只要找到一 個符合不等式 3.6的最小值 M ,即代表可用 M 個處理器來對這組任務排程。. T = {τ0 , τ1 , ..., τn−1 } 12. (3.3).
(21) T (i). def. {τi , τi+1 , ..., τn−1 }. U (T ). def. ∑. (3.4). (3.5). Ui. τi ∈T. M ≥ minn−2 k=0 {k +. U (T (k+1) ) } 1 − Uk. (3.6). M − CBS 公式的運作理論如圖 3.2,如此運作的原因在於每經過一個任務時,就會 假設該任務需要一個專屬於自己的處理器,因此在式子中的左半段是以累加 1 的方式 慢慢遞增,而公式的右半段則假設剩下的任務混合分配給處理器時,所需要的處理器 數量,因此當全部都運算完成後從記錄下來的值中取得的最小值即為最少所需之處理 器數量。M − CBS 的具體演算法如演算法 1。演算法中,一開始先輸入所有的任務, 並建立 U 來儲存所有任務的使用率,接著定義了 T S,用來儲存 M − CBS 式子裡每 次遞增 i 值時,透過算式 i +. U (T (i+1) ) 1−Ui. 求得的結果。然後再由大至小排序過任務的使用. 率,利用 f or 迴圈對每個任務 τi 做處理,並將結果取上界存入 T Si ,最後比較 T S 中 的每個值,取最小值即為處理器個數。此段演算法主要花費時間的程式區段有二段:(1) 演算法的第 3 行,任務使用率經過排序所需要的時間為 O(nlogn),n 為任務個數、(2) 是演算法 f or 迴圈中的第 8 行描述,f or 迴圈中所需計算的 U (T (i+1) ),故得其時間複 雜度為 n ∗ (n + 1)/2,即為 O(n2 )。因此整體時間複雜度為 O(n2 )。. 由大至小排列. Task Utilition. Task Utilition. Task Utilition. Task Utilition. Task Utilition. Task Utilition. 1. 2. 3. k-1. k. n. 最小值 圖 3.2: M-CBS 實作原理 由於系統模型的關係,子任務會在各處理器上交錯執行,因此我們在使用 M −CBS. 13.
(22) 演算法 1 M-CBS Input: {τ0 , τ2 , .., τn−1 } Output: 至少需要處理器數量 m 1: 定義 U = {U0 , U1 , ..., Un−1 } 存放各個任務的使用率 2: 定義 T S = {T S0 , T S1 , ..., T Sn−1 },T Si 儲存式子 3.6裡算式 ⌈i +. U (T (i+1) ) 1−Ui ⌉. 所計算出的值. 3: 將 U 由大到小做排序 4: for i = 0 to n − 1 do 5: 6: 7: 8:. if (i == n − 1) then T Si = i + 1 else T Si = ⌈i +. U (T (i+1) ) 1−Ui ⌉. 9: m 為 T S 中的最小值; 10: 回傳處理器數量 m;. 時,將三個子任務分別視為三個不同的任務去做運算,子任務一與三均在一般性處理 器做排序,而子任務二則歸類於數位訊號處理器做排序,但是所評估出來的處理器數 量卻遠大於真實所需。J.Sun 等人的論文 [16] 提出,此原因在於子任務一與子任務三, 隸屬於同一個任務,且執行之時間點不同,因此,就算假設為不同任務也不會在同一 個處理器上同時出現競爭資源,所以可將子任務一與子任務三分配至同一個處理器上, 視為同一個子任務。因此我們讓同一任務的子任務一與子任務三分配在同一處理器上, 如此僅須將其中一個有較大使用率的子任務列入考量即可。另外,因為在前一節證明 了按執行時間比例分配相對截限時間會令同一任務裡的三個子任務均具有相同的使用 率,因此可將列入考量的依據改為任取一個子任務之使用率即可。透過上述方法可達 成最小化處理器個數。而且,由於同一任務的各個子任務使用率均相等,導致在計算 一般型處理器個數時所參照到的子任務一或子任務三的集合,與計算數位訊號處理器 時所參照到的子任務二的集合,擁有完全相等的使用率集合元素,因此 M − CBS 透 過此種任務模型所算出來的一般型處理器個數會等於數位訊號處理器的個數。. 14.
(23) 3.1.3. 將子任務分配到處理器. 計算出處理器個數後,問題延伸到了任務的分配上,處理器該以負載平衡的方式進 行運算,還是該以負載不平衡的方式做處理。透過 H.Aydin 等人所提出之論文 [1] 得 知單一處理器 pi 上使用率為 xi 時 (xi 介於 0 到 1 之間),將速度調降至最高速度的 xi 倍會有最佳的省電效果。接著以一般性的使用率分布例子探討如下: 假設存在一多核心 系統有 m 個處理器而各個使用率分別為 (x0 + x1 + x2 + ... + xm−2 + xm−1 )。另外再假 設若在最佳化平均分配的情形下各個處理器的使用率皆為 µ,不失一般性得到各處理 器之使用率總和式子 3.7。. x0 + x1 + x2 + ... + xm−1 = m ∗ µ;. (3.7). 接著透過柯西不等式運算公式 3.8. (a0 x0 + a1 x1 + ... + am−1 xm−1 )2 5 (a20 + a21 + ... + a2m−1 ) ∗ (x20 + x21 + ... + x2m−1 ); (3.8) 將 a0 �a1 �...�am−1 全以 1 帶入後得到公式 3.9 (x0 + x1 + ... + xm−1 )2 5 (12 + 12 + ... + 12 ) ∗ (x20 + x21 + ... + x2m−1 ); (x0 + x1 + ... + xm−1 )2 5 m ∗ (x20 + x21 + ... + x2m−1 ); (x0 + x1 + ... + xm−1 )2 5 (x20 + x21 + ... + x2m−1 ); m. (3.9). m ∗ µ2 5 (x20 + x21 + ... + x2m−1 ); 由結果可知,在處理器個數相等且不可關閉未使用處理器的情形下,在各處理器使用 率相近時 (速度相近),消耗電能較使用率不平均時更低。 所以我們將對各處理器採平均分配使用率的方法,分配任務給處理器,再利用此演 算法對處理器數量做減少的動作。首先要取得 M − CBS 所計算出之最少所需處理器 個數,而後將任務依照使用率由大至小依序分配到最多可使用率之處理器上。於此我. 15.
(24) 們定義處理器可分配給任務的使用率稱為可使用率,處理器之可使用率例子如圖 3.3, 其中圖形左半部的處理器可使用率為 1,當分配使用率為 0.2 的任務到此處理器之後, 處理器的可使用率只剩 0.8,如圖 3.3的右半部。. 處理器. 任務. 處理器. 1. 0.2. 0.8. 圖 3.3: 處理器可使用率 由於處理器個數為 M − CBS 算法所算出,故每個任務至少存在一個以上的處理 器,使得任務分配到該處理器上時不會有超載的情況發生。但是 M − CBS 演算法本身 是個高估型的演算法,所以在此處將處理器數量慢慢下降作測試,直到下降後任務無 法完全分配為止。由於此方法通用於一般型處理器以及數位訊號處理器,因此演算法 中將處理器通稱為 pj ,演算法 2為演算法之描述。演算法一開始定義了 T U 用來存放 各個任務的使用率,RU 則存放各處理器的可使用率,RU max 為 RU 中可使用率最大 者,然後定義 T empAssign 用來暫存任務對應至處理器的情形,定義 F inalAssign 存 放最後要輸出的任務與處理器的對應關係。運算開始時,利用 while 迴圈作處理器個 數下降的動作,然後內部則利用 f or 迴圈對每個任務都做分配給處理器的動作,利用 由大至小排序過的任務使用率,依序分配給處理器可使用率最大者,直到所有任務都 能在各處理器使用率不超過一的情況下分配給處理器即視為一次分配流程,每通過一 次分配流程,就將暫存分配情形的 T empAssign 存給 F inalAssign,然後再利用 while 迴圈下降一個處理器,直到無法再下降為止。此演算法主要花費的時間在於 while 迴 圈以及其內部的 f or 迴圈,因為 while 迴圈至多下降層數為 M − CBS 演算法所估算 出的處理器個數 m,而 f or 迴圈則是對所有任務都做處理,故處理次數為任務個數 n,. 16.
(25) 因此可推出時間複雜度為 O(m ∗ n)。 為了能夠更具體描述演算法 2的運作,在此,我們利用一個實例來說明,圖 3.4到圖 3.8 依序為演算法實作流程。圖 3.4為第一個 while 迴圈中,系統的初始狀態,4 個可 使用率為 1 的處理器 (p0 , ..., p3 ),及 6 個使用率由大至小排序的任務 (τ0 , τ1 , ..., τ5 )。圖 3.5(a)4 個任務已分別分配給 4 個處理器,圖 3.5(b) 分配任務 τ4 給處理器可使用率最 大的 p3 ,最後圖 3.5(c) 為演算法 2中的第一次 while 迴圈完成時的狀態,由於成功的 完成此 while 迴圈,代表在處理器個數 4 的情況可確實找到所有任務對應至處理器的 狀態,因此會下降處理器個數來做測試。接下來在圖 3.6中,進入了第二次的 while 迴 圈,演算法將系統的狀態回復,並下降處理器個數至 3。圖 3.7(a) 前 3 個任務已分別 分配給 3 個處理器圖 3.7(b) 將任務 τ3 分配可使用率最大處理器 p2 ,並將可使用率下 降至 0.2,圖 3.7(c) 將任務 τ4 分配可使用率最大處理器 p1 ,並將可使用率下降至 0.1, 圖 3.7(d) 完成了第二次 while 迴圈,表示在處理器個數為 3 的情況下,找出適當的任 務與處理器的分配情形,因此選擇繼續下降處理器個數來做測試。圖 3.8(a) 是進入第 三次 while 迴圈中,系統的初始狀態,處理器個數降為 2,圖 3.8(b) 中前 2 個任務已 分配給 2 個處理器,但由於第 3 個任務 τ2 的使用率,已經超出所有處理器之可使用率 故於此脫離 while 迴圈。 可使用率 1. 1. 1. 1 任務所需使用率 0.7. p0. p1. p2. p3. 0.6. 0.5. 0.3. 0.3. 0.2. τ 0 τ 1 τ2 τ 3 τ4 τ5. 處理器. 任務. 圖 3.4: 系統初始化,處理器個數為 4. 3.2 線上省電機制 在上一節中已經解決了任務分配的問題以及處理器個數縮減,此章節裡將要探討 的是如何透過動態速度調整,以達成系統執行時將消耗電能降低。本篇論文主要採用. 17.
(26) 演算法 2 Fix-Worst-Fit Input: ({τ0 , τ1 , .., τn−1 }, {p0 , p1 , ..., pm−1 } Output: 處理器數量、任務分配至處理器的對應關係 1: 定義 T U = {T U0 , T U1 , ...T Un−1 } 儲存各任務使用率 2: 定義 RU = {RU0 , RU1 , ...RUm−1 } 儲存各處理器可使用率 3: 定義 RU max 為 RU 中可使用率最大者,若有相同的最大可使用率,則取序號小者 4: 定義 T empAssign 暫存處理器與任務分派之關係 5: 定義 F inalAssign 儲存處理器與任務分派之關係 6: 定義未成功下降旗標 =0 7: 將 T U 依照使用率由大至小做排序 8: while m > 0 do 9: 10:. for i = 0 to n − 1 do if (任務的使用率 T Ui >RU 中的最大者 RU max ) then. 11:. 未成功下降旗標 =1;. 12:. m = m + 1;. 13:. break;. 14:. else. 15:. 令 Px 為當前有 RU max 的處理器. 16:. RU max = RU max - T Ui ;. 17:. 將處理器 Px 與任務 τi 的關聯性存入 T empAssign 中. 18: 19: 20:. if (未成功下降旗標!=1) then F inalAssign = T empAssign; else. 21:. break;. 22:. m = m − 1;. 23: 回傳新的處理器數量 m、以及任務與處理器的對應關係 F inalAssign;. 18.
(27) 可使用率 可使用率. 0.3. 0.4. 0.5. 0.7. 0.3. 任務所需使用率 0.3. 0.4. 0.5. 可使用率 0.4. 任務所需 使用率. 0.2. 0.3. 0.4. τ 0 τ1 τ2 τ 3 p1. p2. p3. τ5 τ4. τ 0 τ1 τ2 τ 3 p0. τ4 τ5. p1. p2. p3. τ 0 τ1 τ2 τ 3 τ5 任務. 處理器. 任務. 處理器. 0.4. 0.2. τ4 p0. 0.3. (a) 4 個任務已分別分配給 4 個處理器 (b) 分配任務 τ4 給處理器 p4. p0. p1. p2. (c) 處理器最後的狀態. 圖 3.5: 第一次 while 迴圈的分配流程 可使用率 1. 1. 1 任務所需使用率 0.7. p0. p1. p2. 0.6. 0.5. 0.3. 0.3. 0.2. τ 0 τ 1 τ2 τ 3 τ4 τ5. 處理器. 任務. 圖 3.6: 降低處理器個數為 3 後,系統重新初始化 Earliest Deadline First 演算法,該演算法的排程方式,是當任務於線上執行時,截限 時間最接近的工作給予最高優先權。. 3.2.1. 節能演算法. 然而工作要於動態執行時降低速度是十分複雜的,原因在於工作在降低速度時會拉 長執行時間,而在此工作執行的期間中,除了須考量自己本身的截限時間外,還需將 此工作開始執行的時間到截限時間這段期間中,將會抵達的其他工作都列入考量,判 斷是否會出現超出該工作截限時間的問題。是故在考量的工作數量越多的情況下,若 要考量全局,勢必會嚴重延長判斷運算時間,甚至用在決策如何執行工作的時間,就 有可能超出工作截限時間。因此,為了減少決策所消耗的時間,我們的方法著重於兩 個部份: (1) 限制決策次數,所以我們所提出的方法將只會在有工作結束時或工作進入 時作速度調整之判斷、(2) 減少決策時考量的工作個數。基於上述兩點,我們提出兩個 方法來調整將被執行的工作速度。模式一為降低單一個工作的速度,該工作在降速後 不會影響到其他工作的執行。模式二則考慮兩個不會影響到其他工作的工作。在此, 19. p3. 處理器.
(28) 可使用率 0.3. 0.4. 可使用率. 0.5. 0.3. 0.4. 0.2. 任務所需使用率 0.3. 0.3. 任務所需使用率. 0.2. 0.3. 0.2. τ3 τ 0 τ1 τ2. τ 0 τ 1 τ2 p0. τ 3 τ4 τ5. p2. p1. p1. (a) 前 3 個任務已分配給 3 個處理器. 0.1. τ4. 可使用率 0.2. p1 處理器. 0.1. 0.1. 0.2. 任務所需使用率. τ5 τ 4. 0.2. τ3. τ 0 τ1 τ2 p0. 任務. (b) 將任務 τ3 分配給處理器 p2. 可使用率 0.3. p2. 處理器. 任務. 處理器. p0. τ4 τ5. τ3. τ 0 τ1 τ2. τ5. p2. p0 任務. p1. p2. 處理器. (c) 將任務 τ4 分配給處理器 p1. (d) 處理器最後的狀態. 圖 3.7: 第二次 while 迴圈的分配流程 我們先定義工作 Jx 執行完成之後到其截限時間之前的這段期間,稱為 Jx 的可用空閒 時間 Ix ,如圖 3.9。 動態調整速度模式一 為了減少決策時間,在一開始選擇了最直接的方法,僅考慮降低當前工作速度後, 不會影響到任何其他工作。為利用此方法我們需在執行時做三項判斷: (1) 當前時間點 的就緒佇列中,是否僅只有一個工作準備好可以執行; (2) 若僅有一個工作可執行,則 判斷該工作於最高速度下運作的執行期間,是否有其他的工作會抵達使得就緒佇列中 可執行工作變成兩個,若無其他工作則進入判斷 (3),若有則不可降速; (3) 若判斷 (1) 與判斷 (2) 均符合即可降速,但可運作的執行最低速度的訂定,還需再判斷該工作以. 20.
(29) 可使用率. 可使用率 1. 0.3. 1. 0.4. 任務所需使用率. 任務所需使用率 0.7. 0.6. 0.5. 0.3. 0.3. 0.5. 0.2. 0.3. 0.3. 0.2. τ 0 τ1 p0. p1. τ 0 τ 1 τ2 τ 3 τ4 τ5. p0. 任務. 處理器. τ2 τ 3 τ4 τ5. p1. 處理器. 任務. (a) 處理個數降低為 2 後,系統初始化 (b) 任務 τ2 的使用率 > 處理器的最大可使用率 圖 3.8: 第三次 while 迴圈的分配流程. R(t)=1 執 行 速 度. Ix. Jx t. dx. 時間軸(S). 圖 3.9: 可用空閒時間 Ix 最高速度執行完成之後到截限時間之前是否有工作抵達,若有其他工作抵達則需修正 可用空閒時間 Ix 為最高速度執行完成之後到其他工作抵達之前,若無工作抵達可用空 閒時間 Ix 仍為最高速度執行完成之後到該工作截限時間之前。完成三項判斷後,若該 時間點為可降速的時間點,才會進入模式一的演算法。整體判斷流程圖如圖 3.10。 演算法 3即為流程中模式一的實作演算法,在演算法中輸入欲調整的工作詳細資訊, 對工作的速度進行下降測試,由最低的速度開始提升直到第一個符合演算法 3第 5 行 條件的速度即為最佳速度。在程式中,主要花費時間的部份為測試速度所用的 f or 迴 圈,因此時間複雜度與處理器可使用的速度數量成正比為 O(k),k 為處理器可用數量。 此處列出模式一流程圖會遇到的情形如圖 3.11、圖 3.12,圖中 R(t) 之值為當前就 緒佇列中可執行的工作個數,RTx 則為工作 Jx 準備好可執行的時間點,dx 則是工作 Jx 之絕對截限時間點。圖 3.11中所描述的例子符合判斷 (2),判斷時間點在 RTx ,接 著在時間點 RTy 時有工作 Jy 抵達,但是該時間點位於工作 Jx 在最高速度下的執行期 間之中。因此不可降速,故使用先前的最高速度執行。圖 3.12(a) 符合判斷 (3) 中可用. 21.
(30) 演算法 3 動態速度調整方法一 Input: 目前時間 t,工作 Ji 剩餘的執行時間 crem 和可用空閒時間 Ii ,與原規劃的執行速度 si i Output: Ji 的新規劃執行速度 1: 令 S = {smin , .., smax } 為處理器可執行之速度集合,速度已由小到大排序 2: 令 si 為處理器可執行之速度的第 x 個速度 3: 令 s∗i 為新的速度 4: for k = min to x do 5:. if ((t+ 降低速度後之剩餘執行時間. 6:. 新的執行速度為 s∗i = sk. 7:. 跳出迴圈. )∗(s∗i ) (crem i ) sk. ≤ (t+crem +Ii ) then i. 8: 回傳工作 Ji 新的執行速度 s∗i ;. 空閒時間 Ix 未受干擾的情況,判斷時間點位於 RTx ,下一個工作抵達的時間 RTy 大 於工作 Jx 的絕對截限時間 dx 。故不須修正。圖 3.12(b) 則是符合判斷 (3) 中可用空閒 時間 Ix 受下一個工作抵達的時間干擾的情況,判斷時間點位於 RTx ,下一個工作抵 達的時間 RTy 小於工作 Jx 的絕對截限時間 dx 。故須將可用空閒時間 Ix 修正為工作 Jx 以最高速度執行完成後的時間點到下一個工作抵達的時間點 RTy 。圖 3.13的 (a) 與 (b),即為透過演算法 3修正後所得出的工作執行圖。 但在利用模式一進行速度下降時,會有二個缺點產生。(1) 如果僅下降一個工作的 速度,有可能因為工作執行時間並不長,而導致下降速度後,仍無法完善的使用最後 的可用空閒時間,如圖 3.13中的 (a)、(2) 由於系統提供之速度並不是連續型的,而是 屬於離散區間型速度,在僅下降一個工作的速度時,仍無法完全利用到可用空閒時間, 如圖 3.13中的 (b)。因此,在本篇論文中介紹往下延伸至對二個工作速度調整的模式。. 動態調整速度模式二 在模式二,將調降速度的判斷修改如下: (1) 當前時間點可執行的工作為兩個或一 個,若有兩個則進入判斷 (2),若不為兩個則進入前一節模式一的判斷 (1); (2) 若有兩 個工作,則判斷兩個工作在執行期間是否會有第三個工作進入,若無則進入判斷 (3), 若有則不降速; (3) 若符合判斷 (1) 中的兩個工作且符合判斷 (2) 則可以降速,但是還 需分別判斷兩個工作在各自的可用空閒時間是否會有其他工作進入。若有其他工作進. 22.
(31) 入,則需分別依照模式一中判斷 (3) 的方式修正可用空閒時間如圖 3.14(a) 與 (b)。圖 3.14(a) 中僅工作 Jy 的可用空閒時間 Iy 受到影響,故只調整 Iy ,而圖 3.14(b) 中,兩 個工作 Jx 與 Jy 均受到 Jz 任務的影響,故 Ix 與 Iy 均需調整。若無其他工作進入,則 各自延用原來的可用空閒時間 Ix 與 Iy 如圖 3.14(c)。完成上述三項判斷,表示該時間 點為可降速的時間點,則可進入模式二演算法。完整的模式二判斷流程圖如圖 3.15。 演算法 4為模式二中的演算法,模式二的演算法中工作所定義的資料均和模式一相 同,不同的是模式二在降速時需考量的兩個工作,如演算法 4中透過第 7 行的 f or 迴 圈對第一個工作 Ji 做測速,由最低速度開始逐漸增加,直到第 8 行的條件成立,表示 找到一個速度 s∗i 不會讓工作 Ji 在降低速度後,影響到兩個受考慮的工作之外的工作, 並能符合自己的截限時間。接著第 9 行的 f or 迴圈開始對第二個工作 Jj 作測速,同樣 由最低速度逐漸增加,若可通過第 10 行的判斷,則表示工作 Ji 在使用新速度 s∗i 後, 工作 Jj 也能找到一個速度 s∗j 令自己的在截限時間前完成,並且不會影響到需考量的 兩個工作外的其他工作,因此會紀錄兩個工作相對的兩個速度,再紀錄這兩個速度所 算出的消耗電能判定值,如果在此演算法完結前有任何可用的新速度,使算出的消耗 電能判定值比之前使用的速度算出來的更小,則將有最小消耗電能判定值的兩個速度, 設定為新的執行速度。然而,若無法通過第 10 行的判斷,則表示工作 Ji 在使用新速 度後,會對工作 Jj 造成影響使其無法在自己的截限時間前完成,因此不會修改任何工 作的速度。由於在使用演算法 4之前,處理器的個數是由 M − CBS 演算法求得,故必 可在每個處理器使用率不超載的情況下 (使用率不超過 1),將全部任務分配至處理器 中,又演算法 4是建立於 EDF 排程演算法之上,也就是說工作是以截限時間來當作競 爭處理器使用權的依據,所以透過 EDF 演算法的可排程測試 (單一處理器上的任務總 使用率不超過 1 的情況必定可排程),得知在處理器上之任務均可排程。由此可知任務 在原始速度下,一定可以在不超出截限時間的情況下執行完成,故演算法 4必定至少能 找到一組速度通過判斷。 演算法 4的程式中主要花費的時間在於兩個計算工作速度的 f or 迴圈,各個迴圈最 大的執行數量為處理器支援的速度數量,因此時間複雜度為 O(k 2 ),k 為處理器提供的 速度個數。另外在模式一的時候,由於僅有單一個工作速度下降,因此只要有下降速 度必定會比未下降速度還節省消耗電能,但模式二的時候,需考慮的工作數量為二, 23.
(32) 兩工作有不同的執行時間,如僅考慮速度將會誤判節省消耗電能的最佳速度,故在選 擇速度時需帶入可算出消耗電能的等比例運算式,由 T.L.M artin 等人所提出的論文 [13] 指出處理器的單位時間功率 P 正比於處理器速度 s 的三次方 (P ∝ s3 ),而工作的 執行時間 c 與處理器速度 s 的倒數成正比 (c ∝ 1s ),又消耗電能 E 為功率對時間之積 ∫ 分值 (E = P (t)dt)。此算式主要表達可由下降速度前的執行時間經由下降後的速度算 出下降速度後所需的執行時間。而式子 3.10裡,我們假設為在正規化速度 1 之下完成 一個工作需要使用 t 單位時間,而 t′ 為在新的速度 s 之下所需的執行時間,E(t′ ) 代表 在時間區間 t′ 的總消耗電能,P 代表在時間區間的功率,s 為速度。此算式表現出消 耗電能與執行時間和速度的關連性。 E(t′ ) = P ∗ t′ P ∝ s3 E(t′ ) ∝ s3 ∗ t′ ∝ s3 ∗. (3.10). t ∝ s2 ∗ t s. 因此我們在模式二中,以新的速度的平方與降低速度前的執行時間時間 s2 ∗ t 的乘 積當作判定消耗電能的依據,演算法中將兩工作各別的 s2 ∗ t 總和稱為消耗電能判定 值。 由演算法 3以及演算法 4兩種演算法可得知,當考慮到的工作數量越多,且每個工 作都使用最適當的速度執行,必然可以更加善用可用空閒時間 Ix 來達成總消耗電能最 低,但在判斷時的時間複雜度卻會成 k 的 n 次方增加 O(k n ),k 為處理器可用的速度, n 為總工作個數。. 24.
(33) 演算法 4 動態速度調整二 Input: 目前時間 t,工作 Ji 的剩餘執行時間 crem 與其可用空閒時間 Ii ,Jj 的剩餘執行時間 i 與其可用空閒時間 Ij , crem j 與原規劃的 Ji 與 Jj 的執行速度 si 與 sj Output: Ji 和 Jj 的新規劃執行速度 1: 定義變數 T empE = ∞ 暫存消耗電能判定值; 2: 令 S = {smin , .., smax } 為處理器可執行之速度集合,速度由小到大排序; 3: 令 si 為處理器可執行之速度的第 x 個速度; 4: 令 sj 為處理器可執行之速度的第 y 個速度; 5: 令 s∗i 為工作 Ji 新的執行速度; 6: 令 s∗j 為工作 Jj 新的執行速度; 7: for k = min to x do 8: 9: 10:. if (t+Ji 降低速度後之剩餘執行時間. if (t+Ji 降低速度後之剩餘執行時間. (crem )∗(s∗i ) i sk. +Jj 降低速度後之剩餘執行時間. ≤ t+crem +crem + 可用空閒時間 Ij ) then i j. if (s2k ∗ crem +s2l ∗ crem <T empE) then i j. 12:. T empE = s2k ∗ crem +s2l ∗ crem ; i j. 13:. Ji 下降速度為 s∗i = sk ;. 14:. Jj 下降速度為 s∗j = sl ;. 15:. ≤ t+crem + 可用空閒時間 Ii ) then i. for l = min to y do. (crem )∗(s∗j ) j sl. 11:. (crem )∗(s∗i ) i sk. 跳出迴圈;. 16: 回傳工作 Ji 與 Jj 新的執行速度 s∗i 與 s∗j ;. 25.
(34) 符合判斷的限制時 1.有工作抵達時 2.有工作執行完成時 (1)判斷目前就緒佇列 的工作個數是否為1. 按該工作的原執 行速度來執行. Yes. (2)工作在最高速度執 行期間是否有其他工 作抵達 No. (3)下一個工作抵達的 時間點大於正在執行 的工作的絕對截限時 間. No. 修正當前執行工作的可用空閒時間. No. Yes. 演算法 3. 新的工作執行速度 圖 3.10: 模式一流程圖. 26. Yes.
(35) R(t)=1 執 行 速 度. Jx. Jy 時間軸(S). t. dx dy. RTy. 圖 3.11: 模式一: 判斷二不可降速. R(t)=1 Ix. 執 行 速 度. Jx. Jy 時間軸(S) dx RTy. t. (a) 可用空閒時間未受干擾 R(t)=1 Ix. 執 行 速 度. Jx. Jy 時間軸(S). t. RTy dx. (b) 可用空閒時間受干擾. 圖 3.12: 符合模式一判斷三的情況. 27.
(36) R(t)=1 執 行 速 度. Jy. Jx. 時間軸(S). t. dx RTy. (a) 可用空閒時間 Ix 未受干擾調整後 R(t)=1 執 行 速 度. Jy. Jx. 時間軸(S) RTy dx. t. (b) 可用空閒時間 Ix 受干擾調整後. 圖 3.13: 利用演算法 3 調整後. Iy. R(t)=2. Ix. 執 行 速 度. Jx. Jy. Jz 時間軸(S) dx RTz dy. t. (a) 可用空閒時間 Ix 未受干擾,但 Iy 受到干擾 Ix Iy. R(t)=2 執 行 速 度. Jx. Jy. Jz 時間軸(S) RTz dx. t. dy. (b) 可用空閒時間 Ix 、Iy 均受到干擾 Iy. R(t)=2 Ix. 執 行 速 度. Jx. Jy. Jz 時間軸(S). t. dx. dy RTz. (c) 可用空閒時間 Ix 與 Iy 並未受到影響. 圖 3.14: 符合兩個任務下判斷三的情況 28.
(37) 符合判斷的限制時 1.有工作抵達時 2.有工作執行完成時. (1)判斷目前就緒佇列 的工作個數是否為2 按該工作的 原執行速度 來執行. Yes. No. (1)判斷目前就緒佇列 的工作個數是否為1. (2)工作在最高 速度執行期間是 否有其他工作抵 達. (2)兩個工作在最高 速度下的執行期間是否有 其他工作準備完成. No. No. No. (3)下一個工作 抵達的時間點大於 欲下降速度的兩個工作的 絕對截限時間. 個別修正受下個 工作影響的工作 的可用空閒時間. 按該工作的 原執行速度 來執行. Yes. Yes. Yes. No 修正當前執行工作 的可用空閒時間. 演算法 4. (3)下一個工作 抵達的時間點大 於正在執行的工 作的絕對截限時 間. Yes. 演算法 3. 新的工作執行速度. 圖 3.15: 模式二流程圖. 29. No. Yes.
(38) 第四章 效能評估 在本章中,我們首先將說明實驗的相關設定,之後將探討實驗結果。. 4.1 實驗環境設置 在本節中,我們將說明實驗的相關設定,為了能夠驗證我們所提出的相關演算 法的效能,我們設計了一套模擬實驗,每個實驗結果為 100 組的實驗平均值。在 實 驗 中 我 們 採 用 的 處 理 器 是 IntelXScale[7],此 種 處 理 器 擁 有 5 個 速 度 層 級 分 別 為 0.15、0.4、0.6、0.8、1。於此我們假設數位訊號處理器也有相同的速度層級。而 消耗功率公式為 P (f ) = α + βf 3 可約略衍生為 P (f ) = 0.08 + 1.52f 3 瓦特 [4]。此 外,在 實 驗 中,任 務 的 三 段 執 行 時 間 比 例 有 以 下 幾 組 設 定:(Ci,1 : Ci,2 : Ci,3 ) = (1 : 5 : 1)�(1 : 1 : 1)�(2 : 2 : 2)�(4 : 1 : 4)�(5 : 1 : 5) 作為探討對象,以此來研究任務的分 布對演算法的節省耗能的影響。而實驗任務群組中的任務個數則由 2 到 10 個,任務群 組的任務總使用率則由 1 到 9,我們需要強調的是由於單一一個任務的使用率不可超 過 1,因此當任務個數為 x 時,我們將使用率總和最大極限值設為 x − 1。因此在之後 的實驗結果呈現上,在 x 個任務時,僅能看到任務總使用率為 x − 1 的結果。 實驗的評估準則是任務群組所需之處理器個數、正規化總消耗電能、與正規化總執 行時間。處理器個數評估準則是用於判斷離線任務分配機制的效能,呈現機制在不同 階段後任務所需的處理器個數,第一階段是利用 M − CBS,而第二階段則是再利用 30.
(39) F ix − W orst − F it(F W F ) 分配任務到處理器。而後兩者則為線上省電機制 (即模式一 與模式二) 的效能呈現,所謂正規化總消耗電能為採用所提出方法在任務執行期間所使 用之總消耗電能除以未採用任何機制的執行時間過程中的總消耗電能。而正規化總執 行時間為採用所提出方法在任務執行期間處理器實際用在執行任務之工作的所有時間 總和除以未採用任何機制的總執行時間,如果處理器在某個時段並無執行工作,則不 列入計算。. 4.2 實驗結果 首先,針對 F ix − W orst − F it 演算法對 M − CBS 演算法所計算出的處理器個數的 改善效果如圖 4.1的 (a)、(b)、(c),三張圖分別為六個任務、八個任務、及十個任務的 情況下,所需要的處理器個數。比對這三組實驗數據可明顯看出,當任務總使用率超過 2 之後,M − CBS 演算法所估算出的處理器個數會大幅上升,但是 F ix − W orst − F it 演算法,則可以下修處理器個數 (例如:在任務個數為 10,總使用率為 3 的時候),直 ) 高於 0.5 後 (例如:在任務個數為 10,總使用率 到個別任務的平均使用率 ( 任務總使用率 任務數量 為 6 的時候),兩者所算出之處理器個數才會趨於相近,這是由於當個別任務平均使用 率超過 0.5 後,代表任務群組中有多個任務的使用率超過 0.5,當這些任務中的任何一 個任務被分配給處理器後,處理器可使用率必會低於 0.5,故無法將兩個使用率超過 0.5 的任務分配給同一個處理器,因此 M − CBS 演算法必須高估所需之處理器個數。 圖 4.2為當執行時間比例為 (1 : 1 : 1) 時的實驗結果,可以看出不管在任何任務個數 下,模式一在總使用率為 1 時消耗電能只有未採用任何模式消耗電能的百分之四十八, 模式二則降至百分之四十。而隨著任務總使用率的提升,消耗電能的節省程度 (亦即正 規化未使用任何模式的值 1 減去以未使用任何模式之消耗電能為分母去除任一模式所 消耗的電能,(1 −. 任一模式的消耗電能 )) 未使用任何模式的消耗電能. 也逐漸下降,原因在於當任務個數固定而總使. 用率提升的時候,有可能造成大部份任務的使用率將會提升。顯而易見的,當單一任 務的使用率越高,該任務的可用空閒時間也會越低,因此任務可降速度的幅度自然也 變低,如圖 4.3中顯示,當任務總使用率為 1 時,模式一的系統總執行時間約為未採用 任何模式的系統總執行時間的 2.5 倍,模式二則為其 2.6 倍。同理可知,圖 4.2(a)(b). 31.
(40) (c) 中當任務總使用率均為 5 時,因為六個任務的的任務平均使用率為最高,所以六個 任務的正規化總消耗電能最大。除此之外,從圖 4.3中,我們也可以發現當總使用率趨 近於任務個數時,總和執行時間也開始趨近於未採用任何模式,所以當個別任務平均 使用率接近於 1.0 時,消耗電能也將趨近於未採用任何模式之結果。 圖 4.4為執行時間比例為 (2 : 2 : 2) 的正規化總消耗電能,其結果與圖 4.2有相同的 趨勢,由此證明執行時間比例確認後,等比例放大縮小任務的執行時間對於實驗結果 影響並不大。圖 4.5為執行時間比例為 (2 : 2 : 2) 的正規化總執行時間,其結果與圖 4.3相似。 當執行時間比例為 (1 : 5 : 1) 時,其正規化總消耗電能如圖 4.6所示,而圖 4.7則為 其正規化總執行時間,兩者皆與執行時間比例為 (1 : 1 : 1) 時有相同趨勢,而不同點在 於執行時間比例 (1 : 5 : 1) 的節省耗能效果並不如執行時間比例為 (1 : 1 : 1) 的時候, 原因在於 (1 : 5 : 1) 將會導致任務中的執行時間大部分花在數位訊號處理器上的子任務 二,當任務數量增加後,同一個數位訊號處理器上的任務的可用空閒時間容易受到其 他任務影響而縮短,將會導致降低速度的效益不佳,雖然對於子任務一與子任務三而 言有較大的可用空閒時間,但是數位訊號處理器的消耗電能佔的比例較大,因此整體 消耗電能因此增加。如圖 4.8即為經由模式一改善後,任務組合 (1 : 1 : 1) 與任務組合 (1 : 5 : 1) 的總執行時間正規化的比較圖。 圖 4.10為執行時間比例為 (4 : 1 : 4) 的正規化總消耗電能,我們可以明顯看出節省 耗能的效果較前幾種比例: (1 : 1 : 1)、(2 : 2 : 2)、(1 : 5 : 1) 都來的差,因為任務在其一 般型處理器執行時間比在數位訊號處理器的執行時間長很多,導致一般型處理器的節 能效果極差。另外,與前面幾張圖更加不同的是,前幾張圖節省消耗電能的效果均隨 任務總使用率增加而遞減,但 (4 : 1 : 4) 的結果卻顯示,在任務總使用率到達某個數值 時 (例如:在任務個數為 10,當總使用率為 6 時),節省消耗電能的效果會突然變好, 原因在於該情況下,大部分處理器上的任務個數會為 1。先前我們曾說明執行時間比例 為 (1 : 1 : 1) 與 (1 : 5 : 1) 時,當任務數量變多某一邊佔有的執行時間過大,則不同任 務的子任務間相互影響可用空閒時間的情況較明顯,在此處由於一般型處理器所佔的 執行時間與數位訊號處理器所佔執行時間的比例,已超出某個極限比例,使得單一處 理器上所分配到的任務數量從 1 變成 2 時,相對於超出比例前可用空閒時間由大變小 32.
(41) 的幅度變化更明顯。反過來說,當超出極限比例後,在個別處理器的平均任務數量從 2 開始降為 1 時,會比超出極限比例前出現較多的空閒時間得以用於降速上,因此較為 省電。而在此點之後才會再隨著任務總使用率的增加而遞減。從圖 4.13中,(4 : 1 : 4) 的執行時間正規化,更能說明此論點的正確性。 上述所說之極限比例 (一般型處理器上的總執行時間: 數位訊號處理器上的總執行 時間),於此處尚未有明確定義的值,只是由實驗例子中可觀察得到。(1:5:1) 為比例 ((1+1):5)、(1:1:1) 為比例 ((1+1):1)、(4:1:4) 為比例 ((4+4):1)、(5:1:5) 為比例 ((5+5):1), 一般型處理器上的總執行時間 我們可透過此四種組合湊出 8 個數值 ( 數位訊號處理器上的總執行時間 或. 數位訊號處理器上的總執行時間 一般型處理器上的總執行時間. 稱其為極限比例值) 畫出圖 4.9,在圖中可明顯看出兩個極限比例值成反比對稱,因此 我們僅須求其中一邊即可得知另外一邊,若要確實求得其值則方法如下,以執行時間 比例 (5 : 80 : 5) 作為起始點 (也就是. 1 8. 或 81 ),然後下降數位訊號處理器上的執行時間. (例如: 每組任務差距 1 執行時間如 (5 : 80 : 5)、(5 : 79 : 5)),直到數位訊號處理器的執 行時間僅剩 25 為比例 5 : 25 : 5(也就是. 2 5. 或 52 ),即可更逼近的算出該值。. 執行時間 (5 : 1 : 5) 的情況如圖 4.12與 4.13,情形與 (4 : 1 : 4) 相似且更為明顯。 由圖 4.2、圖 4.4、圖 4.6、圖 4.10、圖 4.12可看出,無論是任何一種執行時間均會 隨著任務總使用率的提升使得消耗電能的改善變低,而透過圖 4.3、圖 4.5、圖 4.7、圖 4.11、圖 4.13,則可看出透過降速使得總執行時間延長,而執行時間越長則代表節省越 多消耗電能。以實驗數據來看,本篇論文所提出的演算法,確實可以降低硬體 (處理 器) 成本,而模式一與模式二也確實能夠大幅度降低消耗電能。. 33.
(42) 6. 處理器個數. 5 4 3 2 M-CBS FWF. 1 0 1. 2. 3. 4. 5. 任務總使用率. 處理器個數. (a) 六個任務 9 8 7 6 5 4 3 2 1 0. M-CBS FWF. 1. 2. 3. 4. 5. 6. 7. 任務總使用率. 處理器個數. (b) 八個任務 10 9 8 7 6 5 4 3 2 1 0. M-CBS FWF. 1. 2. 3. 4. 5. 6. 7. 任務總使用率. (c) 十個任務 圖 4.1: M-CBS vs FWF. 34. 8. 9.
(43) 正規化總消耗電能. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 任務總使用率. 正規化總消耗電能. (a) 六個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. 正規化總消耗電能. (b) 八個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. (c) 十個任務 圖 4.2: 執行時間比例 1:1:1 35. 8. 9.
(44) 執行時間正規化. 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1. 未採用任何模式 模式一 模式二. 1. 2. 3. 4. 5. 6. 7. 8. 9. 任務總使用率. 圖 4.3: 十個任務且執行時間比例 (1 : 1 : 1) 時,改善的執行時間. 36.
(45) 正規化總消耗電能. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 任務總使用率. 正規化總消耗電能. (a) 六個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. 正規化總消耗電能. (b) 八個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. (c) 十個任務 圖 4.4: 執行時間比例 2:2:2. 37. 8. 9.
(46) 執行時間正規化. 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1. 未採用任何模式 模式一 模式二. 1. 2. 3. 4. 5. 6. 7. 8. 9. 任務總使用率. 圖 4.5: 十個任務且執行時間比例 (2 : 2 : 2) 時,改善的執行時間. 38.
(47) 正規化總消耗電能. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 任務總使用率. 正規化總消耗電能. (a) 六個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. 正規化總消耗電能. (b) 八個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. (c) 十個任務 圖 4.6: 執行時間比例 1:5:1. 39. 8. 9.
(48) 執行時間正規化. 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1. 未採用任何模式 模式一 模式二. 1. 2. 3. 4. 5. 6. 7. 8. 9. 任務總使用率. 總執行時間正規化. 圖 4.7: 十個任務且執行時間比例 (1 : 5 : 1) 時,改善的執行時間. 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1. 1:1:1 1:5:1. 1. 2. 3. 4. 5. 6. 7. 8. 9. 任務總使用率 圖 4.8: 十個任務在模式一的情況下 (1 : 1 : 1) 與 (1 : 5 : 1) 的正規化後執行時間比較. 極限比例. 0. 1/10. 1/8. 2/5. 極限比例. 1/2. 2. 5/2. 圖 4.9: 極限比例值的位置. 40. 8. 10.
(49) 正規化總消耗電能. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 任務總使用率. 正規化總消耗電能. (a) 六個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. 正規化總消耗電能. (b) 八個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. (c) 十個任務 圖 4.10: 執行時間比例 4:1:4. 41. 8. 9.
(50) 執行時間正規化. 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1. 未採用任何模式 模式一 模式二. 1. 2. 3. 4. 5. 6. 7. 8. 9. 任務總使用率. 圖 4.11: 十個任務且執行時間比例 4 : 1 : 4 時,改善的執行時間. 42.
(51) 正規化總消耗電能. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 任務總使用率. 正規化總消耗電能. (a) 六個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. 正規化總消耗電能. (b) 八個任務 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0. 未採用任何模式 模式一 模式二 1. 2. 3. 4. 5. 6. 7. 任務總使用率. (c) 十個任務 圖 4.12: 執行時間比例 5:1:5. 43. 8. 9.
(52) 執行時間正規化. 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1. 未採用任何模式 模式一 模式二. 1. 2. 3. 4. 5. 6. 7. 8. 9. 任務總使用率. 圖 4.13: 十個任務且執行時間比例 5 : 1 : 5 時,改善的執行時間. 44.
(53) 第五章 結論 本篇論文主要針對具端對端週期性任務之異質性多核心即時系統做改善,主要貢獻 有兩項: (1) 依據任務集合之特性而給予適當的處理器個數,以節省硬體 (處理器) 成本 開銷,並且減少後續執行時的消耗電能、(2) 透過調整執行中工作的速度來達成節省消 耗電能的效果。而從實驗結果得知,第一項目標由 M − CBS 演算法得到初步需要處 理器個數後再由 F ix − W orst − F it 演算法做調整,得到較佳的處理器個數。而第二 項目標的成果也由實驗數據得知,我們所提出的演算法皆有不錯的效能表現,可以將 系統的消耗電能降低。 在未來的研究中,可往兩個方向延伸:(1) 可以針對 VoD 系統的真實情況之執行時間 做修正將執行時間比例的修正,讓比例能更貼近實際狀況。(2) 我們也可以考量當任務 有不同消耗電能函式時,原提出的方法應該調整才能適合此狀況。. 45.
(54) Bibliography [1] H. Aydin and Q. Yang. Energy - responsiveness tradeoffs for real-time systems with mixed workload. In Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium, pages 74–83, May 2004. [2] T.P. Baker. An analysis of edf schedulability on a multiprocessor. IEEE Transactions on Parallel and Distributed Systems, 16(8):760–768, Aug. 2005. [3] S. Baruah, J. Goossens, and G. Lipari. Implementing constant-bandwidth servers upon multiprocessor platforms. In Proceedings of the 8th IEEE Real-Time and Embedded Technology and Applications Symposium, pages 154–163, Sept. 2002. [4] J.J. Chen and T.W. Kuo. Procrastination determination for periodic real-time tasks in leakage-aware dynamic voltage scaling systems. In Proceedings of the 2007 IEEE/ ACM International Conference on Computer-Aided Design, pages 289–294, 2007. [5] A. Chilambuchelvan, S. Saravanan, and J.R.P. Perinbam. Performance analysis of dvs algorithms for reducing processor energy consumption. In Proceedings of the 2007 International Conference Computational Intelligence and Multimedia Applications, pages 174–178, Dec. 2007. [6] IBM. Ibm bladecenter qs22. In http://researchweb.watson.ibm.com/journal/abstracts/rd/535/vogt.html. [7] Intel. Xscale microarchitecture. In http://developer.intel.com/design/xscale.. 46.
(55) [8] H. Jeon, W. H. Lee, and S. W. Chung. Load unbalancing strategy for multicore embedded processors. IEEE Transactions on Computers, 59(10):1434–1440, October 2010. [9] Y. Kang and K. Lin. A recursive algorithm for scheduling of tasks in a heterogeneous distributed environment. In Proceedings of the 4th International Conference Biomedical Engineering and Informatics, pages 2099–2103, Oct. 2011. [10] Y.C. Lee and A.Y. Zomaya.. Minimizing energy consumption for precedence-. constrained applications using dynamic voltage scaling. In Proceedings of the 9th IEEE/ACM International Symposium Cluster Computing and the Grid, pages 92– 99, May 2009. [11] Y. Liu and M. Lin. On-line and off-line dvs for fixed priority with preemption threshold scheduling. In Proceedings of the 2009 International Conference Embedded Software and Systems, pages 273–280, May 2009. [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] 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, pages 200–205, Aug. 1999. [14] 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), pages 89–102, 2001. [15] A. Srinivasan and S. Baruah. Deadline-based scheduling of periodic task systems on multiprocessors. Information Processing Letters, 84(2):93–98, Oct. 2002.. 47.
(56) [16] J. Sun and J.W.S. Liu. Bounding the end-to-end response time in multiprocessor real-time systems. In Proceedings of the Third Workshop Parallel and Distributed Real-Time Systems, pages 91–98, Apr 1995. [17] D. Thakor and A. Shah. D-edf: An efficient scheduling algorithm for real-time multiprocessor system. In Proceedings of the 2011 World Congress Information and Communication Technologies, pages 1044–1049, Dec. 2011.. 48.
(57)
相關文件
Reading Task 6: Genre Structure and Language Features. • Now let’s look at how language features (e.g. sentence patterns) are connected to the structure
In this paper, we have studied a neural network approach for solving general nonlinear convex programs with second-order cone constraints.. The proposed neural network is based on
2-1 註冊為會員後您便有了個別的”my iF”帳戶。完成註冊後請點選左方 Register entry (直接登入 my iF 則直接進入下方畫面),即可選擇目前開放可供參賽的獎項,找到iF STUDENT
Our current solution, called “Iterative Earliest Deadline First+Best Fit” (IEDF+BF), includes three steps: First, estimate the number of high frequency cores; second, schedule
Continue to serve as statements of curriculum intentions setting out more precisely student achievement as a result of the curriculum.
An OFDM signal offers an advantage in a channel that has a frequency selective fading response.. As we can see, when we lay an OFDM signal spectrum against the
Finally, we use the jump parameters calibrated to the iTraxx market quotes on April 2, 2008 to compare the results of model spreads generated by the analytical method with
• Decide the best sampling frequency by experimenting on 32 real image subject to synthetic transformations. (rotation, scaling, affine stretch, brightness and contrast change,