๐Ÿ“ฆ Strict Partitioning for Sporadic Rigid Gang Tasks

Bardยท2025๋…„ 5์›” 8์ผ

RTCL

๋ชฉ๋ก ๋ณด๊ธฐ
12/15
post-thumbnail

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

Task and Platform Model

  • MM๊ฐœ์˜ ๋™์ผํ•œ ํ”„๋กœ์„ธ์„œ๋กœ ๊ตฌ์„ฑ๋œ ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์„œ ํ”Œ๋žซํผ ฮ \Pi
  • ฯ„iโˆˆฯ„\tau_i \in \tau, ฯ„i=(Ci,Ti,Di,mi)\tau_i = (C_i, T_i, D_i, m_i)
  • JiJ_i: ฯ„i\tau_i์˜ job, rir_i: arrival time of JiJ_i
  • sequential utilization : ui=CiTiu_i = \frac{C_i}{T_i}
  • utilization: Ui=miโ‹…uiU_i = m_i \cdot u_i
  • Task set utilization: U=โˆ‘i=1nUiU = \sum_{i=1}^{n} U_i
  • mโ€พ\overline{m}: maximum task volume
  • mโ€พ\underline{m}: minimum task volume

Strict Partitioning Strategy

  1. Offline Partitioning
    • processor๋ฅผ disjoint partitions๋กœ ๋‚˜๋ˆ„๊ณ ,
    • ๊ฐ partition์— task๋ฅผ ํ• ๋‹นํ•œ๋‹ค.

Definition: Strict Partitioning
ฮ \Pi์™€ ฯ„\tau์— ๋Œ€ํ•ด์„œ strict partitioning์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค.

  • ํ”„๋กœ์„ธ์„œ๋“ค ฮ \Pi๋Š” disjoint subset ฯ={ฯjโІฮ ,โˆ€j}\rho = \{\rho_j \subseteq \Pi, \forall j\}์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ง„๋‹ค.
  • ๊ฐ task ฯ„k\tau_k๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ํŒŒํ‹ฐ์…˜์— ํ• ๋‹น๋œ๋‹ค.
  1. 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

  1. Non-Parallel Execution: NP-Hard (subset sum problem)
  2. 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)
    1. Task๋“ค์„ volume์ด ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ๋กœ, ๊ฐ™๋‹ค๋ฉด TiT_i๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ๋‹ค.
    2. ์ •๋ ฌ๋œ task๋“ค์„ ํ•˜๋‚˜์”ฉ partition ฯ1,ฯ2,โ€ฆ,ฯt\rho_1, \rho_2, \ldots, \rho_t์— ํ• ๋‹นํ•œ๋‹ค.
    3. ๊ฐ Task๋“ค์€ ๊ทธ partition์— ๋“ค์–ด๊ฐ€๋„ schedulableํ•œ ๊ฐ€์žฅ ์ฒ˜์Œ partition์— ํ• ๋‹น๋œ๋‹ค.
    4. ์ƒˆ๋กœ์šด partition์„ ๋งŒ๋“ค ์ˆ˜ ์—†๊ฑฐ๋‹ค, Task๋ฅผ ๋ชจ๋‘ ํ• ๋‹นํ•œ ๊ฒฝ์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ข…๋ฃŒ๋œ๋‹ค.
  • iii.์—์„œ์˜ schedulability test์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(ฮฉ)\mathcal{O}(\Omega)๋ผ๋ฉด, O(nMฮฉ)\mathcal{O}(nM\Omega)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ–๋Š”๋‹ค.

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 ํœด๋ฆฌ์Šคํ‹ฑ์— ๋Œ€ํ•œ ์ˆ˜์ •์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

Performance Bounds for SP-U

  • SP-U์— ๋Œ€ํ•œ ์„ธ ๊ฐ€์ง€ Performance Bounds๋ฅผ ์ฆ๋ช…ํ•œ๋‹ค.
  • ์ฒซ๋ฒˆ์งธ Bound๋Š” bin-packing ๋ฌธ์ œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” weighting function์œผ๋กœ ์ •์˜๋˜๋Š” weighted utilization bound์ด๋‹ค.
  • ๋‘๋ฒˆ์งธ์™€ ์„ธ๋ฒˆ์งธ bound๋Š” 2D strip packing ๋ฌธ์ œ์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ ์ผ๋ฐ˜์ ์ธ utilization bound์ด๋‹ค.
    • ubu_b: uniprocessor task scheduler์˜ utilization bound
    • FFDV(ฯ„)\text{FFDV}(\tau): FFDV heuristic์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ์„ธ์„œ์˜ ๊ฐœ์ˆ˜.
  • ์ฆ‰, FFDV(ฯ„)โ‰คM\text{FFDV}(\tau) \le M์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์œผ๋กœ schedulability๋ฅผ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

Theorem 1: MM๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SP-U์— ๋Œ€ํ•ด Gang task set ฯ„\tau๊ฐ€ ๋‹ค์Œ์„ ๋งŒ์กฑํ•˜๋ฉด schedulableํ•˜๋‹ค.

โˆ‘ฯ„iโˆˆฯ„W(Ui)โ‰ค(Mโˆ’mโ€พ)โ‹…ub,(1)\sum_{\tau_i \in \tau} W(U_i) \leq (M - \overline{m}) \cdot u_b, \tag{1}

์—ฌ๊ธฐ์—์„œ W:[0,ub]โ†’[0,85ub]W: [0, u_b] \rightarrow [0, \frac 8 5 u_b]๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.

W(Ui)={65Ui,ย ifย 0โ‰คUiโ‰ค16ub;95Uiโˆ’110,ย ifย 16ub<Uiโ‰ค13ub;65Ui+110,ย ifย 13ub<Uiโ‰ค12ub;65Ui+410,ย ifย 12ub<Uiโ‰คub.W(U_i) = \begin{cases} \frac{6}{5} U_i, & \text{ if } 0 \leq U_i \leq \frac{1}{6} u_b; \\ \frac{9}{5} U_i - \frac{1}{10}, & \text{ if } \frac{1}{6} u_b < U_i \leq \frac{1}{3} u_b; \\ \frac{6}{5} U_i + \frac{1}{10}, & \text{ if } \frac{1}{3} u_b < U_i \leq \frac{1}{2} u_b; \\ \frac{6}{5} U_i + \frac{4}{10}, & \text{ if } \frac{1}{2} u_b < U_i \leq u_b. \end{cases}

Proof
๋‹ค์Œ ๋ถ€๋“ฑ์‹์€ Performance bounds for level-oriented two-dimensional packing algorithms, 1980์—์„œ ์ฆ๋ช…๋˜์—ˆ๋‹ค.

W(U)=โˆ‘ฯ„iโˆˆฯ„W(Ui)โ‰ฅ(FFDV(ฯ„)โˆ’mโ€พ)โ‹…ub.(2)W(U) = \sum_{\tau_i \in \tau} W(U_i) \geq (\mathrm{FFDV}(\tau) - \overline{m}) \cdot u_b. \tag{2}

(1)๊ณผ (2)๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด, ๋‹ค์Œ ์‹์„ ์–ป๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, FFDV(ฯ„)โ‰คM\text{FFDV}(\tau) \leq M์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

(FFDV(ฯ„)โˆ’mโ€พ)โ‹…ubโ‰คโˆ‘ฯ„iโˆˆฯ„W(Ui)โ‰ค(Mโˆ’mโ€พ)โ‹…ub.(3)(\text{FFDV}(\tau) - \overline{m}) \cdot u_b \leq \sum_{\tau_i \in \tau} W(U_i) \leq (M - \overline{m}) \cdot u_b. \tag{3}

Theorem 2
MM๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SP-U์— ๋Œ€ํ•ด Gang task set ฯ„\tau๊ฐ€ ๋‹ค์Œ์„ ๋งŒ์กฑํ•˜๋ฉด schedulableํ•˜๋‹ค.

Uโ‰ค(Mโˆ’mโ€พ+mโ€พ)โ‹…ub2.(4)U \le \frac{(M - \overline{m} + \underline{m}) \cdot u_b}{2}. \tag{4}

Proof

  • ฯi\rho_i์— ๋Œ€ํ•œ total utilization์„ Ui(ฯi)U_i(\rho_i), sequential utilization์„ ui(ฯi)u_i(\rho_i)๋ผ๊ณ  ํ•˜์ž.
  • ๊ทธ๋ฆฌ๊ณ  ฯi\rho_i์— ํ• ๋‹น๋œ ์ฒซ๋ฒˆ์งธ task์˜ sequential utilization์„ ui0u_i^0์ด๋ผ๊ณ  ํ•˜์ž.
  • iโ‰ฅ2i \ge 2์— ๋Œ€ํ•ด ฯi\rho_i์˜ ์ฒซ๋ฒˆ์งธ task๋Š” ฯiโˆ’1\rho_{i-1}์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋‹ค. (FFDV์˜ ์ •์˜)
  • ๋”ฐ๋ผ์„œ u(ฯiโˆ’1)+ui0>ubu(\rho_{i-1}) + u_i^0 > u_b๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค.
  • ฯiโˆ’1\rho_{i-1}์˜ ํƒœ์Šคํฌ๋“ค์€ ์ ์–ด๋„ โˆฃฯiโˆฃ|\rho_i|์ด์ƒ์˜ volume์„ ๊ฐ–๊ณ , ฯi\rho_i์˜ ์ฒซ๋ฒˆ์งธ ํƒœ์Šคํฌ๋Š” โˆฃฯiโˆฃ|\rho_i|์ด๋ฏ€๋กœ,
    U(ฯiโˆ’1)+U(ฯi)โ‰ฅ(u(ฯiโˆ’1)+ui0)โˆฃฯiโˆฃ>โˆฃฯiโˆฃubU(\rho_{i-1}) + U(\rho_i) \ge (u(\rho_{i-1}) + u_i^0)|\rho_i| > |\rho_i|u_b
    ๋ฅผ ๊ฐ–๋Š”๋‹ค.
  • ๋”ฐ๋ผ์„œ, ๋‹ค์Œ ์‹์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

    FFDV(ฯ„)=โˆ‘i=1tโˆฃฯiโˆฃ<โˆฃฯ1โˆฃ+1ub(โˆ‘i=1tโˆ’1U(ฯi)+โˆ‘i=2tU(ฯi))=mโ€พ+2ubโˆ‘i=1tU(ฯi)โˆ’1ub(U(ฯ1)+U(ฯt)).\begin{aligned} FFDV(\tau) &= \sum_{i=1}^{t} |\rho_i| < |\rho_1| + \frac{1}{u_b} \left( \sum_{i=1}^{t-1} U(\rho_i) + \sum_{i=2}^{t} U(\rho_i) \right) \\ &= \overline{m} + \frac{2}{u_b} \sum_{i=1}^{t} U(\rho_i) - \frac{1}{u_b} (U(\rho_1) + U(\rho_t)). \end{aligned}
  • U(ฯ1)+U(ฯt)>mโ€พโ‹…ubU(\rho_1) + U(\rho_t) > \underline{m} \cdot u_b์ด๋ฏ€๋กœ ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

    FFDV(ฯ„)<mโ€พ+2ubโˆ‘i=1tU(ฯi)โˆ’mโ€พ.FFDV(\tau) < \overline{m} + \frac{2}{u_b} \sum_{i=1}^{t} U(\rho_i) - \underline{m}.
  • ๋ชจ๋“  ํƒœ์Šคํฌ๋“ค์ด tt๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์— ํ• ๋‹น๋˜๋ฏ€๋กœ, โˆ‘i=1tU(ฯi)=U\sum_{i=1}^{t} U(\rho_i) = U์ด๊ณ , ๋”ฐ๋ผ์„œ FFDV(ฯ„)โ‰คM\text{FFDV}(\tau) \le M์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

Theorem 3
MM๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SP-U์— ๋Œ€ํ•ด Gang task set ฯ„\tau๊ฐ€ โˆƒpโˆˆZ+โˆงpโ‰ฅ2\exists p \in \mathbb{Z}^+ \land p \ge 2์— ๋Œ€ํ•ด ๋‹ค์Œ์„ ๋งŒ์กฑํ•˜๋ฉด schedulableํ•˜๋‹ค.

uiโ‰คubp,โˆ€ฯ„iโˆˆฯ„,(5)u_i \le \frac{u_b}{p}, \forall \tau_i \in \tau, \tag{5}

and

Uโ‰คpp+1(Mโˆ’mโ€พ)ub.(6)U \le \frac{p}{p+1}(M - \overline{m})u_b. \tag{6}

Proof

  • ฯ1=mโ€พ\rho_1 = \overline{m}์ž„์„ ์•Œ๊ณ ์žˆ์œผ๋ฏ€๋กœ, ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•œ๋‹ค. (โˆฃฯt+1โˆฃ=0|\rho_{t+1}|=0์ด๋ผ๊ณ  ํ•  ๋•Œ)
    FFDV(ฯ„)=โˆ‘i=1tโˆฃฯi+1โˆฃ+mห‰,(7)\text{FFDV}(\tau) = \sum_{i=1}^{t} |\rho_{i+1}| + \bar{m}, \tag{7}
  • ๋”ฐ๋ผ์„œ ๋‹ค์Œ์„ ์ฆ๋ช…ํ•˜๋ฉด ๋œ๋‹ค. (์ฆ๋ช…์€ ์ƒ๋žต)
    pp+1โˆ‘i=1tโˆฃฯi+1โˆฃubโ‰คU,(8)\frac{p}{p+1} \sum_{i=1}^{t} |\rho_{i+1}| u_b \leq U, \tag{8}
  • (6)๊ณผ (8)์„ ๊ฒฐํ•ฉํ•˜๋ฉด,
    pp+1โˆ‘i=1tโˆฃฯi+1โˆฃubโ‰คpp+1(Mโˆ’mโ€พ)ub\frac{p}{p+1} \sum_{i=1}^{t} |\rho_{i+1}| u_b \le \frac{p}{p+1}(M - \overline{m})u_b
    ์ด ์„ฑ๋ฆฝํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ
    โˆ‘i=1tโˆฃฯi+1โˆฃ+mโ€พ=FFDV(ฯ„)โ‰คM\sum_{i=1}^{t} |\rho_{i+1}|+\overline{m} = \text{FFDV}(\tau) \le M
    ์„ ๋งŒ์กฑํ•œ๋‹ค.

Modifications of FFDV for SP-G

๋‹ค์Œ ๋‘ ๊ด€์ฐฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ FFDV ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€์˜ ์ˆ˜์ •์„ ์ œ์•ˆํ•œ๋‹ค.

Observation 1
ฯj\rho_j์— ํ• ๋‹น๋œ task set ฯ„(ฯj)\tau(\rho_j)์— ๋Œ€ํ•ด,

โˆ€ฯ„x,ฯ„yโˆˆฯ„(ฯj):mx+my>โˆฃฯjโˆฃ(xโ‰ y),(9)\forall \tau_x, \tau_y \in \tau(\rho_j) : m_x + m_y > |\rho_j| (x \neq y), \tag{9}

์ด ์„ฑ๋ฆฝํ•˜๊ณ , uniprocessor task scheduler์— ์˜ํ•ด ฯ„(ฯj)\tau(\rho_j)๋Š” unschedulableํ•˜๋‹ค๋ฉด,
๋ชจ๋“  global gang scheduler์— ๋Œ€ํ•ด์„œ ฯ„(ฯj)\tau(\rho_j)๋Š” unschedulableํ•˜๋‹ค.

  • ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๋ถ€๋“ฑ์‹ (9)๋ฅผ ๋ฏธ๋ฆฌ ์ฒดํฌํ•ด์•ผํ•˜๊ณ , ๋งŒ์•ฝ ์ด ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•œ๋‹ค๋ฉด, ์šฐ๋ฆฌ๋Š” uniprocessor task scheduler๋ฅผ ์‚ฌ์šฉํ•ด์„œ schedulability test๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
  • ์•„๋‹ˆ๋ผ๋ฉด, ์ถฉ๋ถ„ํ•œ (ํ•„์š”์กฐ๊ฑด์€ ์•„๋‹Œ) schedulability test๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.

  • ์—ฌ๊ธฐ์—์„œ uniTest์™€ globalTest๊ฐ€ ๊ฐ๊ฐ uniprocessor task scheduler์™€ global gang scheduler๋ฅผ ์ด์šฉํ•œ๋‹ค.

Observation 2
SP-G์—์„œ ฯ„i\tau_i๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ฯ1,ฯ2,โ€ฆ,ฯt\rho_1, \rho_2, \ldots, \rho_t์— ํ• ๋‹น๋  ์ˆ˜ ์—†๊ณ , ๋‚จ์€ ํ”„๋กœ์„ธ์„œ Mโ€ฒM'๊ฐ€ 0<Mโ€ฒ<mi0<M'<m_i ๋ฅผ ๋งŒ์กฑํ•œ๋‹ค๋ฉด, ฯ„i\tau_i๋Š” ๋งˆ์ง€๋ง‰ ํŒŒํ‹ฐ์…˜ ฯt\rho_t๋ฅผ Mโ€ฒM'๊นŒ์ง€ ์ฆ๊ฐ€์‹œ์ผœ์„œ schedulableํ•˜๊ฒŒ ๋งŒ๋“ค ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

  • ๋”ฐ๋ผ์„œ ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ else: return False๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

Performance Evaluation

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)
    ์—…๋กœ๋“œ์ค‘..
profile
๋ˆ ๋˜๋Š” ๊ฑด ๋‹ค ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€