• 沒有找到結果。

此節我們將用實例來比較 ARPA 和 RARA 兩個排程演算法排程混合性任務集合的 效能,之後再證明 ARPA 的可排程性。假設混合性任務集合是由兩個週期性任務 T1T2 和一組非週期性工作集合組成,T1、T2 的週期都為 10,執行時間都為 4,T1 的抵 達時間為 0,T2 的抵達時間為 1。假設有四個非週期性工作在系統執行時抵達,抵達 時間分別為 4、14、24、34,執行時間分別為 2、2、1、2。

週期性任務集合的總使用率 Up 為 0.8(= 104 + 104),為了維持系統的可排程,TB

Server 的使用率 us 被設為 0.2(= 1− Up)。當非週期性工作抵達時,TB Server 會設定 時間中,佇列內沒有任何工作,系統會閒置並從 earliness-queue 減去一個單位的未用 執行時間。當時間為 34 時 J4 抵達,設定它的截限時間為 44,因為設定的截限時間比 T1,4 的還大,因此優先權較低,T1,4 會先執行,earliness-queue 裡剩下一個單位未用 執行時間會分配給 T1,4 作降速使用,T1,4 會以降低後的速度 0.8(= 4+14 ) 執行。T1,4行時間變長會影響 T2,4 的執行時間延後,J4 的執行時間也跟著延後,反應時間變差。

根據上圖排程區段所算出的系統能耗 E1 等於 45.562(= 36 + 5(0.8)3+ 7 + 2(0.1)3),非

週期性工作的平均反應時間 R1 等於 5(= (10−4)+(20−14)+(25−24)+(41−34) 單位時間佇列內沒有任何工作,系統會閒置並從 earliness-queue 減去一個單位的 未用執行時間,此時 earliness-queue 為空,之後 earliness-queue 就沒有未用執行時 間能分配給 T1,4 作降速使用。雖然沒有作為降速使用的未用執行時間,能耗會較

從 RARA 與 ARPA 的結果觀察發現,使用 ARPA 演算法來排程雖然系統能耗升高 了,但非週期性工作的平均反應時間降低,效能量測結果的好壞是依據系統能耗與非 週期性工作平均反應時間的乘積,所以從上面的例子可看出 ARPA 的效能會比 RARA 的效能好。

ARPA 在排程混合性任務集合時,為了降低週期性任務的執行速度達到降低能耗的 目的,執行時會回收週期性任務和非週期性工作的未使用執行時間,在降速時必須考 慮到是否會影響到其他週期性工作的執行,導致週期性工作無法滿足即時需求 (完成時 間在截限時間之後)。以下我們將討論 ARPA 在排程混合性任務集合時,能否產生一個 可行的排程 (Feasible Schedule)。

定理 1: 如果混合性任務集合在最大速度執行下存在可行的排程 (Feasible Schedule),

以 ARPA 對該混合性任務集合進行排程時,將能產生可行的排程。

證明:ARPA 在設定完虛擬工作的暫時執行時間 cv 和暫時截限時間 dv 後,會利用暫 時截限時間跟所猜測的下一個非週期性工作抵達時間 brk 做比較,如果 dv ≤ brk,則 cv 會設定成 cv,得到結果與 RARA 相同。在 Kuo 所提出的論文中 [8],已證明了 RARA 對於混和性工作的可排程性,因此,我們省略當 dv ≤ brk 的證明描述。若 dv > brk則 ARPA 會使用式子 4.2的方法重新設定 cv,我們只要證明以此方法所設定的執行時 間 cv,小於利用 RARA 方法所計算出的值 (根據式子 3.3計算出的 cv)。因為 RARA 的可排程性已被證明,RARA 所設定的 cv 已不會影響到週期性工作的可排程性,若 cv < cv,則 cv 對週期性工作的可排程性影響更小,即可證明 ARPA 在 dv >brk 時,對 於混合性任務集合的可排程性。

使用 ARPA 時,必須先以式子 3.3算出 Jv 的暫時執行時間 cv

cv =⌊θ · us· (ED − 1 − t)⌋ (4.3)

因為 θ 值介於 0.1∼ 1 之間,得到不等式:

cv ≤ us· (ED − 1 − t) (4.4)

再以 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 >brk 時,

brk< dv ≤ ED − 1 brk < ED− 1

根據式子 4.3與式子 4.2即可得到,

cv =⌊θ · us· (brk− t)⌋ < ⌊θ · us· (ED − 1 − t)⌋ = cv

cv < cv

即證明了 dv >brk 時,ARPA 對於混合性任務集合的可排程性。

相關文件