Introduction
λ³Έ λ
Όλ¬Έμ λ κ°μ λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ ν©λλ€.
- μ΄λ»κ² κΈ°μ‘΄μ RTA frameworkλ₯Ό gang task modelμ μΌλ°ννκ³ , κΈ°μ‘΄ RTAμ ꡬμ±μμλ₯Ό μ΄λ»κ² νμ©νλμ?
- Gang Schedulingμ νΉμ±μ RTA frameworkμ ν΅ν©νμ¬ λΉκ΄μ±μ μ΅μννλ λ°©λ²μ 무μμΈκ°μ?
Assumptions
- Gang task model
- Global Preemptive scheduling
- Work-conserving scheduling
Recent Work
Gang EDF Scheduling of Parallel Task Systems μμλ EDF schedulingμμλ§ μ€μΌμ₯΄ κ°λ₯μ±μ λμΆνμκ³ , λλ¨Έμ§ μκ³ λ¦¬μ¦μ λν΄ μ μ©νλ λ°©λ²μ λ€λ£¨μ§ μμμ΅λλ€.
- λν μ΄ λ°©λ²μ
Comments on "gang EDF schedulibility analysis"μμ κ²°ν¨μ΄ μμμ΄ λνλ¬μ΅λλ€.
Generalizing RTA Framework to Gang Scheduling
Definition 1 (miβ=1)
Xλ₯Ό Οkβμ target interval Lμ λν΄μ Οkβκ° activeνμ§λ§ μ€νλμ§ λͺ»ν μκ°μ κΈΈμ΄λΌκ³ μ μνμ.
- λ§μ½ Xκ° (LβCkβ+1) λ³΄λ€ ν¬λ€λ©΄ μμλ‘ (LβCkβ+1)κ°μ time slotμ Xμμ μ ννμ.
- Xκ° (LβCkβ+1)λ³΄λ€ μλ€λ©΄ Xμ μ λΆλ₯Ό μ ννμ.
μ¬κΈ°μμ μ΄ μ νλ time slotλ€μ k-interference time slots of length L for ΟkβλΌκ³ νμ.

- μ¬κΈ°μμ μ°λ¦¬λ (LβCkβ+1)λ§νΌμ k-interference time slotsκ° μ‘΄μ¬ν¨μ΄ Οkβκ° L μμ Ckβλ§νΌμ μ€ννμ§ λͺ»ν
νμ쑰건μμ μ μ μμ΅λλ€.
Definition 2
Ikβiβ(L)λ k-interference time slots of length L for Οkβμμ Οiβμ μ€νμκ°μΌλ‘ μ μλλ©°, μ΄λ₯Ό duration of interference of Οiβ on ΟkβλΌκ³ νμ.
- μμμ μ΄μΌκΈ°νλ (LβCkβ+1)λ§νΌμ k-interference time slotsκ° μ‘΄μ¬ν¨μ κ²°κ΅ βΟiββΟ,Οkβξ β=ΟiββIkβiβ(L)=mβ
(LβCkβ+1)λ‘ μ 리ν μ μμ΅λλ€.
- λ°λΌμ, μ (1)(μ (2)μ λμΉ)μ λ§μ‘±νλ Ckββ€Lβ€Dkβκ° μλ€λ©΄ Οkβλ L μμ Ckβλ§νΌμ μ€νν μ μμ΅λλ€.
ΟiββΟ,Οkβξ β=ΟiβββIkβiβ(L)<mβ
(LβCkβ+1)(1)
βCkβ+βmβΟiββΟ,Οiβξ β=ΟkββIkβiβ(L)βββ€L(2)
- Offline testμμ μ¬μ©νκΈ° μν΄ κ° target μκ³ λ¦¬μ¦μ λν΄μ Ikβiβ(L)μ upper bound Ikβi+β(L)λ₯Ό ꡬν΄μΌ ν©λλ€.
- μ΄λ λͺ¨λ ΟkββΟμ λν΄μ Ikβi+β(L)λ₯Ό μ (1)μ λμ
νμμ λ μ±λ¦½νλ€λ©΄, Schedulableνλ€λ κ²μ μ μ μμ΅λλ€.
- μ΄μ Gang Schedulingμ μ μ©νκΈ° μνμ¬ miβ=1 κ°μ μ ν΄μ νκ³ , λ€μκ³Ό κ°μ΄ μ μν μ μμ΅λλ€.
Definition 3
k-interference time slots λμ (mβmkβ+1)κ°μ νλ‘μΈμκ° Οkβκ° μλ μμ
μ μν΄ μ μ λμ΄μΌ νλ€.
λ§μ½ λ μ μ λμ΄μλ€λ©΄ k-interference time slotsμ μ μμ μλ°°λλ€.
μ΄λ μ°λ¦¬λ μμλ‘ (mβmkβ+1)κ°μ νλ‘μΈμλ₯Ό μ νν μ μκ³ ,
μ΄λ μ νλ νλ‘μΈμλ€μ k-interference processors of k-interference time slotsλΌκ³ νμ.

(μ§ν λΉ¨κ°μμ΄ k-interference processors of k-interference time slots)
- μ¬κΈ°μμ duration of interference(1μ°¨μ)λ amount of interference(2μ°¨μ)λ‘ μΌλ°νν μ μμ΅λλ€.
Definition 4
Akβiβ(L)μ k-interference processors of k-interference time slotsμμ Οiβμ μ€νμμΌλ‘ μ μλλ©°, μ΄λ₯Ό amount of interference of Οiβ on ΟkβλΌκ³ νμ.
κ·Έλ¬λ©΄ λ€μ lemmaλ₯Ό ν΅ν΄ μμ
μ΄ μ€νμ μλ£νμ§ λͺ»ν μ νν 쑰건μ λμΆν΄λΌ μ μμ΅λλ€.
Lemma 1
μ (3)μ Οkβκ° L μμ Ckβλ§νΌμ μ€ννμ§ λͺ»ν νμμΆ©λΆμ‘°κ±΄μ΄λ€.
ΟiββΟ,Οiβξ β=ΟkβββAkβiβ(L)=(mβmkβ+1)β
(LβCkβ+1)(3)
Proof
μΆ©λΆμ‘°κ±΄
- λ§μ½ μ(3)μ΄ μ±λ¦½νλ€λ©΄ μ μμ μν΄ κ° k-interference time slotsμ λν΄μ (mβmkβ+1)κ°μ νλ‘μΈμκ° Οkβκ° μλ μμ
μ μν΄ μ μ λμ΄μΌ νλ―λ‘, Οkβλ L μμ Ckβλ§νΌμ μ€ννμ§ λͺ»ν©λλ€.
νμ쑰건
- λ§μ½ Οkβκ° L μμ Ckβλ§νΌμ μ€ννμ§ λͺ»νλ€λ©΄, μ μ΄λ (LβCkβ+1)μ time slotλμ μ€νλμ§ λͺ»ν΄μΌ νλ©°,
- μ μμ μν΄ (mβmkβ+1)κ°μ νλ‘μΈμκ° Οkβκ° μλ μμ
μ μν΄ μ μ λμ΄μΌ νλ―λ‘, μ(3)μ΄ μ±λ¦½ν©λλ€.
- Lemma 1μ λΆμ ν¨μΌλ‘μ¨ Theorem 1μ λμΆν μ μμ΅λλ€.
Theorem 1
λ§μ½ μ (4)λ₯Ό λ§μ‘±νλ Ckββ€Lβ€Dkβκ° μ‘΄μ¬νλ€λ©΄ Οkβλ L μμ Ckβλ§νΌμ μ€νν μ μλ€.
ΟiββΟ,Οiβξ β=ΟkβββAkβiβ(L)<(mβmkβ+1)β
(LβCkβ+1)(4)
βCkβ+βmβmkβ+1βΟiββΟ,Οiβξ β=ΟkββAkβiβ(L)βββ€L(5)
λν Akβiβ(L)μ μν Akβi+β(L)λ₯Ό λͺ¨λ Οkβμ λν΄μ μ λνμκ³ , λͺ¨λ Οkβμ λν΄μ Akβi+β(L)μ λν΄ μ (4)λ₯Ό λ§μ‘±νλ€λ©΄ νκ² μκ³ λ¦¬μ¦μ λν΄ Ολ schedulableνλ€.
μ΄λ Οkβμ λν μ΅μ Lμ Οkβμ response time RkβλΌκ³ μ μνλ€.
Proof
μ (4)λ₯Ό λ§μ‘±νμ§λ§ Lμμ Οkβκ° μλ£λμ§ μμμ κ°μ νλ€λ©΄ Lemma 1μ μν΄ λͺ¨μμ΄ λ°μν©λλ€.
μ 리μ λλ²μ§Έ λΆλΆμ Akβiβ(L)β€Akβi+β(L)μ΄λ―λ‘ λ§μ‘±ν©λλ€.
- μ΄λ₯Ό ν΅ν΄ μ°λ¦¬λ λ€μκ³Ό κ°μ μκ³ λ¦¬μ¦μ λμΆν μ μμ΅λλ€.
- μ΄λ Slack Skβλ₯Ό μ΄μ©νλ©°, Skβκ° μμλΌλ©΄ λͺ¨λ Οkβμ μμ
λ€μ΄ deadlineλ³΄λ€ Skβλ§νΌ λ¨Όμ μλ£λ μ μμμ μλ―Έν©λλ€.

μ μμμ Akβi+β(L)λ₯Ό ꡬνκΈ° μν΄μ Akβiβ(L)λ₯Ό Ikβiβ(L)μ processors of interestμ κ°μλ‘ λΆν΄ν μ μμ΅λλ€.
Lemma 2
Akβiβ(L)β€Ikβiβ(L)β
min(miβ,mβmkβ+1)(6)
Proof
k-interference time slotsκ³Ό k-interference processorsμ μ μμ μν΄ Akβiβ(L)λ Ikβiβ(L)μ min(miβ,mβmkβ+1)μ κ³±μΌλ‘ μ νλλ€λ κ²μ μ μ μμ΅λλ€.
Fixed Priority Scheduling
FPμμ Ikβiβ(L)λ λ€μκ³Ό κ°μ΄ ꡬν μ μμ΅λλ€. (Schedulability analysis of global scheduling algorithms on multiprocessor platforms, 2008)
{Ikβi+β(L)=0Ikβi+β(L)β€min(Wiβ(L),LβCkβ+1)βifΒ ΟkβΒ hasΒ aΒ higherΒ priorityΒ thanΒ Οiβ,otherwise.β(7)
- Wiβ(L)λ workloadμ upper boundλ‘, Οiβκ° L μμ μ€νν μ μλ μ΅λ μμ μλ―Έν©λλ€.
Wiβ(L)=Wiβ(L)=Niβ(L)Ciβ+min(Ciβ,L+DiββCiββSiββNiβ(L)Tiβ),Niβ(L)=βTiβL+DiββSiββCiβββ
Earliest Deadline First Scheduling
EDFμμ Ikβiβ(L)λ λ€μκ³Ό κ°μ΄ ꡬν μ μμ΅λλ€.
Ikβi+β(L)β€min(Wiβ(L),Ekβiβ,LβCkβ+1)(8)
μ¬κΈ°μμ Ekβiβλ deadlineμ΄ Οkβλ³΄λ€ μ΄λ₯΄κ±°λ κ°μ Οiβκ° Dkβμμ μ€νλλ μ΅λ μκ°μ μλ―Έν©λλ€.
Ekβiβ=βTiβDkβββCiβ+min(Ciβ,DkβββTiβDkβββTiββSiβ)=Ji,kβ
μ΄λ κ² FPμ EDFμ λν΄μ μκ³ μλ Ikβi+β(L)λ₯Ό μ΄μ©νλ©΄ Gang Schedulingμ λν΄μλ μ μ©ν μ μμ΅λλ€.
Theorem 2
- Algorithm 1μ Akβi+β(L)=Ikβi+β(L)β
min(miβ,mβmkβ+1)λ₯Ό μ μ©νκ³ ,
- RHSμ Ikβi+β(L)λ₯Ό μ (7) λλ (8)λ‘ λ체νλ€λ©΄, κ°κ° FPμ EDFμ λν schedulability testλ₯Ό μνν μ μλ€
- μ΄λ κ² processorμ μμ interference time slotμ λΆλ¦¬νμ¬ κ³μ°ν¨μΌλ‘μ¨ κ³μ°μ λ§€μ° μ¬μμ‘μ§λ§, parallel executionμ μμ ν κ³ λ €νκΈ°λ μ΄λ ΅μ΅λλ€.
- κ·Έλ κΈ° λλ¬Έμ λ€μ μΉμ
μμ μ΄ pessimismμ μ€μ΄κΈ° μν λκ°μ§ κΈ°λ²μ μ μν©λλ€.
- λμμ μ€νλ μ μλ μμ
μ λν΄ λΆμνμ¬ μ΄λ₯Ό κ°μ ν©λλ€.
- μ΄λ»κ² κ° taskμ jobλ€μ΄ k-interference processorλ₯Ό μ μ νλμ§ μ‘°μ¬νκ³ κ³ΌμΆμ λ λΆλΆμ μ°Ύμ΅λλ€.
Addressing Non-Parallel Execution Constraints
Example 1
m=10 νκ²½μμ λ€μκ³Ό κ°μ μΈ κ°μ μμ
μ κ°μ ν©μλ€.
- Ο1β(T1β=10,D1β=10,C1β=5,m1β=6)
- Ο2β(T2β=10,D2β=10,C2β=5,m2β=5)
- Ο3β(T3β=5,D3β=5,C3β=1,m3β=2)

- μ΄ μν©μμ Theorem 2λ Ο1βκ³Ό Ο2βκ° λμμ μ€νλ μ μμμ νμ©νμ§ λͺ»νκΈ°μ Ο3βκ° μ€νλ μ μλ€κ³ νλ¨ν©λλ€.
Lemma 3
λ§μ½ miβ+mjβ>m μ΄λΌλ©΄ λ€μ λΆλ±μμ΄ μ±λ¦½νλ€.
Ikβiβ(L)+Ikβjβ(L)β€LβCkβ+1(9)
Proof
μ(9)λ₯Ό λΆμ νλ©΄ λΉλκΈ°μ§μ μ리μ μν΄ λ°λμ Οiβμ Οjβκ° λμμ μ€νλλ μ μ΄λ νκ°μ time slotμ΄ νμνκ³ , μ΄λ λͺ¨μμ.
λν μ΄λ₯Ό Akβiβ(L)μ λν΄μλ μ μ©ν μ μμ΅λλ€.
Lemma 4
λ§μ½ miβ+mjβ>m, miββ₯mjβ μ΄λΌλ©΄ λ€μ λΆλ±μμ΄ μ±λ¦½νλ€.
Akβiβ(L)+Akβjβ(L)ββ€Ikβiβ(L)β
min(miβ,mβmkβ+1)+Ikβjβ(L)β
min(mjβ,mβmkβ+1)β€Ikβi+β(L)β
min(miβ,mβmkβ+1)+Ikβjβ(L)ββ
min(mjβ,mβmkβ+1)β(10)
μ¬κΈ°μμ Ikβjβ(L)βλ Ikβj+β(L)μ (L+Ckβ+1)βIkβi+β(L) μ€ μμ κ°μ΄λ€.
Proof
첫λ²μ§Έ λΆλ±μμ Lemma 2μ μν΄ μ±λ¦½ν©λλ€.
Case 1. Ikβi+β(L)+Ikβj+β(L)β€LβCkβ+1
- μ΄ κ²½μ°λ λ¨μν RHSμ upper boundλ₯Ό λμ
ν κ²μ
λλ€.
Case 2. otherwise
- μλ‘μ΄ upper bound Ikβiβ²β(L)β€Ikβi+β(L) μ Ikβjβ²β(L)β€Ikβj+β(L)λ₯Ό λμ
ν©μλ€.
- μ°λ¦¬λ LHSμ μμ ν=κ°μ₯ ν°ν° upper boundλ₯Ό ꡬν΄μΌ ν©λλ€.
- miββ₯mjβμ΄λ―λ‘ Ikβiβ²β(L)μ΄ μ΅λκ° λ λ upper boundκ° μ΅λκ° λ©λλ€.
- μ΄λ Ikβjβ²β(L)λ μ΅μκ° λκ³ , μ΄λ (L+Ckβ+1)βIkβi+β(L)λ‘ μ νλ©λλ€.
Example 2
Example 1μμ Ο1βμ λ κ°λ‘ μͺΌκ°λ΄
μλ€.
- Ο1aβ(T1aβ=10,D1aβ=10,C1aβ=5,m1aβ=3)
- Ο1bβ(T1bβ=10,D1bβ=10,C1bβ=5,m1bβ=3)
- Ο2β(T2β=10,D2β=10,C2β=5,m2β=5)
- Ο3β(T3β=5,D3β=5,C3β=1,m3β=2)
μ΄ κ²½μ°λ Example 1κ³Ό λκ°μ΄ schedulableν΄μΌ νμ§λ§ miβ+mjβ>10μΈ κ²½μ°κ° μμΌλ―λ‘ Lemma 4λ₯Ό μ΄μ©ν΄μλ κ²μΆ ν μ μμ΅λλ€.
λ°λΌμ λμμ μ€νν μ μλ task setμ ν¬κΈ°κ° λ κ°λ³΄λ€ ν΄ λμ λν΄μλ μΌλ°νν΄μΌ ν©λλ€.
Lemma 5
λ§μ½ ν¬κΈ° gμ Οβ²βΟ, Οkββ/βΟβ²κ° μ‘΄μ¬νμ¬ μ΄λ€λ€ hβ€gμ λν΄ βhtasksΟiββΟβ²βmiβ>mμ΄λΌλ©΄ λ€μ λΆλ±μμ΄ μ±λ¦½νλ€.
ΟiββΟβ²ββIkβiβ(L)β€(hβ1)β
(LβCkβ+1)(11)
Proof
μ¦λͺ
μ λΉλκΈ°μ§ μ리λ₯Ό μ΄μ©ν Lemma 3μ μ¦λͺ
κ³Ό μ μ¬ν¨.
μ΄λ₯Ό ν΅ν΄ μ°λ¦¬λ Lemma 4λ₯Ό μΌλ°νν μ μμ΅λλ€.
Theorem 3
λ§μ½ gκ°μ Οβ²βΟ, Οkββ/βΟβ²κ° μ‘΄μ¬νμ¬ μ΄λ€ hβ€gμ λν΄ βhtasksΟiββΟβ²βmiβ>mμ΄λΌλ©΄ λ€μ λΆλ±μμ΄ μ±λ¦½νλ€.
ΟiββΟβ²ββAkβiβ(L)ββ€ΟiββΟβ²ββIkβiβ(L)β
min(miβ,mβmkβ+1)β€ΟiββΟβ²ββIkβiβ(L)ββ
min(miβ,mβmkβ+1),β(12)
μ¬κΈ°μμ WLOG. ΟiββΟβ²κ° miβμ λν΄ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬λμ΄ μλ€κ³ ν λ, Ikβiβ(L)βμ λ€μκ³Ό κ°μ΄ μ μλλ€.
Ikβiβ(L)β=β©βͺβͺβ¨βͺβͺβ§βIkβi+β(L),(hβ1)β
(LβCkβ+1)ββz=1iβ1βIkβz+β(L),0,βifΒ C1Β holds;ifΒ C2Β holds;otherwise.β
C1: βz=1iβIkβz+β(L)β€(hβ1)β
(LβCkβ+1),
C2: βz=1iβIkβz+β(L)>(hβ1)β
(LβCkβ+1)andβz=1iβ1βIkβz+β(L)β€(hβ1)β
(LβCkβ+1)
Proof
μ¦λͺ
μ Lemma 4μ μ¦λͺ
κ³Ό μ μ¬ν¨.
μ΄μ Οβ²λ₯Ό μ°Ύλ λ°©λ²λ§ μλ©΄ λ©λλ€. Algorithm 2λ μ΄ Theorem 3μ μ΄μ©νμ¬ Aktotalβ(Rkβ)λ₯Ό ꡬνλ λ°©λ²μ μμ ν©λλ€.

- μ΄ λ°©λ²μ Example 2μ λμ
νλ©΄, Οkβκ° Ο3βμΌ λ Οxβκ° μμλλ‘ Ο2β,Ο1aβ,Ο1bβλ‘ λκ³ ,
- C3β+β10β2+15L+3L+0Lββ=1+(Lβ1)β€Lμ΄λ―λ‘ Ο3βκ° μ€ν κ°λ₯νλ€λ κ²μ λμΆν©λλ€.
Over-Estimation of k-Interference Processor Occupation
μ€μ λ‘λ mβmkβ+1 κ°μ νλ‘μΈμλ§ k-interference Processorμ μν₯μ μ£Όμ§λ§, Algorithm 1μμ Ikβi+β(L)λ₯Ό μ¬μ¬μ©ν¨μΌλ‘μ¨, λ λ§μ νλ‘μΈμκ° μν₯μ μ£Όλ κ²μ²λΌ κ°μ ν©λλ€.
Example 3
m=10 νκ²½μμ λ€μκ³Ό κ°μ λ€ κ°μ μμ
μ κ°μ ν©μλ€.
-
Ο1β(T1β=10,D1β=10,C1β=9,m1β=4)
-
Ο2β(T2β=10,D2β=10,C2β=9,m2β=3)
-
Ο3β(T3β=10,D3β=10,C3β=9,m3β=2)
-
Ο4β(T4β=10,D4β=10,C4β=1,m4β=3)
-
μ¬κΈ°μμ Lμ D4βλ‘ λμμ λ, W1β(D4β)=9, W2β(D4β)=9, W3β(D4β)=9μ΄λ―λ‘ μ (5)μ λΆμλ 81λ‘ κ³μ°λ©λλ€.
-
κ·Έλ¦¬κ³ , μ΄λ₯Ό Ο4βμ λν΄ μ μ©νλ©΄ C4β+β881ββ=1+10>10μ΄λ―λ‘ Ο4βμ schedulabilityλ₯Ό 보μ₯ν μ μμ΅λλ€.
κ·Έλ¬λ μ€μ λ‘λ κ°λ₯ν©λλ€.

μ΄λ κ² κ³ΌμΆμ ν λΆλΆμ μ κ±°νκΈ° μν΄μ Lemma 6μ μ΄μ©ν©λλ€.
Lemma 6
Οβ²βΟμ λν΄μ βΟiββΟβ²βmin(miβ,mβmkβ+1)>mβmkβ+1μ IkΞβ>0μ΄λΌλ©΄ λ€μ λΆλ±μμ΄ μ±λ¦½νλ€.
ΟiββΟβ²ββAkβiβ(L)ββ€ΟiββΟβ²ββIkβi+β(L)β
min(miβ,mβmkβ+1)βIkΞββ
(ΟiββΟβ²ββmin(miβ,mβmkβ+1)β(mβmkβ+1)),β(13)
IkΞβ=(LβCkβ+1)ββΟiββΟβ²β((LβCkβ+1)βIkβi+β(L)).
μ΄λ₯Ό μΌλ°νν΄μ Theorem 5λ₯Ό λμΆν μ μμ΅λλ€.
Theorem 5
Οβ²βΟμ λν΄μ λ€μ λΆλ±μμ΄ μ±λ¦½νλ€.
ΟiββΟβ²ββAkβiβ(L)β€ΟiββΟβ²ββIkβi+β(L)β
min(miβ,mβmkβ+1)βAkΞβ(14)
AkΞβ=βx=1β£Οβ²β£βAkβxΞβ μ΄κ³ , msum(i)=βx=1iβmin(miβ,mβmkβ+1) μΌ λ, AkβxΞβλ Ο1βλΆν° Οβ£Οβ²β£βκΉμ§ μ°¨λ‘λλ‘ κ³μ°λλ€.
AkβxΞβ=β©βͺβͺβͺβͺβͺβͺβͺβ¨βͺβͺβͺβͺβͺβͺβͺβ§βIkΞβ(i)β
min(miβ,mβmkβ+1)IkΞβ(i)β
(msum(i)β(mβmkβ+1))0βifΒ msum(iβ1)>mβmkβ+1Β andΒ IkΞβ(i)>0;elseΒ ifΒ msum(i)>mβmkβ+1Β andΒ IkΞβ(i)>0;otherwise.β
Proof
- else ifμ κ²½μ°λ Lemma 6μ μ΄μ©νμ¬ μ¦λͺ
ν μ μμ΅λλ€.
- otherwiseλ μ무κ²λ λΉΌμ§ μμΌλ―λ‘ μ¦λͺ
λ©λλ€.
- ifμ κ²½μ°λ₯Ό 보면 μ΄λ―Έ iβ1 tasksλ§μΌλ‘λ βx=1iβ1βmin(miβ,mβmkβ+1)>mβmkβ+1μ΄ μ±λ¦½νλ―λ‘,
IkΞββ
miβκ° μ λΆ βΟiββΟβ²βAkβiβ(L)μ κΈ°μ¬νμ§ λͺ»ν¨μ μμ μμ΅λλ€.
- λ°λΌμ μ΄λ₯Ό λͺ¨λ μ κ±°ν΄μ£Όλ©΄ ifλ₯Ό μ¦λͺ
ν μ μμ΅λλ€.
μ¬κΈ°κΉμ§ κ³μ°νλ λ°©λ²μ Algorithm 3μ μ 리νμμ΅λλ€.

Algorithm 2μ 3μ μ¬μ©νκΈ° μν΄μ μ°λ¦¬λ λ μκ³ λ¦¬μ¦μ κ²°ν©ν΄μΌ ν©λλ€.
Algorithm 2μμλ κ·Έλλ‘ Ikβi+β(L)λ₯Ό μ¬μ©νκ³ κ·Έ λμ Ikβiββ(L)λ₯Ό Ikβiβ(Rkβ)βλ‘λ‘ μ
λ°μ΄νΈν©λλ€.
Algorithm 3μμλ Ikβi+β(L)λ₯Ό Ikβiββ(L)λ‘ λ체ν©λλ€.

Theorem 7
Algorithm 1μ Line 6μ Algorithm 4λ‘ λ체νκ³ , Ikβi+β(L)λ₯Ό μ (7) λλ (8)λ‘ λ체νλ€λ©΄, κ°κ° FPμ EDFμ λν schedulability testλ₯Ό μνν μ μλ€.
Proof
- Algorithm 1, Lemma 2, μ (7) λλ (8)μ μν΄ λ¨μ μ¦λͺ
μ Algorithm 4λ₯Ό ν΅ν΄ κ³μ°ν Aktotalβ(Rkβ)κ° βΟiββΟβAkβiβ(Rkβ)μ upper boundμμ 보μ΄λ κ²μ
λλ€.
- λ¨Όμ Algorithm 2μ κΈ°μ΄μΈ Theorem 3μμλ βΟiββΟβAkβiβ(Rkβ)μ μμ ν upper boundλ₯Ό ꡬνκΈ° μν΄ κ° Ikβi+β(L)μ λνμ¬ duration constraintλ₯Ό μ μ§ν λκΉμ§ κ°μ₯ ν° miβλ₯Ό μ νν©λλ€.
- λ°λΌμ Algorithm3μμ Algorithm 2λ₯Ό μνν λ€μ Line 3μμ Algorithm 3μ μννλ κ²½μ°, λ€λ₯Έ μ νμ΄ λ ν° upper boundλ₯Ό λ§λ€ μ μμμ μ¦λͺ
νλ κ²μΌλ‘ μΆ©λΆν©λλ€.
- Ikβiβ²β(Rkβ)βμ Ikβiβ(Rkβ)βμ λ€λ₯Έ μ νμ΄λΌκ³ μ μν©μλ€.
- μΌλ¨ h=g=2, μ¦ mhβ+mjβ>mμΈ κ²½μ°λ§ κ°μ ν©λλ€. λ€λ₯Έ κ²½μ°μμμ μ¦λͺ
λ λΉμ·ν©λλ€.
- Οhβμ Οjβ μ¬μ΄μ λ± 1 time unitμ κ΅ννλ€κ³ κ°μ ν©μλ€.
- μ¦ Ikβhβ²β(Rkβ)β=Ikβhβ(Rkβ)ββ1, Ikβjβ²β(Rkβ)β=Ikβjβ(Rkβ)β+1μ΄λΌ ν©μλ€. λλ¨Έμ§ Ikβiβ²β(Rkβ)βλ Ikβiβ(Rkβ)βμ κ°μ΅λλ€.
- μ΄λ μλ interferenceλ‘λΆν° κ°μνλ μμ min(mhβ,mβmkβ+1)=min(mjβ,mβmkβ+1)β€0μ
λλ€.
- λ°λΌμ, λ¨μ μ¦λͺ
μ min(mhβ,mβmkβ+1)=min(mjβ,mβmkβ+1)β€0μ΄ Algotihm 3μμ κ°μνλ interferenceμ upper boundμμ 보μ΄λ κ²μ
λλ€.
- λ§μ½ Ikβiβ²β(Rkβ)βμΌλ‘ Ikβiβ(Rkβ)βλ₯Ό λ체νλ€λ©΄, λ¨ νλμ μ°¨μ΄μ μ νκ° time slotμ λν΄μ min(mhβ,mβmkβ+1)=min(mjβ,mβmkβ+1)λ§νΌμ κΈ°μ¬κ° μ€μ΄λλ κ² λΏμ
λλ€.
- μ¦ AkΞβλ λ§μμΌ min(mhβ,mβmkβ+1)=min(mjβ,mβmkβ+1)λ§νΌ μ€μ΄λ€κ³ , μ¦ μ 체 upper boundκ° 1μ time unitμ λ°κΎΌλ€κ³ ν΄μ λ 컀μ§μ§ μμμ μ¦λͺ
ν©λλ€.
- μ΄ κ³Όμ μ κ³μ λ°λ³΅νλ©΄ Ikβiβ(Rkβ)βμ μ΄λ€ λ€λ₯Έ μ νλ upper boundλ₯Ό λ ν€μ°μ§ μμμ μ¦λͺ
ν μ μκ³ , Theorem 7μ΄ μ¦λͺ
λ©λλ€.
Evaluation
- WaPe: global scheduling for FP
- DoLi: global scheduling for EDF
- UGB: non-global scheduling (i.e., a generalization of partitioned scheduling) for FP
- RTA-FP and RTA-EDF: Theorem 2 for FP and EDF
- RTA1-FP and RTA1-EDF: Theorem 4 for FP and EDF
- RTA2-FP and RTA2-EDF: Theorem 6 for FP and EDF
- RTAβ-FP and RTAβ-EDF: Theorem 7 for FP and EDF
