• 沒有找到結果。

第四章 電壓排程的耗損

4.3 電壓調整策略

4.3.1 Miss-deadline

4.3 電壓調整策略

過去的電壓調整策略,大都是依CPU和Workload的使用率直接來做調整並沒有考慮耗損 時,那麼很容易造成無法排程或miss-deadline。

使用即時系統的目的還是在利用和確保”即時”的工作性質,因此任何排程策略的產生 首先必需確保Miss-deadline不會產生。因此,本研究提出結合電壓調整之耗損的排程 策略將從即時性質開始討論。

4.3.1 Miss-deadline

Miss-deadline的原因主要是沒有足夠的時間處理調整時的耗損,因此Task在面臨調整 時需要將調整的時間計算進去,但是如此一來,似乎只要將WCET的時間加上轉換的時間 就萬無一失了?但是,增加WCET將意味著需要更高階的CPU才能保證這所有的工作都能準 時完成,然而CPU效能的提升意味著CPU實際的利用率可能會降低,如此的考慮方法太過 於消極。因此,在本研究中提出有效的策略來保證即時性質,並且比將調整的延遲加入 WCET內要能夠減少為做電壓調整所發生的耗損。

圖 4.2 Voltage scaling up

計算 i i current

i current

C S α = D t

− ,

a

i

t

current

若αi>1,則需做升頻與升壓的動作。因此需重新計算升頻與升壓的時間延遲的結果是否 仍然滿足工作的執行所需:

( )

圖 4.3 Voltage Scaling down

此外,還有若干的狀況需要進一步考慮調降的工作。 若是調降後會產生miss-deadline 則無法執行scaling down的動作,圖4.4說明了這樣的情況。

圖 4.4 Voltage scaling down but miss deadline.

上述說明了slack必需足夠才能做電壓的調整。此外,考慮一種排程的狀況,若Task的 workload小於轉換的耗損,那麼不斷的做轉換將導致更多的損耗。

證明如下:

假設有N個Task{1..N},Task{1,3,5,…,N}的WCET使用的工作電壓為v1, Task{2,4,

6,8…,N-1}的WCET使用v2

D

i1 = ,暫不考慮idle的情況。

a

i

DVS 100 overhead

EN E N E

overhead V2

E >E

所以, Edvs >Edvs o_

圖 4.5 工作量小於電壓調節的耗損.

藉由圖4.5 (a)說明了,電壓的調節必須視其工作量的大小做判斷,也就是投資報酬率 的觀念。在這樣的定義當中暫時忽略miss-deadline的情況發生,單就能量的損耗而言 做計算,換言之;若是調降後所節省下來的能量小於電壓調節時的能量消耗,尤其工作 量又小於電壓調節時的損耗,那麼反而會導致額外的浪費。 此外,在圖4.ZZ的(b)及(c) 又導出miss-deadline的狀況其中若

2 max, v2 max

V =V S =S 則會發生miss-deadline,當然這 樣的假設過於極端,然而確可借此突顯出電壓調節造成延遲的重要性。誠如前文所撰,

將電壓調節的延遲時間加入WCET內就不會產生miss-deadline了,當然,這是解決的方 法之一,可是WCET的增加勢必造成為處理所有極端的情況下必須採用更高階的CPU,如 此一來對系統設計是不利的且因CPU運算能力的升級,有可能會更耗電。 因此,為 deadline的控制並充份利用slack和idle的時間做電壓調整的動作。將擬定另外的策略。

基本上,Scheduler若計算出現行的運算量是CPU目前的運算能力無法負擔的,那麼將無 條件加以調整提昇電壓和頻率。 以符合需要且確保工作的即時性。但是,操作電壓和 頻率的下降則有較多的考慮,例如:若是工作量在較低的頻率下雖可運算結束,但是加 上電壓調節的時間延遲,則有可能會超過其限制的時間這麼做將得不償失,沒有必要。

此時,slack將會產生,可以將slack搜集起來並視情況再利用。

圖 4.6 說明著這樣的關係:

圖 4.6 保持原來的操作參數

因此,下面將針對一些task排列的狀況,來增加slack和idle的重新利用。

相關文件