Introduction
- ๋ณ๋ ฌ์์
์ ๋ณดํต Configuration ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ํ๋์จ์ด์ ํ์ฌ๋๋ค.
- Global Gang Scheduling์ ๋ง์ด๊ทธ๋ ์ด์
๋น์ฉ์ด ๋๋ฌด ํฌ๋ค.
- Partitioned Gang Scheduling์ ๊ฐ ๋ชจ๋ธ์ ๋ํ ๊ฐ์ค์น๋ฅผ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ ์ผ๋ก ์บ์ฑํ์ฌ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋น์ฉ์ ์ค์ธ๋ค.
Contribution
- Rigid Gang Scheduling์ ์ํ ์๋ก์ด Strict Partitioning ์ ๋ต์ ์ ์ํ๋ค.
- Rigid Gang Tasks๋ฅผ ๋๋๊ธฐ ์ํ First-Fit Decreasing Volume (FFDV) heuristic์ ์ ์ํ๋ค.
- Strict Partitioning์ ๋ ๊ฐ์ง์ ๋ณํ SP-U์ SP-G๋ฅผ ์ ์ํ๋ค.
- SP-U๋ Utilization bound๋ฅผ ์ฆ๋ช
ํ๋ค.
- SP-G๋ FFDV๊ฐ ๋ ๋์ ์ฑ๋ฅ์ ๊ฐ๋๋ก ํฅ์์ํจ๋ค.
- ์ ์๋ ์ ๋ต๊ณผ ์๊ณ ๋ฆฌ์ฆ์ SOTA Preemptive / Non-Preemptive Gang Scheduling๊ณผ ๋น๊ตํ๋ค.
- Edge TPU์์์ case study๋ ์งํํ๋ค.
Strict Partitioning for Rigid Gang Tasks
- M๊ฐ์ ๋์ผํ ํ๋ก์ธ์๋ก ๊ตฌ์ฑ๋ ๋ฉํฐํ๋ก์ธ์ ํ๋ซํผ ฮ
- ฯiโโฯ, ฯiโ=(Ciโ,Tiโ,Diโ,miโ)
- Jiโ: ฯiโ์ job, riโ: arrival time of Jiโ
- sequential utilization : uiโ=TiโCiโโ
- utilization: Uiโ=miโโ
uiโ
- Task set utilization: U=โi=1nโUiโ
- m: maximum task volume
- mโ: minimum task volume
Strict Partitioning Strategy
- Offline Partitioning
- processor๋ฅผ disjoint partitions๋ก ๋๋๊ณ ,
- ๊ฐ partition์ task๋ฅผ ํ ๋นํ๋ค.
Definition: Strict Partitioning
ฮ ์ ฯ์ ๋ํด์ strict partitioning์ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค.
- ํ๋ก์ธ์๋ค ฮ ๋ disjoint subset ฯ={ฯjโโฮ ,โj}์ผ๋ก ๋๋์ด ์ง๋ค.
- ๊ฐ task ฯkโ๋ ์ค์ง ํ๋์ ํํฐ์
์ ํ ๋น๋๋ค.
-
Online Scheduling
- Offline Partitioning์ด ์ ํด์ง ํ, ๊ฐ ํํฐ์
์ online ์ค์ผ์ฅด๋ฌ์ ์ํด ๋ฐํ์์ ์ค์ผ์ฅด๋๋ค.
- Global Gang scheduler์ uniprocessor task scheduler ๋๋ค ์ฌ์ฉ๋ ์ ์๋ค.
Comparative Study
Pessimisms in Global Gang Schedulability Analyses
Respose Time Analysis for Real-Time Global Gang Scheduling, 2022
- Non-Parallel Execution: NP-Hard (subset sum problem)
- Interference Overestimation: NP-Hard (knapsack problem)

Stationary Scheduling and Strict Partitioning
- Stationary scheduling์ ์ฝ์ด๋ฅผ ๊ณต์ ํ ์ ์์์ผ๋ก์จ ๊ฐ์ ์ ์ผ๋ก interference๋ฅผ ์ ํํ ์ ์๋ค.
- ์ฆ ์๋ก ๊ฒน์น๋ ํ๋ก์ธ์๊ฐ ์์์๋ Interference๊ฐ ๋ฐ์ํ ์ ์๋ค. (A to B, B to C)
- Strict Partitioning์ ํ๋ก์ธ์ ํ ๋น๊ฐ์ ๊ฒน์น๋ ๊ฑธ ๋ฐฉ์งํจ์ผ๋ก์จ, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋ค.

- ๊ทธ๋ฌ๋ task๋ค์ด ๋ค๋ฅธ parellelism level์ ๊ฐ๋ ์ํฉ์์๋ stationary scheduling์ด ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ผ ์ ์๋ค.

Global and Partitioned for Non-Preemptive Gangs
- rigid gakg tasks๋ non-preemptive ํ๊ฒฝ์์ ๊ธด priority-inversion์ ์ ๋ฐํ ์ ์๋ค.
- ์ด ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ ์ํด static partitioning์ ์ฌ์ฉํ ์ ์๋ค.

Strict Partitioning Algorithms
Offline Partitioning Heuristic
- Task partitioning ๋ฌธ์ ๋ ์ฌ์ง์ด gang์ด ์๋ ๊ฒฝ์ฐ์๋ NP-Hard์ด๋ค.
- ๋ฐ๋ผ์ offline partitioning์ ์ํ heuristic์ ์ ์ํ๋ค.
- FFDV (First-Fit Decreasing Volume)
- Task๋ค์ volume์ด ๊ฐ์ํ๋ ์์๋ก, ๊ฐ๋ค๋ฉด Tiโ๊ฐ ๊ฐ์ํ๋ ์์๋ก ์ ๋ ฌํ๋ค.
- ์ ๋ ฌ๋ task๋ค์ ํ๋์ฉ partition ฯ1โ,ฯ2โ,โฆ,ฯtโ์ ํ ๋นํ๋ค.
- ๊ฐ Task๋ค์ ๊ทธ partition์ ๋ค์ด๊ฐ๋ schedulableํ ๊ฐ์ฅ ์ฒ์ partition์ ํ ๋น๋๋ค.
- ์๋ก์ด partition์ ๋ง๋ค ์ ์๊ฑฐ๋ค, Task๋ฅผ ๋ชจ๋ ํ ๋นํ ๊ฒฝ์ฐ ์๊ณ ๋ฆฌ์ฆ์ด ์ข
๋ฃ๋๋ค.
- iii.์์์ schedulability test์ ์๊ฐ๋ณต์ก๋๊ฐ O(ฮฉ)๋ผ๋ฉด, O(nMฮฉ)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค.

Two Strict Partitioning Variants: SP-U, SP-G
SP-U๋ uniprocessor online scheduler ๋ฅผ ์ฌ์ฉํ๊ณ , SP-G๋ global gang scheduler ๋ฅผ ์ฌ์ฉํ๋ค.
- SP-U๋ ํ๋ก์ธ์ ํ์ฉ๋ฅ ์ ๋ฎ์ ์ ์์ง๋ง ๋ฐํ์ ์ค๋ฒํค๋๊ฐ ๋ฎ๊ณ , ์ ํ๋ฆฝ๋ ์ ํํ Schedulability test๊ฐ ์๋ค.
- SP-G๋ ์๋ก๋ค๋ฅธ ์์
์ด ํํฐ์
๋ด์์ ๋ณ๋ ฌ๋ก ์คํ๋๋๋ก ํ์ฌ ํ๋ก์ธ์๋ฅผ ์ต๋ํ ํ์ฉํ ์ ์๋ค.
๋ ๋ณํ ๋ชจ๋ FFDV๋ฅผ ์ฌ์ฉํ๋ฉฐ,
- SP-U์ ๊ฒฝ์ฐ uniprocessor schedulability test์ FFDV ํด๋ฆฌ์คํฑ์ ๊ทธ๋๋ก ์ ์ฉํ์ฌ ํ
์คํธ๋ฅผ ๋ง๋ค๊ณ ,
- SP-G์ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ๋์ฑ ํฅ์์ํค๊ธฐ ์ํด FFDV ํด๋ฆฌ์คํฑ์ ๋ํ ์์ ์ ์ถ๊ฐํ๋ค.
- SP-U์ ๋ํ ์ธ ๊ฐ์ง Performance Bounds๋ฅผ ์ฆ๋ช
ํ๋ค.
- ์ฒซ๋ฒ์งธ Bound๋ bin-packing ๋ฌธ์ ์์ฃผ ์ฌ์ฉ๋๋ weighting function์ผ๋ก ์ ์๋๋ weighted utilization bound์ด๋ค.
- ๋๋ฒ์งธ์ ์ธ๋ฒ์งธ bound๋ 2D strip packing ๋ฌธ์ ์์ ์๊ฐ์ ๋ฐ์ ์ผ๋ฐ์ ์ธ utilization bound์ด๋ค.
- ubโ: uniprocessor task scheduler์ utilization bound
- FFDV(ฯ): FFDV heuristic์ ์ํด ์ฌ์ฉ๋๋ ํ๋ก์ธ์์ ๊ฐ์.
- ์ฆ, FFDV(ฯ)โคM์ ์ฆ๋ช
ํ๋ ๊ฒ์ผ๋ก schedulability๋ฅผ ์ฆ๋ช
ํ ์ ์๋ค.
Theorem 1: M๊ฐ์ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ SP-U์ ๋ํด Gang task set ฯ๊ฐ ๋ค์์ ๋ง์กฑํ๋ฉด schedulableํ๋ค.
ฯiโโฯโโW(Uiโ)โค(Mโm)โ
ubโ,(1)
์ฌ๊ธฐ์์ W:[0,ubโ]โ[0,58โubโ]๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค.
W(Uiโ)=โฉโชโชโชโชโจโชโชโชโชโงโ56โUiโ,59โUiโโ101โ,56โUiโ+101โ,56โUiโ+104โ,โย ifย 0โคUiโโค61โubโ;ย ifย 61โubโ<Uiโโค31โubโ;ย ifย 31โubโ<Uiโโค21โubโ;ย ifย 21โubโ<Uiโโคubโ.โ
Proof
๋ค์ ๋ถ๋ฑ์์ Performance bounds for level-oriented two-dimensional packing algorithms, 1980์์ ์ฆ๋ช
๋์๋ค.
W(U)=ฯiโโฯโโW(Uiโ)โฅ(FFDV(ฯ)โm)โ
ubโ.(2)
(1)๊ณผ (2)๋ฅผ ๊ฒฐํฉํ๋ฉด, ๋ค์ ์์ ์ป๋๋ค. ๋ฐ๋ผ์, FFDV(ฯ)โคM์ด ์ฑ๋ฆฝํ๋ค.
(FFDV(ฯ)โm)โ
ubโโคฯiโโฯโโW(Uiโ)โค(Mโm)โ
ubโ.(3)
Theorem 2
M๊ฐ์ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ SP-U์ ๋ํด Gang task set ฯ๊ฐ ๋ค์์ ๋ง์กฑํ๋ฉด schedulableํ๋ค.
Uโค2(Mโm+mโ)โ
ubโโ.(4)
Proof
- ฯiโ์ ๋ํ total utilization์ Uiโ(ฯiโ), sequential utilization์ uiโ(ฯiโ)๋ผ๊ณ ํ์.
- ๊ทธ๋ฆฌ๊ณ ฯiโ์ ํ ๋น๋ ์ฒซ๋ฒ์งธ task์ sequential utilization์ ui0โ์ด๋ผ๊ณ ํ์.
- iโฅ2์ ๋ํด ฯiโ์ ์ฒซ๋ฒ์งธ task๋ ฯiโ1โ์ ๋ค์ด๊ฐ ์ ์๋ค. (FFDV์ ์ ์)
- ๋ฐ๋ผ์ u(ฯiโ1โ)+ui0โ>ubโ๊ฐ ์ฑ๋ฆฝํ๋ค.
- ฯiโ1โ์ ํ์คํฌ๋ค์ ์ ์ด๋ โฃฯiโโฃ์ด์์ volume์ ๊ฐ๊ณ , ฯiโ์ ์ฒซ๋ฒ์งธ ํ์คํฌ๋ โฃฯiโโฃ์ด๋ฏ๋ก,
U(ฯiโ1โ)+U(ฯiโ)โฅ(u(ฯiโ1โ)+ui0โ)โฃฯiโโฃ>โฃฯiโโฃubโ
๋ฅผ ๊ฐ๋๋ค.
-
๋ฐ๋ผ์, ๋ค์ ์์ด ์ฑ๋ฆฝํ๋ค.
FFDV(ฯ)โ=i=1โtโโฃฯiโโฃ<โฃฯ1โโฃ+ubโ1โ(i=1โtโ1โU(ฯiโ)+i=2โtโU(ฯiโ))=m+ubโ2โi=1โtโU(ฯiโ)โubโ1โ(U(ฯ1โ)+U(ฯtโ)).โ
-
U(ฯ1โ)+U(ฯtโ)>mโโ
ubโ์ด๋ฏ๋ก ๋ค์์ด ์ฑ๋ฆฝํ๋ค.
FFDV(ฯ)<m+ubโ2โi=1โtโU(ฯiโ)โmโ.
-
๋ชจ๋ ํ์คํฌ๋ค์ด t๊ฐ์ ํํฐ์
์ ํ ๋น๋๋ฏ๋ก, โi=1tโU(ฯiโ)=U์ด๊ณ , ๋ฐ๋ผ์ FFDV(ฯ)โคM์ด ์ฑ๋ฆฝํ๋ค.
Theorem 3
M๊ฐ์ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ SP-U์ ๋ํด Gang task set ฯ๊ฐ โpโZ+โงpโฅ2์ ๋ํด ๋ค์์ ๋ง์กฑํ๋ฉด schedulableํ๋ค.
uiโโคpubโโ,โฯiโโฯ,(5)
and
Uโคp+1pโ(Mโm)ubโ.(6)
Proof
- ฯ1โ=m์์ ์๊ณ ์์ผ๋ฏ๋ก, ๋ค์์ด ์ฑ๋ฆฝํ๋ค. (โฃฯt+1โโฃ=0์ด๋ผ๊ณ ํ ๋)
FFDV(ฯ)=i=1โtโโฃฯi+1โโฃ+mห,(7)
- ๋ฐ๋ผ์ ๋ค์์ ์ฆ๋ช
ํ๋ฉด ๋๋ค. (์ฆ๋ช
์ ์๋ต)
p+1pโi=1โtโโฃฯi+1โโฃubโโคU,(8)
- (6)๊ณผ (8)์ ๊ฒฐํฉํ๋ฉด,
p+1pโi=1โtโโฃฯi+1โโฃubโโคp+1pโ(Mโm)ubโ ์ด ์ฑ๋ฆฝํ๋ค.
- ๋ฐ๋ผ์
โi=1tโโฃฯi+1โโฃ+m=FFDV(ฯ)โคM
์ ๋ง์กฑํ๋ค.
Modifications of FFDV for SP-G
๋ค์ ๋ ๊ด์ฐฐ์ ๊ธฐ๋ฐ์ผ๋ก FFDV ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๋ ๊ฐ์ง์ ์์ ์ ์ ์ํ๋ค.
Observation 1
ฯjโ์ ํ ๋น๋ task set ฯ(ฯjโ)์ ๋ํด,
โฯxโ,ฯyโโฯ(ฯjโ):mxโ+myโ>โฃฯjโโฃ(x๎ โ=y),(9)
์ด ์ฑ๋ฆฝํ๊ณ , uniprocessor task scheduler์ ์ํด ฯ(ฯjโ)๋ unschedulableํ๋ค๋ฉด,
๋ชจ๋ global gang scheduler์ ๋ํด์ ฯ(ฯjโ)๋ unschedulableํ๋ค.
- ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ถ๋ฑ์ (9)๋ฅผ ๋ฏธ๋ฆฌ ์ฒดํฌํด์ผํ๊ณ , ๋ง์ฝ ์ด ์กฐ๊ฑด์ด ์ฑ๋ฆฝํ๋ค๋ฉด, ์ฐ๋ฆฌ๋ uniprocessor task scheduler๋ฅผ ์ฌ์ฉํด์ schedulability test๋ฅผ ์งํํ๋ค.
- ์๋๋ผ๋ฉด, ์ถฉ๋ถํ (ํ์์กฐ๊ฑด์ ์๋) schedulability test๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.

- ์ฌ๊ธฐ์์ uniTest์ globalTest๊ฐ ๊ฐ๊ฐ uniprocessor task scheduler์ global gang scheduler๋ฅผ ์ด์ฉํ๋ค.
Observation 2
SP-G์์ ฯiโ๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ ฯ1โ,ฯ2โ,โฆ,ฯtโ์ ํ ๋น๋ ์ ์๊ณ , ๋จ์ ํ๋ก์ธ์ Mโฒ๊ฐ 0<Mโฒ<miโ ๋ฅผ ๋ง์กฑํ๋ค๋ฉด, ฯiโ๋ ๋ง์ง๋ง ํํฐ์
ฯtโ๋ฅผ Mโฒ๊น์ง ์ฆ๊ฐ์์ผ์ schedulableํ๊ฒ ๋ง๋ค ๊ฐ๋ฅ์ฑ์ด ์๋ค.
- ๋ฐ๋ผ์ ๊ธฐ์กด ์๊ณ ๋ฆฌ์ฆ์ else: return False๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ ์ ์๋ค.

Preemptive Scheduling
- SS(FP): Stationary Scheduling with FP
- G'22(FP/EDF): Global schedulability analysis for FP/EDF
- SP-B(EDF): Strict partitioning with EDF (Theorem 1,2,3)
- SP-U(FP/EDF): Strict partitioning with uniprocessor online scheduler
- SP-G(FP/EDF): Strict partitioning with global gang online scheduler (G'22 for globalTest)

Non-Preemptive Scheduling
- G'22(FP): Global schedulability analysis for FP
- G'23(FP) : Global schedulability analysis for FP (2023)
- SP-U(FP): Strict partitioning with uniprocessor online scheduler
- SP-G(FP): Strict partitioning with global gang online scheduler (G'23 for globalTest)
![์
๋ก๋์ค..]()