國立屏東大學 即時與嵌入式系統實驗室
Earliest Deadline First with Virtual Deadlines(EDF-VD)
Highlights
- Dual-Criticality系統中最佳的動態排程方法
在混合關鍵性即時工作的動態優先權排程方法方面,幾乎所有的研究成果都是採用著名的最早截限時間優先(Earliest Deadline First,EDF)[Liu1973]1)方法進行工作排程,其中以美國北卡羅來納大學教堂山分校(UNC)以Sanjoy Baruah教授為首的研究團隊是此研究方向的先驅,他們率先發表了以EDF方法為基礎的排程方法[BaruahVestal2008]。後續Park與Kim[ParkKim2011]則針對Dual-Criticality系統,提出了結合EDF方法與寬裕時間(Slack Time)的排程方法,在確保工作能滿足截限時間的要求之下,儘可能地延後高關鍵層級工作的執行,從而創造出可供低關鍵層級工作執行的寬裕時間。Guan等學者[Guan2011]以及Ekberg與Yi[EkbergYi2012]同樣針對EDF方法與Dual-Criticality系統,進行了更完整的可排程性學理分析,提出了一個為每一個高關鍵層級工作$\tau_i$增設一個假的截限時間$D'_i$的做法(當然$D'_i \leq D_i$)。由於採用了EDF方法,因此這個增設的(較短的)截限時間,將可以讓高關鍵層級工作先於低關鍵層級工作執行。但是當高關鍵層級工作執行超出其低關鍵層級的執行時間預算時,則不允許低關鍵層級工作執行並且讓高關鍵層級工作回復到原本的截限時間。此做法後續由Yao等學者[Yao2014]透過更嚴謹的可排程系學理分析,進一步提出了更佳的假截限時間的計算方法。Ekberg與Yi[EkbergYi2014]則進一步將此做法延伸應用到L-Criticality系統。同樣針對Dual-Criticality系統的非週期性即時工作,Baruah與Fohler進一步,提出了一個非工作保留模式(non-work-conserving)2)的排程方法[BaruahFohler2011],利用處理器的加速以減少工作執行時間進而提升可排程性。
後續美國北卡羅來納大學教堂山分校(UNC)以Sanjoy Baruah教授為首的研究團隊,針對Dual-Criticality系統,提出了一個名為Earliest Deadline First with Virtual Deadlines(EDF-VD)[Baruah2015]的排程方法最為重要。EDF-VD方法將系統內所有的高關鍵層級工作的截限時間都依一個相同的比率進行調整(調整後的新截限時間被稱為Virtual Deadline),然後再使用EDF方法進行排程。Baruah還進一步提出一個時間複雜度為$\mathcal{O}$($n$)的可排程性測試方法[Baruah2011a],並在[Baruah2012b]計算出其Speedup Factor為1.3333) ,且證明EDF-VD是Dual-Criticality系統中最佳的排程方法(其Speedup Factor最低)4)。
後續在EDF相關的排程方法的研究方面,Ekberg與Yi提出了一個針對Dual-Criticality系統的EDF排程方法[EkbergYi2012li],針對每個關鍵層級分別制定其需求函式,在確保每個關鍵層級中的工作需求不會超出供給的前題下,為每個高關鍵層級工作給定一個調整後的截限時間並使用EDF為所有工作進行排程。Lipari與Buttazzo則同樣針對Dual-Criticality系統提出了一個Reservation-Based的方法[LipariButtazzo2013],預先為高關鍵層級的工作保留充足的預算(Budget),只有在高關鍵層級的預算沒有使用完時,才會轉為提供給低關鍵層級使用。Ali與Kim[Ali2014]則提出了一個組合式的方式,與AMC方法類似但在低關鍵層級模式時,讓所有工作透過週期轉換後以RM方法進行排程,一旦切換到高關鍵層級模式時,則改以EDF的策略執行工作。另外,Su等學者[SuZhu2013], [Su2013]則進一步探討如何應用EDF排程方法於週期會變動的工作之上。