compositionality : parent의 timing guarantee를 만족할 필요충분조건은 child의 timing guarantee르 만족하는 것
따라서 저자는 위를 만족하는 scheduling interface model을 소개할 것이라 말한다.
Related Works
이미 소개된 hierarchical scheduling 방법들이다.
fractional resource
항상 UF만큼의 부분적인 resource만을 할당받는 RF(UF) 역시 일종의 hierarchical scheduling 방법이라고 한다.
parent scheduling modell은 child에게 RF(GS)만큼의 resource를 제공하고, child는 RF(GD)의 demand를 요구한다. GS는 기존의 스케줄링 알고리즘들로 정해지며, GD 역시 기존의 schedulability analysis로 쉽게 구해질 수 있다.
근데 GD에 child model의 timing requirement가 없어서 parent model에 task-level deadline 정보를 알 수 있는EDF만 쓸 수 있다는 한계가 있다고 한다.
bounded-delay resource partition model
RB(UB,DB)로 나타내며 full capacity를 일부 시간 동안에는 쓸 수 있으나, 다른 시간에는 RF(UB)만큼의 fractional resource만을 쓸 수 있다. 특징은 RF 하에서 두 event 사이의 시간 간격이 [t−DB,t+DB]로 정해져 있다는 것이다. 이에 따라 모든 task들이 deadline보다 DB만큼 일찍 끝나는 경우 schedulable하다고 한다.
여러 real-time guarantee를 고려하는 hierarchical scheduling framework
Regehr and Stankovic이 제안한 것으로, scheduling interface model I(GS,GD)에 대해 GS를 GD로 변환할 수 있다면 스케줄 가능하다고 주장한다.
Contribution
본 논문에서는 periodic resource model Γ(Π,Θ)를 제시한다. 이 model은 시간 Π마다 Θ만큼의 자원 할당을 보장한다. 이에 따라 아래 문제들을 고려할 수 있다.
Exact Schedulability Analysis : 주어진 W, Γ, A에 대해 M(W,Γ,A)가 schedulable할 필요충분조건을 구하는 문제
Periodic capacity bound : 주어진 W, A, Π에 대해 capacity bound Θ∗/Π를 구하는 문제. 즉, Θ≥Θ∗이면 M(W,Γ(Π,Θ),A)가 schedulable하다.
utilization bound : 주어진 Γ, A에 대해 utilization bound UB를 구하는 문제
Ti∈W∑piei≤UB
algorithm set : 주어진 W, Γ에 대해 M(W,Γ,A)가 schedulable하게 하는 알고리즘 A를 구하는 문제
Compositional Guarantee : n개의 scheduling model이 주어졌을 때, parent scheduling model을 만드는 문제. 이 때 parent model이 schedulalbe할 필요충분조건은 n개의 child model이 schedulable한 것이다.
본 논문에서는 1, 2, 3, 5에 대해서 다룬다고 한다.
System Model
Scheduling Model M은 (W,R,A)로 정의된다.
W : workload model
R : resource model
A : scheduling algorithm
본 논문에서는 Liu & Layland의 periodic task model을 채용하여 task T=(p,e)로 나타낸다. p, e는 주기와 실행 시간이다.
각 task들은 독립이고 preemptive하다.
알고리즘으로는 optimal fixed-priority algorithm인 RM과 optimal dynamic-priority algorithm인 EDF를 사용한다.
Resource model은 partitioned resource model을 사용한다. 위의 bounded-delay resource partition model RB(UB,DB)도 한 가지 예시다.
workload W가 알고리즘 A로 resource R에서 schedulable하면 M(W,R,A)이 schedulable하다고 정의한다.
Periodic Resource Model
먼저 periodic resource model이 필요한 이유는,
periodic task를 가진 periodic application을 abstract하다 보면, 자연스럽게 single periodic task로 abstract할 수 없을지 생각하게 된다. resource가 workload의 periodic한 requirement를 만족하면서 할당되어있다면, resource allocation 역시 periodic behavior를 보일 것이다.
periodic resource model Γ(Π,Θ)
Π 시간마다 Θ 시간 만큼의 자원 할당을 보장한다. (그 안에서는 언제 들어오는지는 모른다.)
resource demand : workload가 request를 보낸 자원의 양 (현재 할당된 양이 아니라 request한 양이다.)
resource demand function dbfW(t)
dbfW(t)=Ti∈W∑⌊piei⌋⋅ei
discrete step function 형태로 나타난다.
상한에 대한 linear function은 ldbfW(t)이며 ldbfW(t)=UW⋅t≥dbfW(t)
partitioned resource가 아니라 항상 다 쓸 수 있는 dedicated resource의 경우 W가 EDF로 schedulable한 필요충분조건은 resource demand가 시간 t보다 작으면 된다. (생각해보면 자명하긴 한데, 왜 hyperperiod의 2배인지는 모르겠다.)
dbfW(t)≤t,forall0<t≤2⋅LCMW
LCMW는 모든 주기의 최소공배수인 hyperperiod를 의미한다.
직관적으로는 resource demand가 resource supply보다 작으면 되는데, dedicated resource의 경우에는 resource supply가 t만큼이기 때문인거고 논문의 모델의 경우에는 sbf보다 작으면 된다.
Theorem 1 (EDF Schedulability Analysis)
주어진 Scheudling Model M(W,Γ,EDF)이 schedulable할 필요충분조건은 아래와 같다. ∀0<t≤2⋅LCMW:dbfW(t)≤sbfΓ(t)
pf)
(i) (필요조건) =>
대우를 생각하면, resource demand가 supply보다 많으면 자명하게 schedulable하지 않다.
(ii) (충분조건) <=
마찬가지로 대우 명제를 생각하자. W가 EDF 하에서 schedulable하지 않으면, deadline miss가 발생하는 task가 존재한다. 이 task를 Ti라 하고 deadline miss가 발생하는 시간을 t2라 하자. t1은 deadline이 t2보다 늦은 instant나 idle한 마지막 time instant라고 하자. 그럼 t=t2−t1이라 했을 때, time interval [t1,t2) 동안 demand는 t보다 크다. 따라서 dbfW(t)>sbfΓ(t)인 t가 존재한다. □
Fixed-Priority
항상 모든 자원을 쓸 수 있는 dedicated resource의 경우 WCRT (Worst Case Response Time)을 구할 수 있는 아래와 같은 iterative algorithm이 알려져 있다.
마찬가지로 ri(0)=ei이며 위 식을 ri(k−1)=ri(k)일 때까지 반복하여 이 때의 ri(k)를 ri로 정의한다.
Theorem 2 (Fixed-Priority Schedulability Analysis)
주어진 Scheudling Model M(W,Γ,FP)이 schedulable할 필요충분조건은 아래와 같다. ∀Ti∈W:ri(Γ)≤pi,whereTk=(pk,ek)
pf) Ii는 worst case interference(자신보다 높은 priroity의 job들에 의해 최대로 preempt당한 경우)를 포함하여 필요한 resource demand이고, service time을 구하는 tbf을 사용하여 response time은 해당 demand만큼의 supply를 만들기까지 걸리는 시간이다. 따라서 implicit deadline(di=pi)이라는 가정 하에 ri(Γ)≤pi이면 Γ에 대해 execution time만큼의 maximum service duration이 deadline보다 작은 것이므로 schedulable하다. □
Periodic Capacity Bounds
periodic capacity CΓ
periodic resource Γ(Π,Θ)에 대해 periodic capacity CΓ를 ΠΘ로 정의한다.
periodic capacity bound PCBW(Π,A)
주어진 resource period와 algorithm에 대해 capacity의 하한을 의미한다.
따라서 PCBW(Π,A)≤ΠΘ인 경우 scheduling model M(W,Γ(Π,Θ),A)은 schedulable하다.
PCB를 이용해서 W를 periodic workload T(p,e)(p=Π,e=Π⋅PCBW(Π,A))로 쉽게 abstract할 수 있다. 뒤에 compositional method에서도 써먹는다.
EDF
Theorem 3 (Optimal Periodic Capacity Bound for EDF)
주어진 periodic workload set W이 EDF 하에서 돌아갈 때, optimal (minimum) periodic capacity bound PCBW∗(Π,EDF) 는 ∀0<t≤2⋅LCMW:dbfW(t)≤sbfΓ(t)
를 만족하는 가장 작은 Θ인 Θ∗에 대해 PCBW∗(Π,EDF)=ΠΘ∗
이고, scheduling model M(W,Γ(Π,Θ),EDF)이 schedulable할 필요충분조건은 PCBW∗(Π,EDF)≤CΓ이다.
설명이 긴데 내용만 보면 자명하다. 그래서인지 증명도 4줄 정도밖에 안 되는데 간단히 설명하자면 Thm 1이 schedulable할 필요충분조건이므로 얘를 만족하는 가장 작은 capacity가 optimal이라는 의미다.
하지만 이 식을 통해서 bound를 구하기는 쉽지 않다. 따라서 논문은 더 쉽게 bound를 구할 수 있는 방법을 소개한다.
Theorem 4 (Periodic Capacity Bound for EDF)
주어진 periodic workload set W이 EDF 하에서 돌아갈 때, periodic capacity bound PCBW(Π,EDF) 는 아래와 같이 구할 수 있다. PCBW∗(Π,EDF)=ΠΘ+ Θ+=max{0<t≤2LCMW}(4(t−2Π)2+8ΠdbfW(t)−(t−2Π))
pf)
lsbfΓ(t)≤sbfΓ(t)이므로 dbfW(t)≤lsbfΓ(t)인 Θ는 Thm 3을 만족하고 capacity bound라고 할 수 있다.
근데 dbf 안에도 ceiling이 있는데 Thm 3에 비해 많이 편해진 게 맞는지 싶다. 또한, 사실 dbf가 항상 lsbf보다 작을 필요는 없는데, 이에 따라 Thm 4에서 구한 Θ+가 Thm 3에서 구하는 Θ∗보다는 크게 구해진다. 논문의 Example 5.1에서 구한 두 값 역시 Θ+가 더 크다.
RM
Optimal Fixed-Priority Scheduling Algorithm인 RM역시 마찬가지로 Thm 5에서 optimal bound를 구하고 더 쉽게 구할 수 있으나 optimal은 아닌 bound를 Thm 6에서 구한다.
Theorem 5 (Optimal Periodic Capacity Bound for RM)
주어진 periodic workload set W이 RM 하에서 돌아갈 때, optimal (minimum) periodic capacity bound PCBW∗(Π,RM) 는 ∀Ti∈W:ri(Γ)≤pi,whereTk=(pk,ek)
를 만족하는 가장 작은 Θ인 Θ∗에 대해 PCBW∗(Π,RM)=ΠΘ∗
이고, scheduling model M(W,Γ(Π,Θ),RM)이 schedulable할 필요충분조건은 PCBW∗(Π,RM)≤CΓ이다.
마찬가지로 Thm2를 만족하기 때문에 schedulable하고, 그중 가장 작은 Θ를 구했기 때문에 optimal이다.
Theorem 6 (Periodic Capacity Bound for RM)
주어진 periodic workload set W이 RM 하에서 돌아갈 때, periodic capacity bound PCBW(Π,RM) 는 아래와 같이 구할 수 있다. PCBW∗(Π,RM)=ΠΘ+ Θ+=max{∀Ti∈W}(4−(pi−2Π)+(pi−2Π)2+8ΠIi)whereIi=ei+∑Tk∈HP(W,Ti)⌈pkpi⌉⋅ek
증명을 위해 새로운 notation이 정의되는데, 원래 RM의 response time을 구하기 위한 iterative method에서
Lemma 5
W 내에서 가장 작은 period인 p∗에 대해 lsbfΓ(p∗)≥ldbfW(p∗)이면 M(W,Γ,EDF)는 schedulable하다.
자리가 없어서 [13]의 증명을 참고하라고 되어있다. [13]는 같은 이름으로 된 Technical Report인데 검색해도 안나와서 없는줄 알았는데 연구실 동기 분이 찾아줬다.
pf)
먼저 짚고 갈 부분은,
ldbfW(t)=UW⋅t,lsbfΓ(t)=ΠΘ(t−2⋅(Π−Θ))
이고, scheduling model이 schedulable하기 위해서는 UW≤CΓ=ΠΘ 이므로 t에 대한 기울기가 lsbfΓ(t)쪽이 더 크다. 따라서 ldbfW(t∗)≤lsbfΓ(t∗)인 t∗에 대해 t>t∗이면 ldbfW(t)≤lsbfΓ(t)이다. 또한 model이 schedulable하다고 했으므로 가장 작은 period 이전에 resource supply가 demand보다 많아지는 지점이 존재하고 t∗≤p∗인 t∗가 존재한다.
이제 다시 본래의 증명으로 돌아가자면,
(i) 0<t<p∗ dbfW(t)의 정의에 따라 ∀0<t<p∗:dbfW(t)=0이고 자명하게 ∀0<t<p∗:dbfW(t)≤sbfΓ(t)이다.
(ii) p∗≤t
위에 언급한대로 ∀t≥p∗>t∗:ldbfW(t)≤lsbfΓ(t)이고,
∀t≥p∗:dbfW(t)≤ldbfW(t)≤lsbfΓ(t)≤sbfΓ(t)
(i), (ii)와 Thm 1에 의해 M은 schedulable하다. □
Theorem 7 (Utilization Bound for EDF)
주어진 periodic resource Γ(Π,Θ)에 대해 EDF 알고리즘의 utilization bound UBΓ(EDF)는 다음과 같다. UBΓ(EDF)=ΠΘ(1−p∗2(Π−Θ))
pf) Lemma 5에 의해 lsbfΓ(p∗)≥ldbfW(p∗)이면 M(W,Γ,EDF)는 schedulable하고,
Theorem 8 (Utilization Bound for RM)
주어진 periodic resource Γ(Π,Θ)에 대해 RM 알고리즘의 utilization bound UBΓ(RM)는 다음과 같다. UBΓ(RM)=ΠΘ(m(m2−1)−p∗m2(Π−Θ))
[13]을 보니 식에 error가 있다고 한다.
UBΓ(RM)=ΠΘ(ln2−p∗m2(Π−Θ))≃ΠΘ(ln2−p∗Π−Θ)
Compositional Real-Time Guarantees
Definition 6.1 (Composition Method)
scheduling model M1,M2,…,Mn에 대해 새로운 scheduling model MP(WP,ΓP,AP)를 다음과 같이 만들 수 있다.
AP,ΓP는 주어졌다고 가정
각 child model의 resource model이 Γi(Πi,Θi)라 할 때, WP={T1(Π1,Θ1),…,Tn(Πn,Θn)}
알고리즘이 EDF, RM인 것에 따라 Thm 3, Thm 5를 통해 PCBWP∗(ΠP,AP)를 구한 뒤 ΘP=ΠP⋅PCBWP∗(ΠP,AP)
로 구한다.
Theorem 9 (Compositional Real-Time Guarantees)
individually schedulable한 scheduling model M1,M2,…,Mn으로 Def 6.1을 통해 만든 MP(WP,ΓP,AP)에 대해 MP가 schedulable할 필요충분조건은 M1,M2,…,Mn이 framework 상에서 schedulable한 것이다.
각 model이 individually schedulable하다는 것과 framework 상에서 schedulable하다는 것의 정의가 모호하긴 하나, 증명 자체는 꽤나 자명해보인다.
pf)
(<=) M1,...,Mn이 framework 상에서 schedulable하다고 가정하면, 각 Γi를 Ti로 변환했으므로 Ti는 timing requirement (deadline)을 만족한다고 말할 수 있다. 또한 Thm 3 혹은 Thm 5을 사용하면 주어진 period에 대해 ΠP보다 작은 capacity를 구할 수 있다. schedulable해지는 최소 capacity가 ΠP보다 작으므로 사용 가능하고 MP 역시 schedulable하다.
(=>) MP가 schedulable하다고 가정하자. 그렇다면 모든 Ti가 Πi 시간에 resource를 Θi만큼 받는다고 보장할 수 있다. individually하게 다 schedulable하므로 적절한 resource를 받았으므로 framework 상에서도 schedulable하다. □
Ref
Insik Shin and Insup Lee, "Periodic resource model for compositional real-time guarantees," RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003, Cancun, Mexico, 2003, pp. 2-13, doi: 10.1109/REAL.2003.1253249.
I. Shin and I. Lee. Compositional real-time scheduling framework with periodic model. ACM Trans. Embedded Comput. Syst., 7(3), 2008.
유익한 내용과 귀여운 고양이가 인상깊네요