Contributions
- Sporadic Task Set์ Schedulability์ ๋ํ ํ์์ถฉ๋ถ์กฐ๊ฑด ๋์ถ
- ๋๋ถ๋ถ์ ์ ์ ๋จ์ Sporadic Task Set์์ ๋์ํ๋ Pseudo-polynomial ์๊ณ ๋ฆฌ์ฆ ์ ์.
- feasibility ํ
์คํธ๊ฐ co-NP์์ ์ฆ๋ช
- ์ ์ ์ ์ฝ์ด ์๋ Continuous ๋ชจ๋ธ๋ก์ ํ์ฅ
- Sporadic + Polynomial task set์ ๋ํ ๋
ผ์
Feasibility with respect to sporadic task systems
- ์ด๋ฏธ Periodic task system์ ๋ํ ์คํ๊ฐ๋ฅ์ฑ ๊ฒ์ฌ๋ co-NP ์์ ์์ด ์ฆ๋ช
๋์์.
Symbols
- ฯ ๋ {T1โ,โฆ,Tnโ} ๋ค์ ์งํฉ.
- Tiโ=(eiโ,diโ,piโ) : eiโ: ์คํ ์๊ฐ, diโ: ์๋ ๋ฐ๋๋ผ์ธ, p: ์ต์ ์คํ ์ฃผ๊ธฐ
- P=lcm{p1โ,โฆ,pnโ}
- (i,t0โ): t0โ ์๊ฐ์ ๋ฐ์ํ Tiโ์ ์์ฒญ (ฯ-request)
- ฯ-request์ ์งํฉ R์ด schedulable ํจ : ํ๋ก์ธ์๊ฐ R์ ๋ชจ๋ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์.
- legal : R์ด (i,t1โ)๊ณผ (i,t2โ)๋ฅผ ํฌํจํ ๋, โฃt1โโt2โโฃโฅpiโ๋ฅผ ๋ง์กฑํจ.
- feasible: ๋ชจ๋ ฯ-requests ์ legalํ ์งํฉ์ด schedulableํจ.
- ฯ ๋ผ๋ online scheduling iterative ์๊ณ ๋ฆฌ์ฆ์ ์ ์ํจ.
- (i,t0โ)๊ฐ t์ active : t0โโคt<toโ+diโ์ด๊ณ , ฯ๊ฐ (i,t0โ)๋ฅผ ํ๋ก์ธ์์ ํ ๋นํ์ง ์์์.
- t์ failure: t0โ+diโ=t์ง๋ง ฯ๊ฐ (i,t+0)๋ฅผ [t0โ,t)์ ํ๋ก์ธ์์ ํ ๋นํ์ง ์์์.
- ฯ๋ ฯ-requests์ legal set์ ๋ํด ์ ๋ failure๋ฅผ ๋์ฐ์ง ์์ ๋ schedulableํจ.
(ฯ.R)(t)=โฉโชโชโชโชโชโชโชโชโชโชโชโชโชโชโจโชโชโชโชโชโชโชโชโชโชโชโชโชโชโงโ(i,t0โ),failure(0,0),failure(i,t0โ)(0,0)โmeaningย thatย ฯย atย timeย tย allocatesย theย processorย toย ฯ-requestย (i,t0โ)ย andย reportsย failure.meaningย thatย ฯย atย timeย tย leavesย theย processorย idleandย reportsย failure.meaningย thatย ฯย atย timeย tย allocatesย theย processorย toย ฯ-requestย (i,t0โ)ย andย doesย notย reportย failure.meaningย thatย ฯย atย timeย tย leavesย theย processorย idleย andย doesย notย reportย failure.โ
-
EDF๊ฐ ์ต์ ์์ด ์ฆ๋ช
๋์ด์์ผ๋ฏ๋ก, ฯ๋ EDF ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ์. + ์ผ๋ฐ์ฑ์ ์์ง ์๊ณ , ๊ฐ์ ์ฐ์ ์์์ผ ๊ฒฝ์ฐ ๋ ์์ ์ธ๋ฑ์ค์ ์์
์ ์คํํ๋ค๊ณ ํ์.
Lemma 1
ฯ๋ sporadic task system์ ๋ํด ์ต์ ์ด๋ค. ๋ฐ๋ผ์
ฯ๊ฐ feasibleํจ โบ ๋ชจ๋ legalํ ฯ-requests ์งํฉ R์ ๋ํด (ฯ.R)์ด ์ค์ผ์ฅด๋งํ ์ ์์.
-
hRโ(t)=โ(i,t0โ)โRโงt0โ+diโโคtโeiโ๋ผ๊ณ ํ ๋ ๋ค์์ด ์ฑ๋ฆฝํ๋ค.
Lemma 2
hRโ(t)>t๋ผ๋ฉด
- (ฯ.R)์ด t๋ ๊ทธ ์ด์ ์ failure๋ฅผ ๋์ธ ๊ฒ์ด๊ณ ,
- R์ด legal์ด๋ผ๋ฉด ฯ๋ feasibleํ์ง ์๋ค. (Lemma 1.)
R1โ์ ๋จ ํ๋ฒ๋ง failure๋ฅผ ๋ณด๊ณ ํจ.
- ฯ ๊ฐ feasible ํ์ง ์๋ค๊ณ ๊ฐ์ ํ์.
- ๊ทธ๋ฆฌ๊ณ ฯ ๊ฐ ์ฒ์ ์คํจ๋ฅผ ๋ณด๊ณ ํ๋ ์๊ฐ์ tfโ๋ผ๊ณ ์ ์ํ์.
- R0โ ์ ๋ํด, ์ฐ๋ฆฌ๋ ์ ํํ legal ์งํฉ R1โ=R0โโ{(i,t0โโฃt0โ+diโ>tfโ)}๋ฅผ ์๊ฐํ ์ ์๋ค.
- EDF ์ ์ฑ
์ ์ํด [0,tfโ) ์ฌ์ด์๋ R1โ์ ์์ฒญ์ด active ํ ์ด์ R0โโR1โ์ ์์ฒญ์ ํ๋ก์ธ์์ ํ ๋นํ์ง ์์ ๊ฒ์ด๋ค.
- ๋ฐ๋ผ์, [0,tfโ) ์ฌ์ด์๋ R0โ๊ณผ R1โ์ด ์ ํํ ๋๊ฐ์ด ๋์ํ ๊ฒ์ด๋ฉฐ, (ฯ.R1โ)์ tfโ์ ์คํจ๋ฅผ ๋ณด๊ณ ํ ๊ฒ์ด๋ค.
R1โ์ ํ๋ก์ธ์๋ฅผ ์ ํด์ํ๋ก ๋์ง ์์
- ๋ค๋ฅธ ๋
ผ๋ฌธ์์ ๋ง์ด ์ฆ๋ช
ํ์ผ๋ฏ๋ก ๋์ด๊ฐ.
R1โ์ ์ฑ์ง๋ค์ ๋ค์ ์ ๋ฆฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ชจ๋ (i,t0โ)โR1โ ์ t0โ+diโโคtfโ์ด๋ค.
- (ฯ.R1โ)์ [0,tfโ)์ ํ๋ก์ธ์๋ฅผ idle ์ํ๋ก ๋์ง ์๋๋ค.
- (ฯ.R1โ)์ tfโ์ ๋จ ํ๋ฒ ์คํจ๋ฅผ ๋ณด๊ณ ํ๋ค.
์ด๋ โ(i,t0โ)โRโงt0โ+diโโคtโeiโ>tfโ์ผ๋ก ์ด์ด์ง๋ฏ๋ก, Lemma 2์ ์ํด ฯ๊ฐ notfeasible์ด๋ผ๋ ๊ฒ์ด ์ฆ๋ช
๋๋ค.
ย
์ด์ ๋ช๋ช (i,t0โ)โR1โ์ ๋ํด ๋ค์์ ๊ฐ์ ํด๋ณด์.
- t0โโกrmodpiโ,r๎ โ=0
- each(i,tโฒ<t0โ)โR1โistโฒโก0modpiโ
๊ทธ๋ฌ๋ฉด ์ฐ๋ฆฌ๋ ์ฝ๊ฒ ๋ค์์ ํตํด, R4โ=R1โโ{(i,t0โ)}โ{(i,qโ
piโ)} ๊ฐ schedulableํ์ง ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
โ(i,t0โ)โR4โโงt0โ+diโโคtfโโeiโ=โ(i,t0โ)โR1โโงt0โ+diโโคtfโโeiโ>tfโ
ย
์ด๋ ์ฐ๋ฆฌ๊ฐ R1โ์ ํตํด ๋ฐ๋ณต์ ์ผ๋ก Rโฒ์ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ์๋ฏธ ํ๋ค. s.t.
Rโฒโโi=1nโโkโฅ0โ{(i,kโ
piโ)},&โ(i,t0โ)โRโฒโงt0โ+diโโคtfโโeiโ>tfโ
๊ทธ๋ฆฌ๊ณ ์ด๋ ฯ๊ฐ notfeasible์ด๋ผ๋ ๊ฒ๋ ๋งํด์ค๋ค.
์์ผ๋ก R=โi=1nโโkโฅ0โ{(i,kโ
piโ)}์ด๋ผ ์ ์ํ๋ค.
Lemma 3
ฯ ๋ notfeasibleํ๋ค. โบ โtโฅ0andtโZ s.t. hRโ(t)>t
๋ ๋์๊ฐ, hRโ(t)>t๋ฅผ ๋ง์กฑํ๋ ๊ฐ์ฅ ์์ t๋ tfโ์ ๊ฐ๋ค.
hRโ์ โi=1nโeiโโ
c(i,t)๋ก ๋ํ๋ผ ์ ์๊ณ , ์ฌ๊ธฐ์ c(i,t)๋ t0โ+diโโคt๋ฅผ ๋ง์กฑํ๋ ์์ฒญ (i,t0โ)์ ๊ฐ์์ด๋ค.
- c(i,t)๋ kโ
piโ+diโโคt๋ฅผ ๋ง์กฑํ๋ ๊ฐ์ฅ ํฐ ์ ์ k์ ๋ํด k+1๋ก ๋ํ๋ผ ์ ์๊ณ ,
- ์ด๋ฐ ์ ์๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ฉด 0์ด ๋ ๊ฒ์ด๋ค.
- ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ c(i,t)=max{0,โpiโtโdiโโโ+1}์์ ์ ์ ์๊ณ ,
- hRโ=โi=1nโeiโโ
max{0,โpiโtโdiโโโ+1}๋ก ๋ํ๋ผ ์ ์๋ค.
์ด๋ฅผ ํตํด ์ฐ๋ฆฌ๋ ฯ ๊ฐ feasibleํ๊ธฐ ์ํ ํ์์ถฉ๋ถ์กฐ๊ฑด์ ๋์ถํ์๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๋ hRโ>t๋ฅผ ๋ง์กฑํ๋ t๋ฅผ ์ ์ ์ ์ผ๋ก ์ ์ ์๊ณ , ๋ค์ ์ธ๊ฐ์ ๋ณด์กฐ์ ๋ฆฌ๊ฐ ์ด๋ฅผ ๋ ์ ์ฉํ๊ฒ ๋ง๋ค์ด ์ค ๊ฒ์ด๋ค.
Lemma 4
โi=1nโeiโ/piโ>1 ์ด๋ผ๋ฉด ฯ๋ notfeasibleํ๋ค.
Proof
โi=1nโeiโ/piโ>1๋ผ ๊ฐ์ ํ์. ์ฐ๋ฆฌ๋ hRโ>t๋ฅผ ๋ง์กฑํ๋ t๊ฐ ์กด์ฌํจ์ ๋ณด์ฌ์ผ ํ๋ค.
๋ค์์ ๋ง์กฑํ๋ t>max1โคiโคnโ{diโ}๋ฅผ ์ค์ ํ์.
Pโฃt&t>โโi=1nโpiโeiโโโ1โi=1nโeiโโ
โpiโpiโโdiโโโโ
์ด๋ ๋ค์์ด ์ฑ๋ฆฝํ๋ค.
hRโ(t)======>=โi=1โnโeiโโ
max{0,โpiโtโdiโโโ+1}i=1โnโeiโโ
(โpiโtโdiโโโ+1)i=1โnโeiโโ
(โpiโt+piโโdiโโโ)tโ
i=1โnโpiโeiโโ+i=1โnโeiโโ
[piโpiโโdiโโ]tโ
(1+i=1โnโpiโeiโโโ1)+i=1โnโeiโโ
[piโpiโโdiโโ]t+tโ
(i=1โnโpiโeiโโโ1)+i=1โnโeiโโ
โpiโpiโโdiโโโt+โi=1nโpiโeiโโโ1โโi=1nโeiโโpiโpiโโdiโโโโโ
(i=1โnโpiโeiโโโ1)+i=1โnโeiโโ
โpiโpiโโdiโโโtโ
๋ฐ๋ผ์ hRโ(t)>t ์ด๋ค. โ
Lemma 5
โi=1nโeiโ/piโโค1์ด๊ณ t>max1โคiโคnโ{diโ}๋ผ๋ฉด hRโ(t)>t ์ด๋ค.
Proof
โi=1nโeiโ/piโโค1์ t>max1โคiโคnโ{diโ}๋ฅผ ๊ฐ์ ํ์. ๊ทธ๋ฌ๋ฉด:
hRโ(t)+Pโ=i=1โnโeiโโ
(โpiโtโdiโโโ+1)+Pโฅi=1โnโeiโโ
(โpiโtโdiโโโ+1)+Pi=1โnโpiโeiโโ=i=1โnโeiโโ
(โpiโtโdiโโโ+1)+i=1โnโeiโโ
piโPโ=i=1โnโeiโโ
(โpiโt+Pโdiโโโ+1)=hRโ(t+P)>t+Pโ
๋ฐ๋ผ์ hRโ(t+P)>t+P๊ฐ ์ฑ๋ฆฝํ๊ณ , hRโ(t)>t์ด๋ค. โ
Corollary 1
ฯ๊ฐ feasibleํ์ง ์๊ณ , โi=1nโpiโeiโโโค1 ์ด๋ผ๋ฉด,
hRโ(t)>t๋ฅผ ๋ง์กฑํ๋ t<P+max1โคiโคnโ{diโ}๊ฐ ์กด์ฌํ๋ค.
Lemma 6
ฯ๊ฐ feasible ํ์ง ์๊ณ , โi=1nโpiโeiโโ<1, hRโ(t)>t๋ผ๋ฉด:
- t<max1โคiโคnโ{diโ} ๋๋
- t<max1โคiโคnโ{piโโdiโ}โ
โi=1nโpiโeiโโ/(1โโi=1nโpiโeiโโ)์ด๋ค.
Proof
ฯ๊ฐ feasible ํ์ง ์๊ณ , โi=1nโpiโeiโโ<1, hRโ(t)>t์ด๋ฉฐ tโฅmax1โคiโคnโ{diโ}๋ผ๊ณ ๊ฐ์ ํ์.
์ด๋, t<max1โคiโคnโ{piโโdiโ}โ
โi=1nโpiโeiโโ/(1โโi=1nโpiโeiโโ)์ ์ฆ๋ช
ํ๋ฉด ๋๋ค.
hRโ(t)โ=i=1โnโeiโโ
(โpiโtโdiโโโ+1)โคi=1โnโeiโโ
(piโt+piโโdiโโ)=tโ
i=1โnโpiโeiโโ+i=1โnโpiโeiโโ(piโโdiโ)โคtโ
i=1โnโpiโeiโโ+1โคiโคnmaxโ{piโโdiโ}i=1โnโpiโeiโโโ
์ฌ๊ธฐ์์ hRโ(t)>t ์ด๋ฏ๋ก, ์ ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฆฌํ ์ ์๋ค.
tt(1โi=1โnโpiโeiโโ)tโ<tโ
i=1โnโpiโeiโโ+1โคiโคnmaxโ{piโโdiโ}โ
i=1โnโpiโeiโโ<1โคiโคnmaxโ{piโโdiโ}โ
i=1โnโpiโeiโโ<max{piโโdiโ}1โคiโคnโโ
piโโi=1nโeiโโ/(1โi=1โnโpiโeiโโ).โโกโกโ โ
Lemma 3,4,5,6๊ณผ Corollary 1์ ์ํด์ ๋ค์์ด ์ฑ๋ฆฝํ๋ค.
Theorem
โi=1nโpiโeiโโ=c์ด๊ณ , ฯ ๊ฐ feasibleํ์ง ์๋ค๋ ๊ฒ์ ๋ค์๊ณผ ๋์น์ด๋ค.
- c>1 ๋๋
- hRโ(t)>t๋ฅผ ๋ง์กฑํ๋ ์ ์ t<min{P+max1โคiโคnโ{diโ},1โccโmax1โคiโคnโ{piโโdiโ}}๊ฐ ์กด์ฌํ๋ค.
Corollary 2
Sporadic task system์ feasibility ๊ฒ์ฌ๋ co-NP์ด๋ค.
Proof
- ์ ์ t<P+max1โคiโคnโ{diโ}๋ ๋น๊ฒฐ์ ๋ก ์ ๋คํญ์๊ฐ์ ์ถ์ธก๋ ์ ์์ผ๋ฉฐ,
- ๋ฐ๋ก๋ก ์ฌ์ฉ๋๋ t๋ ์์คํ
ํ๋ผ๋ฏธํฐ์ ๋ํด ๋คํญํ ๋ฒ์ ๋ด์ ์๊ณ ,
- hRโ(t)>t ๋๋ โi=1nโpiโeiโโ>1์ ๊ฒ์ฆํ๋ ๊ฒ์ ๊ฒฐ์ ๋ก ์ ๋คํญ์๊ฐ์ ๋ฌ์ฑํ ์ ์๋ค. โ
An algorithm for feasibility testing
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณต์ ์ผ๋ก hRโ(t)>t ๋ฅผ ๋ง์กฑํ๋ ์์ t๋ฅผ ์ฐพ๋๋ค.
์๋ฎฌ๋ ์ด์
์ hRโ(t) ์ ๊ณ์ฐํ๋ ๊ฒ์ผ๋ก ๋์ฒด๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๊ธฐ ์ , ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ ํฅ์์ํฌ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ ์ํ๋ค.
Lemma 7
โi=1nโpiโeiโโโค1 ์ด๊ณ , ๋ชจ๋ 1โคiโคpiโ์ ๋ํด diโโฅpiโ๋ผ๋ฉด ฯ๋ feasibleํ๋ค.
Proof
โi=1nโpiโeiโโโค1์ด๊ณ , ๋ชจ๋ 1โคiโคpiโ์ ๋ํด diโโฅpiโ๋ผ๊ณ ๊ฐ์ ํ์.
์ฐ๋ฆฌ๋ ๋ชจ๋ ์ ์ tโฅ0์ ๋ํด hRโ(t)โคt๋ฅผ ๋ณด์ด๋ฉด ๋๋ค.
hRโ(t)โ=i=1โnโeiโโ
max{0,โpiโtโdiโโโ+1}โคi=1โnโeiโโ
โpiโtโโโคtโ
i=1โnโpiโeiโโโคtโโ โ
bool isFeasible(Taskset tau) {
c = sum(e[i] / p[i])
if (c > 1)
return false;
if (d[i] > p[i] for i in 1..n)
return true;
P = lcm{p[1]..p[n]};
D = max{d[1]..d[n]};
M = P + D;
T = (c==1) ? M : min{M, c/1-c * max{p[i] - d[i]}};
H = 0;
for(t in 1..T) {
for(i in 1..n )
if(t >= d[i] && t % p[i] = d[i])
H += e[i];
if (H > t)
return false;
}
return true;
}
Theorem 2
- ๋ง์ฝ โi=1nโpiโeiโโ>1 ์ด๋ผ๋ฉด ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ ์๊ฐ์ ๋์ํ๋ค.
- ๋ง์ฝ โi=1nโdiโโฅpiโ๋ผ๋ฉด ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ ์๊ฐ์ ๋์ํ๋ค.
- c<1๋ผ๋ฉด ์ ์๊ณ ๋ฆฌ์ฆ์ O(nโ
max1โคiโคnโ{piโโdiโ}) ์ ๋์ํ๋ค.
- ์ ์ํฉ๋ค์ ๋ชจ๋ ํด๋นํ์ง ์๋๋ค๋ฉด ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ์๊ฐ O(nโ
(P+max1โคiโคnโ{piโโdiโ})) ์ ๋์ํ๋ค. โ