• 沒有找到結果。

i=0

N i−1 j=0 cji N i−1

p

i (2.3)

例如,在 Example 1中 τ0 與 τ1 的效使用率分別為 1338,我們得知 U (T )=1724

2.2 處理器模型

在本論文研究中,我們假設系統所採用的處理器具有動態調整執行頻率的能力,且 僅有 m 個不同的離散頻率範圍,F 表示正規化執行頻率集合 F =

{f

i

|0 ≤ i ≤ m − 1},

且 f0 = fmin 與 fm−1 = fmax。fmin

> 0

表示頻率最小值一定大於零,fmax=1 表示頻率 最大值不會超過 1,在不失ㄧ般性下,fi

< f

j,表示 i < j。由於在 A.J. Smith 等人所 提出的論文 [12] 中提到消耗電能 E 正比於電壓 V 的平方 (E ∝ V2),且速度 S 正比於 電壓 V(S ∝ V ),故消耗電能 E 也正比於速度 S 的的平方 (E ∝ S2),而 J.R. Lorch 等 人所提出論文 [11] 提到頻率正比於電壓 (f ∝ V ),故消耗電能 E 也正比於頻率 f 的的 平方 (E ∝ f2),後續之動態調節的討論,將全部以頻率為主。另外,處理器不具有關 閉之功能,在未執行任務的情況下,處理器將會以最低頻率運行,在任何一個工作執 行時之速度均可在任意的時間點作切換,因為切換的成本過低,所以不列入考量。處 理器在頻率 f 運作下的功率函式 (power consumption) 如下 [4]:

P (f ) = α + βf

3 (2.4)

2.3 問題定義

由於系統在播放 MPEG 影像時,一般使用者所要求的效果是每秒能夠播放數張畫 面 (frame),觀看時才不會有延遲性,然而,因為畫面資料的多寡與編碼將影響處理 時間,如果以最長執行時間來作可排程測試雖然可以保證系統的服務質量 (Quality of Service),但是卻可能讓系統有較高的消耗電能,因此本論文的研究議題是如何在 EDF 排程演算可以排程的任務在執行時,試圖降低系統執行任務的總消耗電能。我們將利

用已分配給工作,但是它卻沒有使用到的時間來降低之後要執行的工作所運作的處理 器頻率,當處理器頻率動態調降時,執行時間勢必增加,如何確保在某一工作調降頻 率之後,不會因執行時間的增加影響其他工作超出截限時間 (miss deadline),就變成需 要解決的問題。

第 三 章

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) 執

行的工作,則相對的優先權 (priority) 就越高 [2, 1],是單核心處理器最佳的排程演算 法之一 [9]。根據 EDF 定義只有當工作執行完成之後,優先權才需要調整,因此 EDF 是一個動態優先權排程演算法。當任務的週期等於截限時間時,我們可以用下不等式 來判斷未來欲執行 M F 任務群組之工作是否能夠滿足皆在截限時間之前完成的要求 [15, 16]:

n−1 i=0

c

imax

p

i

≤ 1

(3.1)

其中 cmaxi 為任務 τi 的最長執行時間,pi 為 τ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 = pci

i,i 表示每一個任務的 編號。(2) 負載率 (workload):W ,n−1

i=0 ci

pi 表示負載率,ci 表示每個任務的最大執行時 間,但是實際上每一個任務不一定是最大執行時間。負載率符合下列兩點則可以排程,

若是不滿足則不保證可以排程 [9]

EDF : W ≤ 1

(3.2)

RM : W ≤ n(2

n1

− 1)

(3.3)

其中 n 代表任務個數,從式子 3.3中,我們發現當任務個數越多時,負載率也隨之

4:

while clock < LCM do

5:

檢查目前時間是否為任務的工作抵達時間。若是,則將任務 τi 的工作 jobj 加入系統的 就緒佇列 (ready queue) 中,並以 c

clock−P hasei

pi ⌋ mod Ni

i 來設定工作 jobj 的剩餘執行時間

c

remj ,cremj = c

clock−P hasei

pi ⌋ mod Ni

相關文件