• 沒有找到結果。

利用預測機制積極回收混合性任務未使用時間之排程演算法

N/A
N/A
Protected

Academic year: 2021

Share "利用預測機制積極回收混合性任務未使用時間之排程演算法"

Copied!
44
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學資訊工程學系研究所 碩士論文. 利用預測機制積極回收混合性任務未使用時間 之排程演算法 Aggressive Reclaim with Prediction Algorithm. 研究生:黃丞毅 撰 指導教授:郭錦福. 中華民國一百零四年八月.

(2) 利用預測機制積極回收混合性任務未使用時間之排程演算 法. 指導教授:郭錦福 博士 國立高雄大學資訊工程學系. 學生:黃丞毅 國立高雄大學資訊工程學系. 摘要. 在許多系統中會需要週期性的執行某些任務,與非週期性地不定時執行使用者查詢 或是執行要求,如何以節約能源的方式執行系統中的任務,且能夠儘早完成非週期性的 需求,是一個重要的研究議題。本篇論文主要為研究即時系統中混合性任務集合的排程 問題,當演算法排程混合性任務集合時必須考慮系統能耗和非週期性工作集合的平均反 應時間。在論文中,我們提出利用預測機制積極回收混合性任務未使用時間之排程演算 法(Aggressive Reclaim with Prediction Algorithm:ARPA),本方法利用分析過去非週期性 工作的抵達資料,在回收 TB Server 預留但未被使用的時間時,預測未來下一個非週期 性工作的抵達時間,減少因過多時間的回收導致非週期性工作抵達時,截限時間會被設 定較大而造成反應時間變差的情況。最後我們以實驗的方式,證實我們所提出的演算 法,從實驗結果可以觀察到所提出的 ARPA 比按照比例積極回收機制(Ratio-based Aggressive Reclaim Algorithm:RARA)有更好的效能。 關鍵字:混合性任務、系統能耗、非週期性工作平均反應時間、未使用執行時間. i.

(3) Aggressive Reclaim with Prediction Algorithm Advisor: Dr. Chin-Fu Kuo Department of Computer Science and Information Engineering National University of Kaohsiung. Student: Cheng-Yi Huang Department of Computer Science and Information Engineering National University of Kaohsiung. ABSTRACT. In many systems, some tasks will execute periodically and aperiodic user requests such as searching and execution commands are issued. It is an important research issue to execute tasks with considering simultaneously energy efficiency and finish aperiodic jobs as soon as possible. The objective of this paper is to study the scheduling problem of mixed task sets in real-time systems. The proposed scheduling algorithm for a mixed task set must minimize the energy consumption of the overall system, meet the timing constraints of periodic tasks, and minimize the average response time of aperiodic jobs. We propose the Aggressive Reclaim with Prediction Algorithm (ARPA), which analyzes historical arrival patterns of aperiodic jobs to predict the arrival time of the next aperiodic job. With prediction, execution time reserved for the TB Server but not used by aperiodic jobs can not be reclaimed too much and do not affect the deadline settings of aperiodic jobs. If the deadlines of virtual jobs are larger than arrival times of the next aperiodic jobs, the deadlines of aperiodic jobs become larger. Then the aperiodic jobs will have lager response times. A series of experiments were conducted to evaluate the proposed algorithm. The experimental results demonstrate that the performance of the proposed ARPA is better than Ratio-based Aggressive Reclaim Algorithm (RARA). Keywords: Mixed Task Set, Energy Consumption, Response Time, Slack Time. ii.

(4) 致謝. 本篇論文的完成,首先要感謝我的指導教授郭錦福老師。從一開始教導有關即時系 統排程的知識,和閱讀有關省電排程的相關學術論文,指導程式撰寫的方法和技巧,從 研究中練習如何發現問題、分析問題與解決問題的能力。在論文方面也給予相當大的協 助,包括教導論文的撰寫規則和整體的架構編排方式,修正論文的內容與措詞。其次, 要感謝口試委員盧永豐老師以及潘欣泰老師,對論文當中流程圖的糾正與實驗部分說明 不足的地方加以提醒,使得本篇論文在架構與解釋說明上能更加完整。最後要感謝我的 父母,能不斷的支持我完成學業。. iii.

(5) 目錄. 目錄. iv. 圖目錄. vi. 1. 1. 2. 3. 4. 導論 1.1. 研究動機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. 相關研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.3. 全文架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 系統架構. 4. 2.1. 任務模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 2.2. 處理器模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.3. 問題模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5 6. 重要相關研究說明 3.1. T otal Bandwidth Server. . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 3.2. Ratio Reclaim Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 3.3. Ratio-based Aggressive Reclaim Algorithm . . . . . . . . . . . . . . . . .. 9. 利用預測機制積極回收混合性任務未使用時間之排程演算法. 12. 4.1. 利用預測機制積極回收混合性任務未使用時間之排程演算法 . . . . . . . . 12. 4.2. 舉例與可排程性證明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17. iv.

(6) 5. 6. 22. 效能評估 5.1. 實驗環境設置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22. 5.2. 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23. 結論. 35. Bibliography. 36. v.

(7) 圖目錄. 4.1. ARPA 流程圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15. 4.2. dv 與 rbk 的位置關係示意圖 . . . . . . . . . . . . . . . . . . . . . . . . . . 16. 4.3. rbk 與 rk 的位置關係示意圖 . . . . . . . . . . . . . . . . . . . . . . . . . . 17. 4.4. 使用 RARA 排程混合性任務 . . . . . . . . . . . . . . . . . . . . . . . . . 18. 4.5. 使用 ARPA 排程混合性任務. 5.1. 在非週期性工作的平均抵達間隔時間為一倍週期性任務集合平均週期之. . . . . . . . . . . . . . . . . . . . . . . . . . 19. 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2. 在非週期性工作的平均抵達間隔時間為兩倍週期性任務集合平均週期之 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30. 5.3. 在非週期性工作的平均抵達間隔時間為三倍週期性任務集合平均週期之 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31. 5.4. 在非週期性工作的平均抵達間隔時間為三倍週期性任務集合平均週期之 ARPA 與 RARA 個別實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . 32. 5.5. UP = 0.7、Ua = 0.02 ∼ 0.3(以 0.01 來回變動) 在不同 θ 值與不同 n 值下 的實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33. 5.6. 不同的非週期性工作猜測取樣個數在不同 n 值之下的的實驗結果 . . . . . 34. vi.

(8) 第 一章 導論. 1.1 研究動機 即時系統 (Real-time system) 被廣泛的應用在各種領域裡,系統內通常包含由週 期性任務 (Periodic tasks) 與非週期性工作 (Aperiodic job) 所組成的混合性任務集合 (Mix task set),週期性任務有截限時間 (Deadline) 限制,非週期性工作則沒有此限制, 但必須考慮它的反應時間 (Response time),換句話說,應該要在工作抵達後,盡快完 成。排程即時系統必須保證週期性任務不可在截限時間之後才完成,對於非週期性工 作的執行,則應越快越好,這兩個目標是本研究的主要目標。 由於近年來手持式裝置與無線設備的蓬勃發展,因為電池有容量的限制,如何達到 省電目的成為熱門的研究議題。在這些裝置上也有很多的即時任務在執行運作,所以 在系統排程時,必須把省電目的納入考量。在排程即時系統的研究上,我們可以藉由 降低工作的執行速度來達到省電,但是不應因降速而影響到其他週期性工作的執行, 而導致執行完成時間超過截限時間 (Miss deadline),非週期性工作的反應時間也必須 在系統許可的範圍之內。如果能盡量降低這些行動裝置的電池使用量,就能延長系統 的運轉時間。 隨著 VLSI 技術的進步,嵌入式系統領域已經趨向利用新的整合性電晶體來節省電 能之消耗。由於嵌入式裝置大部分是以電池來供應執行的電能,為了能夠延長電池使 1.

(9) 用壽命,動態電壓調變技術 (Dynamic Voltage Scaling:DVS) 被用在現代化的處理器 上,用來依據負載 (workload) 狀況來以不同的頻率 (/電壓) 執行 [3]。許多系統上運作 任務為為混合式任務模式,不僅有週期性任務,亦有非週期性工作。週期性任務週期 性的收集週遭環境的資訊,而非週期性工作則如回應系統使用者不定時的查詢需求。 所以本論文要探討的問題是,針對感應節點上的週期性任務與非週期性工作提出排程 機制以 DVS 來改善系統總耗能與非週期性工作的平均反應時間。. 1.2 相關研究 為了達成上述模型之節省消耗電能和降低非週期性工作反應時間,必須對三個相 關議題作了解。第一個相關議題為週期性任務的能耗偵測排程演算法 (Power-aware scheduling)。Mejia-Alvarez 等人 [13] 提出在有限制執行速度的處理器之下排程不同執 行速度週期性任務的排程演算法。Aydin 等人 [1] 的論文提出最佳排程演算法,在系統 未執行時計算工作在最大負載之下的最佳執行時間。在系統執行時根據工作的實際負 載回收工作沒用到的執行時間,並把這些時間分配給其他工作使用以降低能耗。另外, 在調整工作執行速度時還必須保證不會影響工作的可排程性。Scordino 和 Lipari [14] 提出一種排程演算法,它把每個任務看做是一個伺服器,並根據系統總使用率來調整 每個有在運作的伺服器速度。 第二個相關議題為在排程混合性任務時,希望能達到降低系統能耗和非週期性工 作平均反應時間的目標。Aydin 等人 [2] 提出 α-queue 資料結構來紀錄未使用之執行 時間,且也同時提出了三種演算法:Basic Reclaiming Scheme (BRS) 演算法會回收未使 用執行時間,但只會把回收回來的未用執行時間給週期性工作使用; Mutual Reclaim Algorithm (MRA) 演算法會回收未使用執行時間並分配給之後的週期性或是非週期性 工作使用; Bandwidth Sharing Scheme (BSS) 演算法會利用非週期性工作的未用的伺服 器頻寬來降低能耗。Shin 和 Kim [15] 提出的排程演算法,不管在固定優先權還是變動 優先權的工作特性之下,會根據非週期性工作伺服器的負載,來調整週期性工作的執 行速度,以降低系統能耗。 第三個相關議題為當系統在執行非週期性工作時,如果執行完成時間延遲過於. 2.

(10) 嚴重將導致服務品質 (QoS) 下降,或導致某些系統無法繼續正常運作,所以在排 程時必須考慮到非週期性工作的平均反應時間。Line 和 Tarng [11] 提出一種伺服器 讓非週期性工作擁有較高的優先權執行,它讓非週期性工作擁有較短的週期,並 利用 Rate-monotonic 排程演算法排程工作,所以能立即處理非週期性工作的執行。 Gutierrez 等人 [6] 提出在保證週期性任務可排程性之下,根據非週期性工作的實際執 行時間需求,讓非週期性工作伺服器在設定非週期性工作截限時間 (Deadline) 時,最 小化它的截限時間,來降低非週期性工作的平均反應時間。 本論文中,我們針對即時系統內的混合性任務集合提出利用預測機制積極回收混 合性任務未使用時間之排程演算法 (Aggressive Reclaim with P rediction Algorithm: ARPA),ARPA 改進了原 Ratio-based Aggressive Reclaim Algorithm (RARA) [8] 演 算法的缺點,在回收 Total Bandwidth (TB) Server 保留但可能未被使用的時間時,沒 有考慮到對未來抵達的非週期性工作截限時間的設定。此外,週期性和非週期性工作 不會每次都使用最大執行時間來執行,即工作會可能會提早完成,對於提早完成工作 的未使用執行時間,ARPA 與 RARA 相同都是使用 earliness-queue 來保存這些時間, 再分配給之後的週期性任務做降速,目的是為了要降低系統能耗。另外,當非週期性 任務的實際負載小於 TB Server [16] 的伺服器能力大小 (Server Size),TB Server 會閒 置,這段閒置的未使用執行時間也可以回收後拿來降速。ARPA 在此處有別於 RARA 的作法,會利用一個猜測與判斷的機制來決定回收未使用執行時間的方式。雖然多了 這個預測機制會讓回收的時間變少,系統總能耗上升,但非週期性工作的平均反應時 間卻可以因此大幅下降。而我們設定的效能量測標準為系統總能耗和非週期性工作平 均反應時間的乘積值,ARPA 讓整體的效能提升。從實驗結果中我們驗證了 ARPA 的 效能比 RARA 好。. 1.3 全文架構 本論文將在後續的章節,進行以下安排:第二節將定義系統模型與問題,第三節說 明和本論文有關之重要研究,第四節中將詳細介紹所提出的機制,第五節中將說明實 驗驗證結果,最後於第六節進行總結。. 3.

(11) 第 二章 系統架構 在本節中將會介紹包含週期性任務和非週期性工作的混合性任務模型,以及可以藉 由降低電壓來調整執行速度的 DVS 處理器模型,本論文將探討在單一動態電壓調節 (DVS) 處理器模型之上,如何利用混合性任務所剩餘的未使用執行時間,降低處理器 速度達到省電效果。. 2.1 任務模型 本篇論文討論混合性任務排程,混合性任務包含週期性任務集合 T = {T1 , T2 , ..., TN } 和一組非週期性工作集合 J。N 個週期性任務集合 (Periodic Task Set) 之間不具相依 性,每個任務 Ti 由四個元素所組成 Ti = (Ri , Pi , Di , Ci ),Ri 為週期性任務 Ti 第一個工 作的抵達時間 (Arrival Time),Pi 為 Ti 的週期 (Period),Di 為相對截限時間 (Relative Deadline),Ci 為最大執行時間 (Worst-case Execution Time),我們假設 Ti 的週期 Pi 等於它的相對截限時間 Di 。此外,我們也定義 Ti,j 為週期性任務 Ti 的第 j 個工作, Ti,j 的抵達時間為 ri,j ,絕對截限時間為 di,j 。週期性任務的工作會依據該任務的週期 Pi 接連不斷抵達,週期性任務的執行有截限時間 (Deadline) 限制,即完成時間不能超 過它的絕對截限時間 di,j 。 我們將非週期性工作 (Aperiodic Job) 定義為 Jk ,最大執行時間與抵達時間分別為 ck 和 rk 。非週期性工作的抵達時間無法事先預知,且沒有截限時間限制,但若能越快 4.

(12) 執行完成越好。非週期性工作跟週期性任務之間也沒有相依性,但會互相競爭處理器 使用權。系統運作時,不管是週期性工作或是非週期性工作可能不會用到它們的最大 執行時間來執行,也就是說工作會提早完成,並留下一些時間沒用到執行時間 [5]。本 論文將探討如何有效利用這些時間達成改善非週期性工作之平均反應時間與耗電性, 我們之後會做說明。. 2.2 處理器模型 我們使用單一 Dynamic Voltage Scaling (DVS) 處理器來執行混合性任務,它可以 根據當時的負載來調整執行速度降低能耗。我們假設速度可調整的範圍介於 Smin 與 Smax 之間,且 0 < Smin ≤ Smax = 1。週期性任務集合在最大速度 Smax 之下的總使用 率為 Up =. N C ∑ i ,N 為週期性任務的個數。 P i=1 i. 在本篇論文裡我們只考慮處理器執行時的能量消耗,因為處理器是系統裡面最耗 電的元件 [4],不管執行週期性還是非週期性工作都必須消耗能量,在 S 執行速度 之下每單位時間能量消耗為 P (S),處理器速度為一個至少二次方以上的多項式函 數 [7, 10]。我們將週期性或非週期性工作在 t1 到 t2 這段時間的執行總能耗定義為 ∫t E(t1 , t2 ) = t12 P (S(t))dt。. 2.3 問題模型 因為週期性工作和非週期性工作不一定會用到最大執行時間來執行,對於工作提早 完成所剩餘的執行時間,我們將利用 DVS 處理器可調整執行速度的特性,回收這些時 間並重新分配給之後的工作來降速執行,藉此降低處理器的能耗。我們的目的不只要 降低系統能耗且還要降低非週期性工作平均反應時間,但是重新使用這些剩餘執行時 間可能會造成非週期性工作的平均反應時間 (Average Response Time) 上升,所以必須 在降低能耗和防止平均反應時間增加上取得平衡點。 . 5.

(13) 第 三章 重要相關研究說明 本章將會介紹一些論文中會參考使用到的排程演算法,包括 T otal Bandwidth Algorithm (TBA)、Ratio Reclaim Algorithm (RRA),還有 Ratio-based Aggressive Reclaim Algorithm (RARA) 演算法。. 3.1 T otal Bandwidth Server 在本論文中所探討的主題都是使用 T otal Bandwidth Algorithm (TBA) 來排程非週 期性工作 [16],TBA 會藉由一個 TB 伺服器 (Total Bandwidth Server:TB Server) 利 用所分配到的處理器使用率 us 來排程非週期性工作。當非週期性工作 Jk 抵達時,TB Server 會根據下列式子來設定非週期性的虛擬截限時間 (Virtual Deadline) dk :. dk = max(rk , dk−1 ) +. ck us. (3.1). 在上式中 rk 和 ck 分別為非週期性工作的抵達時間和執行時間,us 為 TB Server 的伺 服器能力大小 (Server Size),dk−1 為前一個非週期性工作的虛擬截限時間,第一個非 週期性工作的虛擬截限時間 d0 被假設為 0。 我們主要以 Earliest Deadline F irst (EDF) 演算法來排程週期性工作和非週期性 工作 [12],EDF 演算法的特性為擁有較小截限時間的工作有較高優先權取得處理器使 6.

(14) 用權,非週期性工作本身沒有截限時間,但可以藉由 TB Server 所設定的虛擬截限時 間,依據 EDF 排程演算法跟週期性任務競爭處理器使用權。當 us 越大則代表非週期 性工作有越小的虛擬截限時間,在跟週期性任務競爭時會有較高的優先權,越容易搶 到處理器使用權提早執行完成,平均反應時間越小。 週期性任務集合 T = {T1 , T2 , .., TN } 的總利用率為 Up =. N C ∑ i ,當使用 EDF 排程 P i=1 i. 演算法來排程工作時,週期性任務集合 T 若要能被排程則必須滿足 Up ≤ 1.0。如果 一個系統是以 TB Server 來為非週期性工作設定虛擬截限時間且伺服器能力大小為 us ,若週期性任務利用率為 Up 要達到可排程而不會執行超過截限時間則必須滿足 Up + us ≤ 1。. 3.2 Ratio Reclaim Algorithm Ratio Reclaim Algorithm (RRA) 演算法是由 Chien 所提出 [9],在單一 DVS 處理 器之下,使用 EDF 演算法來排程混合性任務,以 TB Server 來設定非週期性工作的 虛擬截限時間。提出一種新的資料結構 earliness-queue 來保存提早完成工作的未使 用執行時間,它能比 M utual Reclaim Algorithm (MRA) 演算法所使用的 α-queue[2], 花費更少的空間保存提早完成工作所剩餘的執行時間。當有工作要執行時,可以利用 earliness-queue 內提早完成工作所剩餘的未使用執行時間 (earliness) 來降速執行,達 到降低系統能耗。如果把未使用執行時間全部給週期性工作來降速,會讓非週期性工 作的開始執行時間延後,造成平均回應時間變長。為了要在降低能耗時,避免非週期 性工作的平均回應時間上升過多,提出了一個由使用者所設定的比例值 (User-defined Ratio),來控制工作所能獲得的未使用執行時間多寡,達到最小化能耗和非週期性工作 平均回應時間的目的。 在本研究中也將使用 earliness-queue 資料結構,作為提早完成工作所剩餘執行時 間的保存空間,但不會使用到 RRA 演算法中,由使用者所設定的比例值 (User-defined Ratio),所以在此只詳細介紹 earliness-queue,其他部分就不多做描述。earlinessqueue 的資料結構類似於就緒佇列 (Ready Queue),我們先介紹就緒佇列,當工作 Ti,j (/Jk ) 抵達時,會在就緒佇列新增一筆紀錄,再把這工作的相關訊息存放到這筆紀 7.

(15) 錄的對應欄位裡面,當工作完成時,這筆紀錄會從就緒佇列中移除。就緒佇列每筆紀 錄有四個欄位分別為識別碼 (Identity),絕對 (虛擬) 截限時間,預設速度下工作所剩 Sˆ. ˆ. 餘的最大執行時間 wi,ji,j (/wkSk ),還有剩餘執行時間 remi,j (/remk )。在工作抵達時剩餘 Sˆ. ˆ. 執行時間會等於工作的最大執行時間,wi,ji,j (/wkSk ) 和 remi,j (/remk ) 的值會隨著工作執 行而遞減。 接下來介紹 earliness-queue。當工作 Ti,j (/Jk ) 提早完成時,會在 earliness-queue 裡面新增一筆紀錄,每筆紀錄裡面包含三個欄位,分別為任務識別碼 (Identity),絕對 (虛擬) 截限時間,和提早完成工作未使用執行時間 eari,j (/eark )。接著我們在下面說明 earliness-queue 的維護規則: 1. 當系統開始運作時,earliness-queue 將被初始化為空的鏈結串列 (linked-list) 資 料結構。 2. 當有週期性工作 Ti,j 或非週期性工作 Jk 提早完成時,會在 earliness-queue 裡新 增一筆紀錄,然後將 Ti,j 或 Jk 在就緒佇列裡的任務識別碼和絕對 (虛擬) 截限時 間記錄到 earliness-queue 對應欄位裡面,其中就緒佇列 remi,j (/remk ) 欄位的值 會被記錄到 earliness-queue 裡的 eari,j (/eark ) 欄位內。earliness-queue 中的記 錄以絕對 (虛擬) 截限時間的欄位值排序,截限時間越小的紀錄排在越前面。 3. 當有一個新的工作 Ti,j (/Jk ) 要執行時,它會先去參考 earliness-queue,利用下 列式子計算可以從中得到多少 earliness:. ε = Σh|dh ≤di,j (/dk ) earh. (3.2). 只要 earliness-queue 內存有紀錄,則這些紀錄都是 Ti,j (/Jk ) 可取得未使用執行 時間的對象,但 Ti,j (/Jk ) 只能從 earliness-queue 拿取比自己的絕對 (虛擬) 截限 時間 di,j (/dk ) 小或相等的工作的未使用執行時間,未使用執行時間被拿完的紀錄 必須從 earliness-queue 內移除。 4. 當系統閒置時,earliness-queue 中第一筆紀錄的 eari , j(/eark ) 欄位的值會隨著 時間遞減,當遞減為零時紀錄會被從內移除。 8.

(16) 3.3 Ratio-based Aggressive Reclaim Algorithm Ratio-based Aggressive Reclaim Algorithm (RARA) 是由 Kuo 所提出 [8],針對 Bandwidth Sharing Scheme (BSS)[2] 的方法做改進,RARA 和 BSS 的主要想法都是 要利用未使用執行時間來降低系統能耗,對於未使用執行時間的回收處理上分為兩個 部分,分別是 (1) 回收提早完成的週期性和非週期性工作所剩餘的未使用執行時間、 (2) 回收 TB Server 閒置 (上一個非週期性工作截限時間已過且下一個非週期性工作還 未抵達) 的時間,詳細的方法將會在以下做說明。RARA 演算法跟 BSS 演算法不同的 地方有兩個,分別是 (1) 對於回收未使用執行時間時所使用的資料結構,BSS 演算法 使用 α-queue 來儲存,而 RARA 演算法是以前面介紹的 earliness-queue 來存放這些 未使用執行時間。(2) 在設定虛擬工作的執行時間上,RARA 還使用了一個由使用者 所定義的變數 θ,來改善非週期性工作平均反應時間。 RARA 演算法是在單一個 DVS 處理器下,利用 EDF 演算法來排程混合性任務。 使用 TB Server 設定非週期性工作的虛擬截限時間 (Virtual Deadline),再依據 EDF 演算法以此截限時間跟週期性任務競爭處理器使用權。當系統執行時,週期性和非週 期性工作大部分沒有使用到最大執行時間 [5],工作可能會提早完成,並剩餘一些未使 用到的執行時間 (Slack Time),如果把這些未使用的執行時間回收後,重新分配給週 期性工作使用,當可利用的執行時間增加時,就能以比較低的速度執行,達到降低能 耗的目的。實際做法為,當有週期性或非週期性工作提早完成時,會剩下一些未使用 到的執行時間,RARA 演算法根據上一節介紹的 earliness-queue 所定義的規則來存 放並重新利用這些未使用的執行時間。詳細步驟為在 earliness-queue 裡新增一筆紀 錄,然後把提早完成工作的任務識別碼、絕對 (虛擬) 截限時間、所剩餘的未使用執 行時間存放到 earliness-queue 內的對應欄位裡面,之後將執行的週期性工作會依據 earliness-queue 內紀錄的截限時間大小,取用這些未使用執行時間。若紀錄的未使用 執行時間值為 0 時 (可能被週期性工作取用或是當系統閒置時隨著時間遞減),該紀錄 將被從 earliness-queue 中移除。 當非週期性工作執行完畢時,若下一個非週期性工作尚未抵達且就緒佇列裡又沒 有其他非週期性工作,則在下一個非週期性工作抵達之前,TB Server 會處於閒置狀 9.

(17) 態。如果把 TB Server 處於閒置狀態的這段未使用時間,重新分配給之後的週期性工 作來降速,將可以有效降低系統能耗。作法為在 TB Server 閒置時插入一個虛擬工作 (Virtual Job),虛擬工作是一個實際執行時間為零的非週期性工作,當虛擬工作被產 生後,會將適當執行時間長度 cv 當成它的執行時間,而截限時間 dv 是依據 TB 演算 法及執行時間計算出,之後將對於執行時間長度與截限時間計算做詳細說明。虛擬 工作的執行時間設定完後,因為它的實際執行時間為零,所以不會被放入就緒佇列 中等待執行,而是直接把全部的執行時間回收到 earliness-queue 裡記錄。作法是在 earliness-queue 裡面新增一筆紀錄,把執行時間與截限時間放入這筆記錄的對應欄位 裡面,接著結束工作。之後的週期性工作就可以利用這些在 earliness-queue 內未使用 的執行時間來降速。 如果分配太多的時間給週期性工作降速,則會讓非週期性工作的平均反應時間變 差。為了在降低能耗時不至於對非週期性工作平均反應時間有太大的影響,在設定虛 擬工作的執行時間 cv 時,RARA 演算法會比 BSS 演算法多乘上一個 θ 值。θ 是一個 值介於 0.1 到 1 之間,由使用者所自訂的比例值,若 θ 值設定適當,不但能降低能耗 還能降低非週期性工作的平均反應時間。假設 t 為 TB Server 開始閒置的時間點,ED 為在就緒佇列內離目前時間點最近的週期性工作截限時間,us 為 TB Server 的伺服器 能力大小 (Server Size)。虛擬工作執行時間 cv 的設定方法如下列式子所示: cv = ⌊θ · us · (ED − 1 − t)⌋.. (3.3). 在 RARA 演算法中,當 TB Server 閒置時會產生虛擬工作,虛擬工作會將 TB Server 開始閒置的時間 t 到在就緒佇列內離目前時間點最近的週期性工作截限時間的前一個 單位時間 ED − 1 這段時間,乘上伺服器能力大小 us ,再乘上由使用者所訂的比例值 θ 後取下界 (Floor),來當作虛擬工作的執行時間。用 ED − 1 的目的在於要讓虛擬工 作的優先權比截限時間為 ED 的週期性工作高,如此才能及早貢獻出虛擬工作的未使 用執行時間給離目前時間點最近的週期性工作使用。虛擬工作的執行時間設定完後, 還要依據 TB 演算法設定它的截限時間 dv ,假設 t 為 TB Server 開始閒置的時間點, dk−1 為前一個非週期性工作的截限時間,cv 為虛擬工作的執行時間,us 為伺服器能力. 10.

(18) 大小,虛擬工作截限時間 dv 的設定方法如下列式子所示:. dv = max(t, dk−1 ) +. . 11. cv . us. (3.4).

(19) 第 四章 利用預測機制積極回收混合性任務未使用 時間之排程演算法 此章第一節將提出 Aggressive Reclaim with P rediction Algorithm (ARPA) 演算 法,ARPA 演算法是將 RARA 演算法加入猜測機制來更進一步增進效能。第二節將 舉例說明 ARPA 的實際運作,表示出方法與 RARA 的不同之處,之後比較 APRA 與 RARA 的效能,接著證明 ARPA 的可排程性。. 4.1 利用預測機制積極回收混合性任務未使用時間之排程演 算法 在本節中,我們提出利用預測機制積極回收混合性任務未使用時間之排程演算法 (Aggressive Reclaim with P rediction Algorithm:ARPA),與 RARA 相同都是利用 TB Server 處理非週期性工作,且以 EDF 演算法排程混合性任務集,而其目的是為了 有效回收原分配給 TB Server 但是可能未被完全使用的處理器時間。ARPA 對於提早 完成工作剩餘時間的回收與重新分配作法與 RARA 相同,都是利用 earliness-queue 資料結構來保存提早完成的週期性或非週期性工作的未使用執行時間,然後分配這些. 12.

(20) 未使用執行時間給之後的週期性工作來降速。而 ARPA 與 RARA 的不同處在於如何 回收當 TB Server 閒置到下一個非週期性工作抵達前的閒置時間,ARPA 針對這部分 的運作做了改善,盡量減少回收行為造成非週期性工作平均反應時間變差的影響。 ARPA 演算法與 RARA 演算法的運作想法類似,都是在當 TB Server 閒置 (上一 個非週期性工作截限時間已過且下一個非週期性工作還未抵達),插入一個虛擬工作來 回收一部分的閒置時間,這麼做的目的是希望能利用這段閒置時間,來更進一步降低 系統能耗,而不讓時間浪費。由於 RARA 並無考慮到下一個非週期性工作何時抵達, 當以式子 3.3所計算出的虛擬工作執行時間後,所求得的截限時間很有可能比下一個非 週期性工作的抵達時間大,將使下一個非週期性工作的截限時間延後設定,導致它的 反應時間增加。因此我們提出了 ARPA 演算法,ARPA 演算法是針對 RARA 在設定 虛擬工作執行時間這部分來做改善,希望不會因為插入虛擬工作而影響到下一個非週 期性工作的反應時間,進而降低對非週期性工作的平均反應時間影響,提升系統效能。 以下將詳細說明虛擬工作執行時間的設定為什麼會影響下一個非週期性工作的反應時 間,而 ARPA 演算法利用甚麼方法來解決這個問題。 在 Earliest Deadline F irst (EDF) 排程演算法之下,擁有越小絕對 (/虛擬) 截限時 間 (Deadline) 的工作有越高的優先權,將越快拿到處理器使用權,如果非週期性工作 抵達後有較小的虛擬截限時間,就有較高的優先權先拿到處理器執行,若工作能越早 完成,反應時間就會越小。基於以上的論述,我們提出一個想法,希望能降低虛擬工 作之後下一個非週期性工作的反應時間。根據 TB 演算法,虛擬工作截限時間的設定 如式子 3.4所示。在設定虛擬工作的截限時間 dv 時,我們唯一能控制的是虛擬工作執 行時間 cv 的大小,所以將透過改變 cv 的大小來調整 dv 的大小。 當下一個非週期性工作 Jk 抵達時,同樣依據 TB 演算法計算出該工作的截限時間 dk : dk = max(rk , dv ) +. ck us. (4.1). 從上式中,我們可以觀察到虛擬工作的截限時間 dv 會影響下一個非週期性工作的截限 時間 dk 的設定,因為在設定下一個非週期性工作的截限時間時,會從它的抵達時間 rk 和 TB Server 已設定的虛擬工作截限時間 dv 中取較大值後,再進一步計算出 dk 。且. 13.

(21) 在 TB 演算法裡能影響截限時間的數個因素當中,下一個非週期性工作的抵達時間 rk 和最大執行時間 ck 都無法事先得知,為了可排程性,伺服器能力大小 us 在開始執行 前就為固定值。所以能被控制的因素只有虛擬工作的截限時間 dv ,從以上說明可以知 道,若虛擬工作的截限時間越小,則越不容易影響下一個非週期性工作的截限時間, 可知虛擬工作執行時間 cv 的設定會間接影響下一個非週期性工作的反應時間。式子 4.1與式子 3.1不同之處在於,Jk 的前一個非週期性工作原本因該是 Jk−1 ,但因為 TB Server 閒置的關係,在兩者之間插入虛擬工作,Jk 的前一個非週期性工作變成是虛擬 工作 Jv ,所以必須在虛擬工作的截限時間 dv 與 Jk 的抵達時間 rk 兩者之間取最大值 來計算 Jk 的截限時間 dk ,而不是直接用 Jk−1 的截限時間 dk−1 計算。 ARPA 在實作上,當 TB Server 閒置時,藉由插入虛擬工作回收虛擬工作執行時間 給之後週期性工作降速,為了減低在設定虛擬工作執行時間時,對於下一個非週期性 工作截限時間的影響,ARPA 的運作流程如圖 4.1所示。 圖 4.1中的 A. 部分用來判斷此時 TB Server 是否處於閒置狀態,運作時間點為當非 週期性工作截限時間已到時,檢查就緒佇列內是否有非週期性工作,若無,代表 TB Server 即將閒置,可以允許回收時間給週期性工作降速。 圖 4.1中的 B. 部分是用來初步計算虛擬工作之執行時間與截限時間,之後需依據情 況再做修正。首先使用 RARA 設定虛擬工作 Jv 執行時間的方法,根據式子 3.3,設定 虛擬工作 Jv 之暫時執行時間 cv (之後將作修正),然後利用暫時執行時間 cv 依據 TB 演算法算出虛擬工作的暫時截限時間 dv ,設定方法如式子 3.4所示。 從式子 4.1中可以發現,虛擬工作的截限時間大小會影響下一個即將抵達非週期性 工作的截限時間。我們希望虛擬工作的截限時間小於等於下一個非週期性工作的抵達 時間,因為虛擬工作的截限時間如果比下一個非週期性工作的抵達時間晚,則下一個 非週期性工作的截限時間就必須往後設定,這會讓工作的優先權較低,開始執行時間 將會延遲,完成時間也因此延後,影響到反應時間。 圖 4.1中的 C. 部分則因為在系統執行中,我們會統計目前時間之前的 x 個抵達系 統之非週期性工作之抵達時間間隔平均值。因為下一個非週期性工作的抵達時間是不 可預知的,所以我們利用非週期性工作抵達時間的歷史紀錄猜測下一個非週期性工作 Jk 的抵達時間為 rbk ,詳細作法為記錄每一次非週期性的抵達時間,計算鄰近兩個抵達 14.

(22) START. A. 檢查TB Server 是否閒置. No. Yes B.使用RARA的方法設定cv 再以cv 根據式子3.3設定d v. C.利用前x次抵達時間點間距的平均值 加上前一次的抵達時間 當作下一次的猜測抵達時間rˆk. D.. No. 判斷d v是否 ≤ rˆk. Yes E.插入虛擬工作J v. F.插入虛擬工作J v. 設定cv的方法同RARA. 使用ARPA的方法. 所以不需重新計算cv. 根據式子4.2. cv = cv. 重新設定cv. dv = dv. 再以cv 根據式子3.3設定d v. G.將cv回收至earliness -queue 等待分配給週期性工作降速. END. 圖 4.1: ARPA 流程圖 時間點的間距,並用前 x 次抵達時間點間距的平均值加上前一個非週期性工作 Jk−1 的 抵達時間,來當作下一個非週期性工作的猜測抵達時間。以下將利用這個猜測出來的 抵達時間 rbk 跟計算出來的虛擬工作的暫時截限時間 dv 做比較。 圖 4.1中的 D. 部分在做 dv 與 rbk 的大小比較,我們對照流程圖中的 E 與 F 部分以 圖 4.2輔助說明 dv 與 rbk 兩者之間的關係。 圖 4.1中的 E. 部分為 dv ≤ rbk 成立,表示下一個非週期性工作 Jk 的猜測抵達時間 rbk 會比虛擬工作的暫時截限時間 dv 晚,如圖 4.2(a) 的位置關係所示。虛擬工作的加入 比較不會影響到 Jk 截限時間的設定,而導致 Jk 完成時間延遲。虛擬工作的實際執行 時間 cv 與實際截限時間 dv 將分別設定成 cv 與 dv ,這種情況所得到的結果跟 RARA 15.

(23) TB Server開始閒置. t. dv. rˆk. rˆk. dv. (a) dv ≤ rbk TB Server開始閒置. t (b) dv > rbk. 圖 4.2: dv 與 rbk 的位置關係示意圖 演算法相同,所以不需要重新計算。 圖 4.1中的 F. 部分為 dv > rbk 成立,表示虛擬工作暫時截限時間 dv 大於猜測抵達 時間 rbk ,非週性工作將很有可能在虛擬工作的截限時間之前抵達,如圖 4.2(b) 的位置 關係所示。若下一個非週期性工作 Jk 抵達時間比虛擬工作截限時間早,虛擬工作的截 限時間將會影響到下一個非週期性工作的截限時間設定,使得它開始執行時間延後。 為了避免延遲 Jk 執行,因此我們不能以 cv 來設定成虛擬工作的執行時間 cv ,須以下 列式子來設定 cv : cv = ⌊θ · us · (b rk − t)⌋.. (4.2). 上式大部分與 RARA 設定 cv 的式子相同 (請參考式子 3.3),不同的地方在於這邊使用 猜測出來的下一個非週期性工作的抵達時間 rbk 取代之前的 ED − 1。使用上面式子算 出 cv 後,再以式子 3.4計算出虛擬工作截限時間 dv 。如此經由 ED − 1 代換成 rbk 所重 新計算出的 cv ,再由 cv 算出的 dv 必定小於等於下一個非週期性工作的猜測抵達時間 rbk ,影響下一個非週期性工作截限時間往後設定的機會降低。 圖 4.1中 G. 部分是將虛擬工作放置到 earliness-queue 裡面,且設定未使用執行時 間為 cv ,等待分配給之後週期性工作做降速使用,ARPA 演算法的運作流程結束。 以下將針對實際執行狀況做討論說明,當 dv > rbk 時,會使用式子 4.2來設定虛擬工 作執行時間 cv 。我們要避免虛擬工作的截限時間超過下一個非週期性工作的猜測抵達 時間。但是 rbk 只是猜測的抵達時間,可能與實際狀況有誤差,b rk 不一定等於 rk ,有 16.

(24) 可能比實際抵達時間來得早或晚,誤差大小依據猜測準確度決定。b rk 與 rk 的關係如圖 4.3所示。 TB Server開始閒置. t. rˆk. rk. rk. rˆk. (a) rbk ≤ rk TB Server開始閒置. t (b) rbk > rk. 圖 4.3: rbk 與 rk 的位置關係示意圖 如果 rbk ≤ rk ,依據式子 4.2設定 cv ,再使用 cv 依據式子 3.4所設定的 dv ,因為不會 超過猜測抵達時間 rbk ,所以一定也不會超過實際抵達時間 rk ,不會影響到下一個非週 期性工作截限時間的設定。但是 rbk 到 rk 這段時間將無法再做回收,因為我們認為時 間到達猜測抵達時間點後,非週期性工作將隨時抵達,若再做回收即可能會影響到下 一個非週期性工作執行。反之,如果 rbk > rk ,則 dv 有可能被設定在實際抵達時間 rk 之後,會影響下一個非週期性工作截限時間的設定,造成反應時間變差。所以若猜測 準確度越高,b rk 與 rk 之間的差距將會越小,當 rbk > rk 時,對於下一個非週期性工作 的影響將減小,非週期性工作平均反應時間就會較佳。. 4.2 舉例與可排程性證明 此節我們將用實例來比較 ARPA 和 RARA 兩個排程演算法排程混合性任務集合的 效能,之後再證明 ARPA 的可排程性。假設混合性任務集合是由兩個週期性任務 T1 、 T2 和一組非週期性工作集合組成,T1 、T2 的週期都為 10,執行時間都為 4,T1 的抵 達時間為 0,T2 的抵達時間為 1。假設有四個非週期性工作在系統執行時抵達,抵達 時間分別為 4、14、24、34,執行時間分別為 2、2、1、2。 週期性任務集合的總使用率 Up 為 0.8(= 17. 4 10. +. 4 ),為了維持系統的可排程,TB 10.

(25) Server 的使用率 us 被設為 0.2(= 1 − Up )。當非週期性工作抵達時,TB Server 會設定 它的的截限時間,之後再使用 EDF 演算法排程週期性和非週期性工作。在此例子中, 我們假設週期性任務的所有工作與非週期性工作都不會提早完成,所以不會剩餘未使 用執行時間給之後的週期性工作降速。在測量不同排程演算法對於排程混合性任務集 合的效能時,我們使用系統總能耗乘上非週期性工作的平均反應時間當作效能量測標 準。以下將介紹 RARA 和 ARPA 對週期性任務 T1 、T2 和非週期性工作集合的排程, 假設使用者定義值 θ = 1,使用 RARA 演算法排程結果如下圖所示: T1 (10, 4) 0. 4. 10. 14. 20. 24. 30. 34 35. 40 41. 45. 50. 35. 39 41. 45. 49 50. T2 (10, 4) 1. 4. 8. 4. 8. 11. 14. 18. 21. 25. 29 31. J1 10. 14. J2. us = 0.2. 14. 18 20. 24. J3 24 25. 29. J4 34. 39 41. 44. 圖 4.4: 使用 RARA 排程混合性任務 2 非週期性工作 J1 依據 TB 演算法所算出來的截限時間 d1 等於 14(= d0 + uc1s = 4 + 0.2 ),. 之後的非週期性工作 J2 、J3 的截限時間 d2 、d3 分別為 24、29。當時間為 29 時,就緒 佇列 (queue) 內沒有任何非週期性工作,TB Server 開始閒置,此時會插入一個虛擬工 作並設定它的執行時間 cv 等於 2 (= ⌊θ · us · (ED − 1 − t)⌋ = ⌊1 · 0.2 · (40 − 1 − 29)⌋), 並直接把這兩個單位時間回收到 earliness-queue 中。因為時間從 29 到 30 這一個單位 時間中,佇列內沒有任何工作,系統會閒置並從 earliness-queue 減去一個單位的未用 執行時間。當時間為 34 時 J4 抵達,設定它的截限時間為 44,因為設定的截限時間比 T1,4 的還大,因此優先權較低,T1,4 會先執行,earliness-queue 裡剩下一個單位未用 執行時間會分配給 T1,4 作降速使用,T1,4 會以降低後的速度 0.8(=. 4 ) 4+1. 執行。T1,4 執. 行時間變長會影響 T2,4 的執行時間延後,J4 的執行時間也跟著延後,反應時間變差。 根據上圖排程區段所算出的系統能耗 E1 等於 45.562(= 36 + 5(0.8)3 + 7 + 2(0.1)3 ),非 18.

(26) (10−4)+(20−14)+(25−24)+(41−34) ),系統能耗與反 4. 週期性工作的平均反應時間 R1 等於 5(= 應時間的乘積為 227.81(= E1 ∗ R1 )。. 接著介紹 ARPA 演算法排程結果如下圖所示: T1 (10, 4) 0. 4. 10. 14. 20. 24. 30. 34. 40. 29 31. 34. 38. 34. 38 40. 44. 50. 44. 48 50. T2 (10, 4) 1. 4. 8. 4. 8. 11. 14. 18. 21. 25. 41. J1 10. 14. J2. us = 0.2. 14. 18 20. 24. J3 24 25. 29. J4 44. 圖 4.5: 使用 ARPA 排程混合性任務 當時間為 29 時 TB Server 閒置,ARPA 與 RARA 相同都會在此時藉由插入一個虛擬 工作來回收閒置時未使用的執行時間,ARPA 會先利用 RARA 的方法設定虛擬工作的 暫時執行時間 cv 等於 2(同上面 RARA 的計算方式),再使用暫時執行時間算出暫時截 限時間 dv 等於 39(= d3 +. cv us. = 29 +. 2 )。接著以前兩次的抵達間隔長度紀錄 0.2. 為 10;J2 到 J3 也是 10),算出 J4 的猜測抵達時間 rb4 為 34(= 24 +. (J1 到 J2. 10+10 )。比較 2. dv 與. rb4 的大小,發現猜測的抵達時間比暫時截限時間來得小 (34<39),必須使用 ARPA 的 方法重新計算 cv ,經過重新計算的 cv 等於 1 (= ⌊θ · us · (b rk − t)⌋ = ⌊1 · 0.2 · (34 − 29)⌋), 並直接把這一個單位時間回收到 earliness-queue 中。因為時間從 29 到 30 這一個 單位時間佇列內沒有任何工作,系統會閒置並從 earliness-queue 減去一個單位的 未用執行時間,此時 earliness-queue 為空,之後 earliness-queue 就沒有未用執行時 間能分配給 T1,4 作降速使用。雖然沒有作為降速使用的未用執行時間,能耗會較 差,但因回收時間較少,對於 J4 的影響也較小,反應時間會較好。根據上圖排程 區段所算出的系統能耗 E2 等於 47.003(= 40 + 7 + 3(0.1)3 ),非週期性工作的平均反 應時間 R2 等於 4.75(=. (10−4)+(20−14)+(25−24)+(40−34) ),系統能耗與反應時間的乘積為 4. 223.264(= E2 ∗ R2 )。 19.

(27) 從 RARA 與 ARPA 的結果觀察發現,使用 ARPA 演算法來排程雖然系統能耗升高 了,但非週期性工作的平均反應時間降低,效能量測結果的好壞是依據系統能耗與非 週期性工作平均反應時間的乘積,所以從上面的例子可看出 ARPA 的效能會比 RARA 的效能好。 ARPA 在排程混合性任務集合時,為了降低週期性任務的執行速度達到降低能耗的 目的,執行時會回收週期性任務和非週期性工作的未使用執行時間,在降速時必須考 慮到是否會影響到其他週期性工作的執行,導致週期性工作無法滿足即時需求 (完成時 間在截限時間之後)。以下我們將討論 ARPA 在排程混合性任務集合時,能否產生一個 可行的排程 (Feasible Schedule)。 定理 1: 如果混合性任務集合在最大速度執行下存在可行的排程 (Feasible Schedule), 以 ARPA 對該混合性任務集合進行排程時,將能產生可行的排程。 證明:ARPA 在設定完虛擬工作的暫時執行時間 cv 和暫時截限時間 dv 後,會利用暫 時截限時間跟所猜測的下一個非週期性工作抵達時間 rbk 做比較,如果 dv ≤ rbk ,則 cv 會設定成 cv ,得到結果與 RARA 相同。在 Kuo 所提出的論文中 [8],已證明了 RARA 對於混和性工作的可排程性,因此,我們省略當 dv ≤ rbk 的證明描述。若 dv > rbk , 則 ARPA 會使用式子 4.2的方法重新設定 cv ,我們只要證明以此方法所設定的執行時 間 cv ,小於利用 RARA 方法所計算出的值 (根據式子 3.3計算出的 cv )。因為 RARA 的可排程性已被證明,RARA 所設定的 cv 已不會影響到週期性工作的可排程性,若 cv < cv ,則 cv 對週期性工作的可排程性影響更小,即可證明 ARPA 在 dv > rbk 時,對 於混合性任務集合的可排程性。 使用 ARPA 時,必須先以式子 3.3算出 Jv 的暫時執行時間 cv , cv = ⌊θ · us · (ED − 1 − t)⌋. (4.3). 因為 θ 值介於 0.1 ∼ 1 之間,得到不等式: cv ≤ us · (ED − 1 − t). 20. (4.4).

(28) 再以 cv 算出 Jv 的暫時截限時間 dv ,. dv = max(t, dk−1 ) +. cv us. t 為 TB Server 閒置時間點,t ≥ dk−1 ,. dv = t +. cv us. us · (dv − t) = cv 再用上面式子代入不等式 4.4,. us · (dv − t) ≤ us · (ED − 1 − t) dv ≤ ED − 1 當 dv > rbk 時, rbk < dv ≤ ED − 1 rbk < ED − 1 根據式子 4.3與式子 4.2即可得到,. cv = ⌊θ · us · (b rk − t)⌋ < ⌊θ · us · (ED − 1 − t)⌋ = cv. cv < cv 即證明了 dv > rbk 時,ARPA 對於混合性任務集合的可排程性。. 21.

(29) 第 五章 效能評估 在本章中,我們首先將說明實驗的相關設定,之後將探討實驗結果。. 5.1 實驗環境設置 在本節中,我們將說明實驗的相關設定,為了能夠驗證我們所提出的 ARPA 演算 法的效能,我們設計了一套模擬實驗,使用單一個 DVS 處理器排程混合性任務集合, 觀察在不同 θ 值與不同非週期性工作抵達時間特性下,ARPA 與 RARA 演算法的效能 比較結果。θ 值介於 0 到 1 且以 0.1 為變動單位,θ 值越大代表虛擬工作回收的時間越 多;非週期性工作抵達時間的特性設定將在之後做詳細說明。每個實驗結果為 20 組相 似特性任務集合的實驗平均值。每一組實驗的測試時間為一百萬個單位時間。我們假 設在速度為 S 之下,處理器能耗函式為 P (S) = S 3 。 我們設計一個混合性任務產生器來產生週期性任務和非週期性工作,系統最大負載 Ue 等於週期性任務總使用率 Up 加上非週期性平均負載 Ua 。Up 的值為 0.8,TB Server 的伺服器能力大小為 0.2,Ua 的值每間隔 10,000 個單位時間會變動一次,變動範圍在 0.02 到 0.2 之間,每次變動幅度為 0.01。一開始 Ua 預設為 0.2 往下以 0.01 遞減,到 範圍邊界後往反方向變動。 每一個混合性任務集合擁有 10 個週期性任務和數個非週期性工作,且每一個週 期性任務 Ti 的第一個工作之抵達時間 Ri 為 0。處理器最小速度 Smin 設定為 0.1,最 22.

(30) 大速度 Smax 設定為 1。在最大速度 Smax 執行之下,每一個週期性任務 Ti 的週期 Pi 為在 [50,150] 範圍內的隨機值,任務的最大執行時間設為 ui ∗ Pi ,ui 為週期性任務 Ti 的使用率,每個週期性任務的使用率是從總使用率以隨機的比例分配。實驗中的非週 期性工作平均抵達時間間隔被設定為週期性任務集合平均週期的一倍、兩倍或三倍 (1or2or3 ∗ P ),這邊以三倍平均週期 (3 ∗ P ) 為例子來說明抵達時間間隔的設定方法。 我們以 3 ∗ P 當作常態分佈 (Normal distribution) 的平均數設定連續兩個非週性工作的 抵達時間間隔。在實驗時,我們以上界 (Uper bound) 與下界 (Lower bound) 來限制常 態分佈的範圍。以 3 ∗ P 為最大上界與最小下界的差異值,我們將 3 ∗ P 分成 20 等份, 範圍區間最小為 1,最大為 10,以範圍區間等於 n 為例,只有以常態分佈變數取出的 值界於 3 ∗ P − n ·. 3∗P 20. 與 3∗P +n·. 3∗P 20. 的時間間隔才會被使用,這麼做的目的是要觀. 察非週期性工作抵達時間間隔大小變動的差異對於測試目標的影響。在最大速度 Smax 之下,非週期性工作 Jk 的執行時間為三倍週期性任務集合的平均週期乘上非週期性工 作集合的平均負載 (3 ∗ P ∗ Ua )。 工作實際執行時間會根據. BCET W CET. 比例變化,BCET (Best-case execution time) 為最. BCET 小執行時間,WCET (Worst-case execution time) 為最大執行時間。 W 比例值介 CET. 於 0.1 ∼ 1 之間,週期性和非週期性工作的實際執行時間是從 BCET 到 WCET 之間 取常態分佈來決定它的值。根據所給的 W CET +BCET ,標準差 2. BCET W CET. (Standard deviation) 為. 比例,常態分佈的平均數 (Mean) 為. W CET −BCET ,所得到的執行時間大約有 6. 99.7% 會被設定在 [BCET,WCET] 範圍內。 我們將混合性任務的效能量測標準設定為系統總能耗 (Energy Consumption)、非週 期性工作的平均反應時間 (Aperiodic Jobs Average Response Time)、與前兩者乘積值。 我們以 RARA 的實驗結果為比較對象,因此呈現的數據是經過正規化所得到的結果, 正規化作法是以 ARPA 的實驗結果除以 RARA 的實驗結果。. 5.2 實驗結果 接下來我們首先呈現 RARA 和 ARPA 在非週期性工作的平均抵達間隔時間為測試 週期性任務之平均週期的一倍、兩倍、與三倍時,在不同 θ 值與非週期性工作抵達時. 23.

(31) 間的範圍區間 n 下,兩者間的效能比較。 以下為實驗的相關參數設定,週期性任務總使用率 UP = 0.8,非週期性工作使用率 BCET Ua 的值會在 0.02 和 0.2 之間來回變動, W 比例值固定為 0.9,非週期性工作猜測 CET. 抵達時間的取樣個數 x = 10。 圖 5.1為在非週期性工作的平均抵達間隔時間為一倍週期性任務集合平均週期之 結果。圖 5.1(a) 為在各組測試條件相同時,使用 ARPA 方法之系統總能耗除以使用 RARA 方法之系統總能耗所得到的比值。一般來說,RARA 的總能耗會比 ARPA 好, 因為當 dv > rbk 時,ARPA 在設定虛擬工作執行時間時,希望不要影響下一個非週期 性工作的執行,所以會使用式子 4.2設定虛擬工作執行時間。但是 RARA 沒有這個判 斷機制,因此回收的未使用執行時間會較多,所以能耗較低。此外,我們從圖中觀察 到,當 θ 值大於 0.5 時,ARPA 的能耗比 RARA 還要低,這是因為雖然 RARA 回收 的未使用執行時間比 ARPA 多,但實際利用到未使用執行時間的週期性工作比 ARPA 少,所以能耗會比 ARPA 差。另外,隨著 n 值變大 ARPA 的能耗會越來越差,因為 當 n 值越大猜測會越不準確,下一個非週期性工作的猜測抵達時間 rbk 可能比實際抵達 時間 rk 差異很大。如果 rbk 比 rk 大很多時,dv ≤ rbk 的可能性較大,這時會與 RARA 使用同樣方法設定虛擬工作執行時間,能量的消耗與 RARA 一樣。但當 rbk 比 rk 小很 多時,dv 較容易大於 rbk ,會根據式子 4.2設定虛擬工作執行時間,所得到的未使用執 行時間會偏小,導致總能耗較 RARA 差,所以會有能耗隨著 n 值越大而越差的現象。 圖 5.1(b) 為在相同實驗參數下,使用 ARPA 方法之非週期性工作平均反應時間除以使 用 RARA 方法之非週期性工作平均反應時間所得到的比值。我們從圖中可以觀察到, 在不同 θ 值時,ARPA 的非週期性工作平均反應時間皆比 RARA 小,因為 ARPA 在 當 dv > rbk 時,是用猜測的抵達時間 rbk 來計算虛擬工作的執行時間,而猜測的抵達時 間 rbk 會比 ED − 1 更接近實際抵達時間,在設定虛擬工作截限時間時,將減少對之後 抵達非週期性工作截限時間的影響。另外,ARPA 經由虛擬工作回收給週期性工作使 用的未使用執行時間較少,代表週期性工作只能拿到較少的未使用執行時間來降速, 對於非週期性工作的影響也會較小。因此,平均反應時間會比 RARA 好。此外,也可 觀察到,隨著 n 值變大,ARPA 的平均反應時間會稍微變差,因為 n 值越大,非週期 性工作的抵達時間間隔變化會越大,導致猜測越不精準,因此所猜測的抵達時間有可 24.

(32) 能會比實際抵達時間大很多,所以設定的虛擬工作之截限時間較大,將造成非週期性 工作平均反應時間變差。圖 5.1(c) 為在相同實驗參數下,使用 ARPA 方法之系統總能 耗與非週期性工作平均反應時間的乘積值除以使用 RARA 方法之系統總能耗與非週期 性工作平均反應時間的乘積值所得到的比值,換言之,即是將圖 5.1(a) 與 5.1(b) 合併 呈現。我們從圖 5.1(c) 可得知 ARPA 的效能比 RARA 的效能好,圖形的趨勢跟非週 期性工作平均反應時間的圖幾乎一樣,我們從圖中了解實驗結果受到非週期性工作平 均反應時間的影響比受到系統總能耗影響大。若能大幅改進非週期性工作平均反應時 間,對於效能比較有幫助。 圖 5.2為在非週期性工作的平均抵達間隔時間為兩倍週期性任務集合平均週期之結 果。圖 5.2(a) 為在相同實驗參數下,使用 ARPA 方法之系統總能耗除以使用 RARA 方法之系統總能耗所得到的比值。圖中效能趨勢與圖 5.1(a) 大致相同。圖 5.2(b) 為在 相同實驗參數下,使用 ARPA 方法之非週期性工作平均反應時間除以使用 RARA 方 法之非週期性工作平均反應時間所得到的比值。圖中效能趨勢與圖 5.1(b) 大致相同, 在相同的 θ 值之下 ARPA 的非週期性工作平均反應時間比 RARA 好,因為當 dv > rbk 時,ARPA 依據式子 4.2所設定的 dv 較接近下一個非週期性工作實際抵達時間 rk ,對 於下一個非週期性工作的截限時間影響較小。而 RARA 沒有這個判斷機制,設定的截 限時間 dv 有很大機率超過實際抵達時間 rk ,所以非週期性工作平均反應時間較差。圖 5.2(c) 為在相同實驗參數下,使用 ARPA 方法之系統總能耗與非週期性工作平均反應 時間的乘積值除以使用 RARA 方法之系統總能耗與非週期性工作平均反應時間的乘積 值所得到的比值。我們從圖中觀察到 ARPA 的效能量測結果優於 RARA,圖中效能趨 勢與非週期性工作平均反應時間相同,表示最後結果受反應時間影響較重。 圖 5.3為在非週期性工作的平均抵達間隔時間為三倍週期性任務集合平均週期之結 果。圖 5.3(a) 為在相同實驗參數下,使用 ARPA 方法之系統總能耗除以使用 RARA 方法之系統總能耗所得到的比值。圖中效能趨勢與圖 5.1(a)、5.2(a) 大致相同。圖 5.3(b) 為在相同實驗參數下,使用 ARPA 方法之非週期性工作平均反應時間除以使用 RARA 方法之非週期性工作平均反應時間所得到的比值,圖中效能趨勢與圖 5.1(b)、 圖 5.2(b) 大致相同。圖 5.3(c) 為在相同實驗參數下,使用 ARPA 方法之系統總能耗與 非週期性工作平均反應時間的乘積值除以使用 RARA 方法之系統總能耗與非週期性工 25.

(33) 作平均反應時間的乘積值所得到的比值。我們從圖中觀察到 ARPA 的效能量測結果優 於 RARA,圖中效能趨勢與非週期性工作平均反應時間相同,表示最後結果受反應時 間影響較重。 圖 5.4為非週期性工作的平均抵達間隔時間為三倍週期性任務集合平均週期的系 統總能耗與非週期性工作平均反應時間的乘積值。圖 5.4(a) 與 (b) 分別為 ARPA 與 RARA 的實驗結果。在此,我們只展示抵達間隔時間為週期性任務集合平均週期的三 倍之結果,因為當抵達間隔時間為一倍週期或兩倍週期的結果與三倍週期的結果類似。 我們比較兩圖的趨勢可發現在相同 θ 值之下,ARPA 的結果皆比 RARA 來得好。且 當 θ 值越大時,ARPA 與 RARA 的乘積值差異會逐漸增加,所以在圖 5.3 ARPA 與 RARA 正規化結果的比較中,可以觀察到 θ 值越大結果越好,但是單獨看 ARPA 的結 果,可以發現 θ 值越小結果越好。因為 θ 值越小,可以將回收的未使用執行時間分配 給較多的週期性工作,因此,當有較多的週期性工作可以拿到未使用執行時間來降速 時,就能使整體電耗更加降低。 接著我們要呈現 RARA 和 ARPA 在週期性任務總使用率 UP =0.7,非週期性工作 使用率 Ua 的值會在 0.02 和 0.3 之間以 0.01 的幅度來回變動,在不同 θ 值與不同非 週期性工作抵達時間的範圍區間 n 下,經過正規化的效能比較結果。實驗的相關參數 BCET 比例值固定為 0.9,非週期性工作猜測抵達時間的取樣個數 x = 10, 設定為, W CET. 使用一倍週期性任務集合平均週期設定非週期性工作執行時間。圖 5.5為 UP = 0.7、 Ua = 0.02 ∼ 0.3(以 0.01 來回變動) 在不同 θ 值與不同 n 值下之效能量測結果。圖 5.5(a) 為在相同實驗參數下,使用 ARPA 方法之系統總能耗除以使用 RARA 方法之系 統總能耗所得到的比值。所得到的圖中效能趨勢與 UP = 0.8、Ua = 0.02 ∼ 0.2(以 0.01 來回變動) 相似。圖 5.5(b) 為在相同實驗參數下,使用 ARPA 方法之非週期性工作平 均反應時間除以使用 RARA 方法之非週期性工作平均反應時間所得到的比值,效能趨 勢上與 UP = 0.8、Ua = 0.02 ∼ 0.2(以 0.01 來回變動) 相同。圖 5.5(c) 為在相同實驗參 數下,使用 ARPA 方法之系統總能耗與非週期性工作平均反應時間的乘積值除以使用 RARA 方法之系統總能耗與非週期性工作平均反應時間的乘積值所得到的比值。我們 從圖中觀察到 ARPA 的效能量測結果優於 RARA,圖中效能趨勢與非週期性工作平均 反應時間相同,表示最後結果受反應時間影響較重。 26.

(34) 在 ARPA 運作機制中,下一個非週期性工作的猜測抵達時間 rbk 是以前 x 個非週 期性工作抵達時間的間隔平均值求出,猜測的準確與否會影響虛擬工作執行時間的設 定。我們希望了解若以不同的取樣個數 x 來猜測抵達時間,在不同的非週期性工作抵 達時間的範圍區間 n 的設定下,對於效能有何影響。實驗的相關參數設定為,週期性 任務總使用率 UP = 0.8,非週期性工作使用率 Ua 的值會在 0.02 和 0.2 之間來回變動, BCET W CET. 比例值固定為 0.9,非週期性工作猜測抵達時間的取樣個 x 由 1 到 10 做測試。. 圖 5.6為不同的非週期性工作猜測取樣個數在不同 n 值之下的實驗結果。圖 5.6(a) 為 在相同實驗參數下,不同的 n 值在不同猜測取樣個數 x 之下的系統總能耗。從圖中可 以發現,當 n 較大,非週期性工作抵達時間間隔變化越大,如果取樣個數 x 逐漸變 大,對於能耗有顯著改善。然而,當 x 大到某個程度之後,能耗改善趨於平緩,代表 取樣數對於能耗的改善幅度變小。另外,當 n 值越小,代表非週期性工作抵達時間間 隔越沒變異性,猜測取樣個數對於實驗結果的影響也將越小。從圖中可發現,當 n = 0 時,曲線在不同猜測取樣個數之下無起伏變化。另外,當取樣個數固定時,若 n 值越 大,則猜測越不準確,能耗越大。因為當猜測越不準確,b rk 和 rk 差異會越大,若 rbk 比 rk 大時,會一次回收過大的未使用執行時間,給單一個週期性工作做降速使用。 但是,如果逐漸小區段的回收給多個週期性工作使用,將能有較佳的省電效果。圖 5.6(b) 為在相同實驗參數下,不同的 n 值在不同猜測取樣個數 x 之下的非週期性工作 平均反應時間。從圖中可以觀察到,隨著取樣個數 x 值越大,當 n 值越小,非週期性 工作抵達時間將能猜測的越準確,所以非週期性工作平均反應時間會越小。原因是當 rbk > rk 時,所設定虛擬工作截限時間會影響到下一個非週期性工作的截限時間,因而 影響非週期性工作平均反應時間。如果猜測得越不準確時,b rk 和 rk 的差距會越大,若 rbk > rk ,則對於非週期性工作的平均反應時間影響也會越巨大。圖 5.6(c) 為在相同實 驗參數下,不同的 n 值在不同猜測取樣個 x 之下的系統總能耗與非週期性工作平均反 應時間的乘積值。換言之,即是將圖 5.5(a) 與 5.5(b) 合併呈現。觀察發現,圖 5.6(c) 的效能趨勢與 5.6(a) 與 5.6(b) 相同,當 n 值較大,如果取樣個數 x 逐漸變大,對於效 能有顯著改善。然而,當 x 大到某個程度之後,效能改善趨於平緩。 ARPA 利用簡單的統計前數個非週期性工作的抵達時間紀錄,猜測下一個即將抵達 的非週期性工作的抵達時間,可避免在設定虛擬工作執行時間時,過度影響非週期性 27.

(35) 工作的平均反應時間。如果猜測時的所記錄的資料個數較多,則猜測準確度將提高, 對於整體的效能越有幫助。. 28.

(36) 正規化系統總能耗. 1.03. 1.02. 1.01. 1. 0.99. 0.98 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. n. 正規化非週期性工作平均反應時間. (a) 系統總能耗 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. n. 正規化系統總能耗 ∗ 正規化非週期性工作平均反應時間. (b) 非週期性工作平均反應時間 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ = 0.1 θ = 0.2 θ = 0.3 θ = 0.4 θ = 0.5 θ = 0.6 θ = 0.7 θ = 0.8 θ = 0.9 θ =1. n (c) 系統總能耗 ∗ 非週期性工作平均反應時間. 圖 5.1: 在非週期性工作的平均抵達間隔時間為一倍週期性任務集合平均週期之實驗結 果 29.

(37) 1.025. 10. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. 10. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. 正規化系統總能耗. 1.02 1.015 1.01 1.005 1 0.995 0.99 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. n. 正規化非週期性工作平均反應時間. (a) 系統總能耗 1.05 1 0.95 0.9 0.85 0.8 0.75 0.7 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. n. 正規化系統總能耗 ∗ 正規化非週期性工作平均反應時間. (b) 非週期性工作平均反應時間 1.1 1 0.9 0.8 0.7 0.6 0.5 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ = 0.1 θ = 0.2 θ = 0.3 θ = 0.4 θ = 0.5 θ = 0.6 θ = 0.7 θ = 0.8 θ = 0.9 θ =1. n (c) 系統總能耗 ∗ 非週期性工作平均反應時間. 圖 5.2: 在非週期性工作的平均抵達間隔時間為兩倍週期性任務集合平均週期之實驗結 果 30.

(38) 1.02. 正規化系統總能耗. 1.015 1.01 1.005 1 0.995 0.99 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. n. 正規化非週期性工作平均反應時間. (a) 系統總能耗 1.05 1 0.95 0.9 0.85 0.8 0.75 0.7 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. n. ∗. 正規化非週期性工作平均反應時間. 正規化系統總能耗. (b) 非週期性工作平均反應時間 1.05 1 0.95 0.9 0.85 0.8 0.75 0.7 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. n (c) 系統總能耗 ∗ 非週期性工作平均反應時間. 圖 5.3: 在非週期性工作的平均抵達間隔時間為三倍週期性任務集合平均週期之實驗結 果 31.

(39) ∗ 非週期性工作平均反應時間. 系統總能耗. 86000000 81000000 76000000 71000000 66000000 61000000 56000000 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. n (a) ARPA 系統總能耗 ∗ 非週期性工作平均反應時間 ∗ 非週期性工作平均反應時間. 系統總能耗. 86000000 81000000 76000000 71000000 66000000 61000000 56000000 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ θ θ θ θ θ θ θ θ θ. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. n (b) RARA 系統總能耗 ∗ 非週期性工作平均反應時間. 圖 5.4: 在非週期性工作的平均抵達間隔時間為三倍週期性任務集合平均週期之 ARPA 與 RARA 個別實驗結果. 32.

(40) 1.04. 10. θ θ θ θ θ θ θ θ θ θ. 10. θ = 0.1 θ = 0.2 θ = 0.3 θ = 0.4 θ = 0.5 θ = 0.6 θ = 0.7 θ = 0.8 θ = 0.9 θ =1. 正規化系統總能耗. 1.03 1.02 1.01 1 0.99 0.98 0.97 0.96 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. = 0.1 = 0.2 = 0.3 = 0.4 = 0.5 = 0.6 = 0.7 = 0.8 = 0.9 =1. n. 正規化非週期性工作平均反應時間. (a) 系統總能耗 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. n. 正規化系統總能耗 ∗ 正規化非週期性工作平均反應時間. (b) 非週期性工作平均反應時間 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. θ = 0.1 θ = 0.2 θ = 0.3 θ = 0.4 θ = 0.5 θ = 0.6 θ = 0.7 θ = 0.8 θ = 0.9 θ =1. n (c) 系統總能耗 ∗ 非週期性工作平均反應時間. 圖 5.5: UP = 0.7、Ua = 0.02 ∼ 0.3(以 0.01 來回變動) 在不同 θ 值與不同 n 值下的實驗 結果 33.

(41) 751000 750000. 系統總能耗. 749000 748000 747000 746000 745000 744000 743000 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. n=0 n =1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n = 10. 取樣個數. (a) 系統總能耗 非週期性工作平均反應時間. 13. 12.5. 12. 11.5. 11. 10.5 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. n=0 n =1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n = 10. 取樣個數. (b) 非週期性工作平均反應時間 ∗ 非週期性工作平均反應時間. 系統總能耗. 10000000. n=0 n =1 n=2 n=3 n=4 n=5 n=6 n=7 n=8 n=9 n = 10. 9500000. 9000000. 8500000. 8000000. 7500000 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 取樣個數. (c) 系統總能耗 ∗ 非週期性工作平均反應時間. 圖 5.6: 不同的非週期性工作猜測取樣個數在不同 n 值之下的的實驗結果 34.

(42) 第 六章 結論 本論文主要研究在單一 DVS 處理器上對於混合性任務集合的排程問題,目的為 最小化系統能耗和非週期性工作平均反應時間。當系統運作時,週期性任務或非週 期性工作不會總是使用最大執行時間來執行,工作可能會提早完成。且非週期性工 作的實際負載也可能會小於 TB Server 的伺服器能力,所以我們提出利用預測機制 積極回收混合性任務未使用時間之排程演算法 (Aggressive Reclaim with P rediction Algorithm:ARPA),試圖回收使用這些提早完成工作所剩餘的未使用執行時間和 TB Server 閒置時的未使用執行時間,重新分配給之後的週期性任務降速,以降低能耗。 在盡量降低能耗之餘,ARPA 對 RARA 做了改善。透過預測非週期性工作抵達時間和 加入一個判斷機制,限制虛擬工作執行時間的大小,在回收未使用執行時間時較不容 易影響到下一個非週期性工作的執行,讓非週期性工作平均反應時間更進一步的降低, 透過實驗我們證明了 ARPA 的效能。在未來研究方面,我們想試圖嘗試用不同的猜測 機制來預測下一個非週期性工作的抵達時間,希望能進一步提高準確度提高整體效能。. 35.

(43) Bibliography [1] H. Aydin, R. Melhem, D. Mosse, and P. Alvarez. Power-aware scheduling for periodic real-time tasks. IEEE Transactions On Computers, 53(5):584–600, 2004. [2] H. Aydin and Q. Yang. Energy-responsiveness tradeoffs for real-time systems with mixed workload. In IEEE Real-Time and Embedded Technology and Applications Symposium, pages 74–83, 2004. [3] J.J. Chen and C.F. Kuo. Energy-efficient scheduling for real-time systems on dynamic voltage scaling (dvs) platforms. In IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pages 28–38, 2007. [4] C. Ellis. The case for higher-level power management. In Workshop on Hot Topics in Operating Systems, pages 162–167, 1999. [5] R. Ernst and W. Ye. Embedded program timing analysis based on path clustering and architecture classification.. In IEEE/ACM International Conference on. Computer-Aided Design (ICCAD), pages 598–604, 1997. [6] L.A. Gutierrez, C.A. Franco, R.R. Jacinto, and C.A. Gutierrez. Minimizing the response times of aperiodic tasks in hard real-time systems with edf. In IEEE Electronics Robotics and Automotive Mechanics Conference, pages 268–273, 2006. [7] I. Hong, G. Qu, M. Potkonjak, and M.B. Srivastava. Synthesis techniques for lowpower hard real-time systems on variable voltage processors. In The 19th IEEE Real-Time Systems Symposium, pages 178–187, 1998. 36.

(44) [8] C. Kuo. Ratio-based aggressive reclaim algorithm for mixed task sets. In IEEE International Conference on Embedded and Ubiquitous Computing, pages 2042– 2049, Nov. 2013. [9] C. Kuo, L. Chien, and Y. Lu. Scheduling algorithm with energy-response trade-off considerations for mixed task sets. In ACM International Conference on Reliable and Convergent Systems, pages 410–415, Oct. 2013. [10] T. Li and C. Ding. Instruction balance and its relation to program energy consumption. In International Workshop on Languages and Compilers for Parallel Computing, pages 71–85, 2001. [11] T.H. Lin and W. Tarng. Scheduling periodic and aperiodic tasks in hard real-time computing systems. In ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems, pages 31–38, 1991. [12] C.L. Liu and J.W. Layland. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM, 20(1):46–61, Jan. 1973. [13] P. Mejia-Alvarez, E. Levner, and D. Mosse. Adaptive scheduling server for poweraware real-time tasks. In ACM Transactions on Embedded Computing Systems, volume 3, pages 284–306, May 2004. [14] C. Scordino and G. Lipari. Using resource reservation techniques for power-aware scheduling. In The 4th ACM International Conference on Embedded Soft-Ware, pages 16–25, 2004. [15] D. Shin and J. Kim. Dynamic voltage scaling of periodic and aperiodic tasks in priority-driven systems. In The 2004 Asia and South Pacifi Design Automation Conference, pages 653–658, 2004. [16] M. Spuri and G. Buttazzo. Scheduling aperiodic tasks in dynamic priority systems. Real-Time Systems, 10(2):179–210, 1996. 37.

(45)

參考文獻

相關文件

z 方波是一週期波,其正及負峰值 存在的時間長度一樣,而兩者是 交互出現,如圖5-14所示。對一

第四章 連續時間週期訊號之頻域分析-傅立葉級數 第五章 連續時間訊號之頻域分析-傅立葉轉換.. 第六章

(一)每日正常工作時間為8小時,上午8:00-12:00下午1:00-5:00,每週以40小時

下圖一是測量 1994 年發生於洛杉磯的 Northridge 地震所得 到的圖形。任意給定一個時間 t ,從圖上可看出此時間所對

數位計算機可用作回授控制系統中的補償器或控制

訓練課程需符合全日制訓練(訓練期間 1 個月以上、每星期訓練 4 日以上、每日 訓練日間 4 小時以上、每月總時數 100

The study samples are students’ quiz grades , homework assignments (paper homework and English homework) and six comprehensive examinations.. It’s our hope that these conclusions

啦啦隊比賽 班會時間 環管週球類比賽 環星之夜(送舊) 系主任時間 導師會面時間. 班代會議