๐Ÿ“ฆ Design and Timing Guarantee for Non-Preemptive Gang Scheduling

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

RTCL

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

Introduction

  • Non-Preemptive Gang Scheduling (์ดํ•˜ NPG)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ Priority Inversion์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ์ด๋ฅผ ๊ณ ๋ คํ•˜์—ฌ, ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” NPG ํ”„๋ ˆ์ž„์›Œํฌ NPG*๋ฅผ ์ œ์•ˆํ•˜์—ฌ ์ด ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ Priority Inversion์„ ํ—ˆ์šฉํ• ์ง€ ๋ง์ง€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๊ทธ ํšจ๊ณผ๋ฅผ ์ž…์ฆํ•˜๊ธฐ ์œ„ํ•ด FP์— ์ ์šฉํ•˜์—ฌ NPG*-FP์— ๋Œ€ํ•ด ๋‹ค์Œ ์งˆ๋ฌธ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ ํƒœ์Šคํฌ์— ๋Œ€ํ•œ ํ—ˆ์šฉ ์˜ต์…˜์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, NPG*-FP์˜ Schedulability Test๋Š” ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?
    • ์ด Schedulability Test๋ฅผ ํ†ตํ•ด target task set์„ ์Šค์ผ€์ฅด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์˜ต์…˜์„ ์–ด๋–ป๊ฒŒ ํ• ๋‹นํ•  ๊ฒƒ์ธ๊ฐ€?

System Model

  • ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” fixed-priority scheduling์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ฯ„HP(ฯ„k)\tau^\text{HP}(\tau_k), ฯ„LP(ฯ„k)\tau^\text{LP}(\tau_k)๋Š” ๊ฐ๊ฐ ฯ„k\tau_k๋ณด๋‹ค ๋†’์€ ์šฐ์„ ์ˆœ์œ„์™€ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ํƒœ์Šคํฌ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์ธ LL์€ ์—ฐ์†์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    Lโ€ฒ=[โˆ’2,2)โˆช[6,10)L' = [-2, 2) \cup [6,10)

Scheduling Framework Design for NPG

๋จผ์ € NPG์˜ ์„ฑ์งˆ์— ๋Œ€ํ•ด ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.

PR 1 (Non-Preemptive)
๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž‘์—… JiJ_i๋Š” ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž‘์—… JkJ_k์˜ ๋ฆด๋ฆฌ์Šค ์‹œ๊ฐ„ ์ „์— ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๋ฉด JkJ_k์˜ ์‹คํ–‰์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PR 2 (Different parallelism)

  • ฯ„iฯ„_i์— ์˜ํ•ด ํ˜ธ์ถœ๋œ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ์ž‘์—…(JiJ_i)๊ณผ ฯ„kฯ„_k์— ์˜ํ•ด ํ˜ธ์ถœ๋œ ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ์ž‘์—…(JkJ_k)์ด tt ์ด์ „์— ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์ง€๋งŒ tt ์ด์ „์— ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • tt์—์„œ miโ‰คmโ€ฒ<mkm_i \le m' < m_k๋ฅผ ๋งŒ์กฑํ•˜๋Š” mโ€ฒm'๊ฐœ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, JkJ_k๋Š” ์‹คํ–‰ํ•  ์ˆ˜ ์—†์ง€๋งŒ JiJ_i๋Š” ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PR 2๋Š” PG์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•˜์ง€๋งŒ, NPG์—์„œ๋Š” JkJ_k์˜ ์™„๋ฃŒ์‹œ๊ฐ„์„ ๋ฏธ๋ฃจ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒŒ ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ Priority Inversion์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ inversion์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด schedulability๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

Example 1
4๊ฐœ์˜ ํƒœ์Šคํฌ, 8๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ์‹œ๋‹ค.

  • ฯ„1\tau_1: T1=25T_1 = 25, C1=4C_1 = 4, D1=25D_1 = 25, m1=2m_1 = 2
  • ฯ„2\tau_2: T2=25T_2 = 25, C2=4C_2 = 4, D2=6โ€…โ€Šorโ€…โ€Š8D_2 = 6\;or\;8, m2=6m_2 = 6
  • ฯ„3\tau_3: T3=25T_3 = 25, C3=4C_3 = 4, D3=4D_3 = 4, m3=3m_3 = 3
  • ฯ„4\tau_4: T4=25T_4 = 25, C4=4C_4 = 4, D4=10โ€…โ€Šorโ€…โ€Š8D_4 = 10\;or\;8, m4=3m_4 = 3

ฯ„3\tau_3๋งŒ โˆ’2-2์— ๋ฆด๋ฆฌ์ฆˆ๋˜๊ณ , ๋‚˜๋จธ์ง€ ํƒœ์Šคํฌ๋Š” 00์— ๋ฆด๋ฆฌ์ฆˆ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ inversion์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์ง„ ์˜ต์…˜ ฯ•k\phi_k๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

  • ฯ•k=T\phi_k = \text{T}์ธ ๊ฒฝ์šฐ: ฯ„kฯ„_k ์ž‘์—…๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ์ž‘์—…์˜ ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์ด๋Š” ๊ธฐ์กด NPG์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค).
  • ฯ•k=F\phi_k = \text{F}์ธ ๊ฒฝ์šฐ: ฯ„kฯ„_k ์ž‘์—…๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ์ž‘์—…์˜ ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Algorithm 1: NPG* Framework
์ž‘์—…์˜ ์„ ํƒ์€ ๋ฆด๋ฆฌ์ฆˆ๋‚˜ ์™„๋ฃŒ ์‹œ์ ์— ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

for (ready queue์— ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด ์šฐ์„ ์ˆœ์œ„์— ๋Œ€ํ•ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ): 
    if (์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์„œ ์ˆ˜๊ฐ€ 0): 
        return
    elif (m_k ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ):
        J_k ์‹คํ–‰
    elif phi_k == F: # ๊ธฐ์กด NPG์™€ ์œ ์ผํ•œ ์ฐจ์ด 
        return
  • ๊ทธ๋ฆฌ๊ณ  ์ž‘์—…์ด ๋ชจ์ข…์˜ ์ด์œ ๋กœ ready ์ƒํƒœ์ด์ง€๋งŒ ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ด๋ฅผ pendingpending์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

Schedulability Analysis for NPG*-FP

Schedulability Test๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

  1. ๋Ÿฐํƒ€์ž„์—๋งŒ ๋“œ๋Ÿฌ๋‚˜๋Š” ์ผ๋ถ€ ๊ฐ’์— ์˜์กดํ•˜๋Š” ๊ฐ ์ž‘์—…์˜ Schedulability condition์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  2. ์ด๋Ÿฌํ•œ ๊ฐ ๊ฐ’์˜ ์˜คํ”„๋ผ์ธ upper bound๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋„์ถœํ•˜์—ฌ ์ฒซ๋ฒˆ์งธ Schedulability test๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ฐ ๊ฐ’์˜ upper bound๋ฅผ ์ข€ ๋” ์—„๊ฒฉํ•˜๊ฒŒ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐœ๋ฐœํ•˜์—ฌ NPG*-FP์˜ Schedulability Test๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

A. Development of Each Job's Schedulability Condition

  • JkJ_k์˜ release time์„ rkr_k๋ผ ํ•  ๋•Œ, (Dkโˆ’Ck)(D_k-C_k) ๊ธธ์ด์˜ ฮ”k=[rk,rk+Dkโˆ’Ck)\Delta_k = [r_k, r_k + D_k - C_k) ๊ตฌ๊ฐ„์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ ฮ”k\Delta_k ์•ˆ์—์„œ JkJ_k๊ฐ€ pending ์ƒํƒœ์ธ ์‹œ๊ฐ„์ด (Dkโˆ’Ck)(D_k - C_k)๋ณด๋‹ค ์—„๊ฒฉํ•˜๊ฒŒ ์ž‘๋‹ค๋ฉด, JkJ_k๋Š” non-preemptiveํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ deadline์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์‹œ๊ฐ„์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ notation์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • ฯ„HPF(ฯ„k)\tau^\text{HPF}(\tau_k): ฯ„k\tau_k๋ณด๋‹ค ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–๊ณ , ฯ•h\phi_h๊ฐ€ F์ธ ํƒœ์Šคํฌ ์ง‘ํ•ฉ {ฯ„hโˆˆฯ„}={ฯ„hโˆˆฯ„HP(ฯ„k)โˆฃฯ•h=F}\{\tau_h \in \tau\} = \{\tau_h \in \tau^\text{HP}(\tau_k) | \phi_h = \text{F}\}
  • LkP(ฮ”)L^\text{P}_k(\Delta): ฯ„k\tau_k๊ฐ€ pending ์ƒํƒœ์ธ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ
  • LkPH(ฮ”)L^\text{PH}_k(\Delta): ฯ„k\tau_k๊ฐ€ pending ์ƒํƒœ์ด๊ณ , pending ์ƒํƒœ์ธ ฯ„hโˆˆฯ„HPF(ฯ„k)\tau_h \in \tau^\text{HPF}(\tau_k)๊ฐ€ ์กด์žฌํ•˜๋Š” ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ. ์ฆ‰:
    LkPH(ฮ”)=LkP(ฮ”)โˆฉโ‹ƒฯ„hโˆˆฯ„HPF(ฯ„k)LhP(ฮ”)L^\text{PH}_k(\Delta) = L^\text{P}_k(\Delta) \cap \bigcup_{\tau_h \in \tau^\text{HPF}(\tau_k)}L^\text{P}_h(\Delta)
  • LkPN(ฮ”)L^\text{PN}_k(\Delta) (์ดํ•˜ Lk(ฮ”)L_k(\Delta)): ฯ„k\tau_k๊ฐ€ pending ์ƒํƒœ์ด๊ณ , pending ์ƒํƒœ์ธ ฯ„hโˆˆฯ„HPF(ฯ„k)\tau_h \in \tau^\text{HPF}(\tau_k)๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ. ์ฆ‰:
    LkPN(ฮ”)=LkP(ฮ”)โˆ–LkPH(ฮ”)L^\text{PN}_k(\Delta) = L^\text{P}_k(\Delta) \setminus L^\text{PH}_k(\Delta)

Example 2
4๊ฐœ์˜ ํƒœ์Šคํฌ, 8๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ์‹œ๋‹ค.

  • ฯ„1\tau_1: T1=25T_1 = 25, C1=4C_1 = 4, D1=25D_1 = 25, m1=2m_1 = 2
  • ฯ„2\tau_2: T2=25T_2 = 25, C2=4C_2 = 4, D2=25D_2 = 25, m2=6m_2 = 6
  • ฯ„3\tau_3: T3=25T_3 = 25, C3=4C_3 = 4, D3=25D_3 = 25, m3=3m_3 = 3
  • ฯ„4\tau_4: T4=25T_4 = 25, C4=4C_4 = 4, D4=25D_4 = 25, m4=3m_4 = 3

ฯ„3\tau_3๋งŒ โˆ’2-2์— ๋ฆด๋ฆฌ์ฆˆ๋˜๊ณ , ๋‚˜๋จธ์ง€ ํƒœ์Šคํฌ๋Š” 00์— ๋ฆด๋ฆฌ์ฆˆ๋ฉ๋‹ˆ๋‹ค.
ฯ„1\tau_1์ด ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„, ฯ„4\tau_4๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ฯ•2=F\phi_2=F

ฯ„4\tau_4๋Š” [0,2)=L4PH(ฮ”4)[0, 2) = L^\text{PH}_4(\Delta_4) ๊ตฌ๊ฐ„์—์„œ๋Š” ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ถฉ๋ถ„ํ•จ์—๋„, ฯ•2=F\phi_2=F์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ ์ดํ›„๋Š” ํ”„๋กœ์„ธ์„œ๊ฐ€ ๋ถ€์กฑํ•˜๋ฏ€๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ์กด์˜ ๊ฐ„์„ญ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ ์—์„œ ฯ„kฯ„_k ์ž‘์—…์˜ ์Šค์ผ€์ค„๋ง ๊ฐ€๋Šฅ์„ฑ์€ ๋‹ค๋ฅธ ์ž‘์—…์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์„œ ์ˆ˜๊ฐ€ ๊ด€์‹ฌ ์ž‘์—…์˜ ์‹คํ–‰์— ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ธฐ๊ฐ„์˜ ์ƒํ•œ์„ ๊ณ„์‚ฐํ•˜์—ฌ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ NPG*-FP์—์„œ๋Š” ํ”„๋กœ์„ธ์„œ ์ˆ˜๊ฐ€ ์ถฉ๋ถ„ํ•˜๋”๋ผ๋„ pending ์ƒํƒœ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Š” LkPH(ฮ”k)L^\text{PH}_k(\Delta_k)๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋ฏ€๋กœ, ์šฐ๋ฆฌ๋Š” LkPH(ฮ”k)L^\text{PH}_k(\Delta_k)๋ฅผ Lh(ฮ”k)L_h(\Delta_k)์˜ ํฌ๊ธฐ๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Lemma 1

โˆฃLkPH(ฮ”k)โˆฃโ‰คโˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)โˆฃLh(ฮ”k)โˆฃ.(1)|L_k^{\text{PH}}(\Delta_k)| \leq \sum_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} |L_h(\Delta_k)|. \tag{1}

Proof
LkPH(ฮ”k)โІโ‹ƒฯ„hโˆˆฯ„HPF(ฯ„k)Lh(ฮ”k)L_k^{\text{PH}}(\Delta_k) \subseteq \bigcup_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} L_h(\Delta_k)๋ฅผ ์ฆ๋ช…ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • ์ •์˜์— ์˜ํ•ด LkPH(ฮ”k)=LkP(ฮ”k)โˆฉโ‹ƒฯ„hโˆˆฯ„HPF(ฯ„k)LhP(ฮ”k)L^\text{PH}_k(\Delta_k) = L^\text{P}_k(\Delta_k) \cap \bigcup_{\tau_h \in \tau^\text{HPF}(\tau_k)}L^\text{P}_h(\Delta_k)
  • ๋”ฐ๋ผ์„œ, LkPH(ฮ”k)โІโ‹ƒฯ„hโˆˆฯ„HPF(ฯ„k)LhP(ฮ”k)L_k^{\text{PH}}(\Delta_k) \subseteq \bigcup_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} L^P_h(\Delta_k)์ด๊ณ , ์šฐ๋ฆฌ๋Š” โ‹ƒฯ„hโˆˆฯ„HPF(ฯ„k)LhP(ฮ”k)=โ‹ƒฯ„hโˆˆฯ„HPF(ฯ„k)LhP(ฮ”k)\bigcup_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} L^P_h(\Delta_k)=\bigcup_{\tau_h \in \tau^\text{HPF}(\tau_k)}L^\text{P}_h(\Delta_k)๋ฅผ ๋ณด์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

(์ˆ˜ํ•™์  ๊ท€๋‚ฉ๋ฒ•)

  • (Base case) ฯ„h1\tau_{h_1}์ด ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–๊ฒŒ ๋˜๋ฏ€๋กœ, Lh1PH(ฮ”k)=โˆ…L^\text{PH}_{h_1}(\Delta_k)=\emptyset. ๋”ฐ๋ผ์„œ Lh1P(ฮ”k)=Lh1(ฮ”k)L^\text{P}_{h_1}(\Delta_k) = L_{h_1}(\Delta_k)์ž…๋‹ˆ๋‹ค.
  • (Inductive case) nโˆ’1n-1์— ๋Œ€ํ•ด ์„ฑ๋ฆฝํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
    โ‹ƒ1โ‰คxโ‰คnLhxP(ฮ”k)=โ‹ƒ1โ‰คxโ‰คnโˆ’1LhxP(ฮ”k)โˆชLhnP(ฮ”k)=โ‹ƒ1โ‰คxโ‰คnโˆ’1LhxP(ฮ”k)โˆชLhnPH(ฮ”k)โˆชLhn(ฮ”k)(byย theย definitionย ofย LhnP(ฮ”k))=โ‹ƒ1โ‰คxโ‰คnโˆ’1LhxP(ฮ”k)โˆช{LhnP(ฮ”k)โˆฉโ‹ƒ1โ‰คxโ‰คnโˆ’1LhxP(ฮ”k)}โˆชLhn(ฮ”k)(byย theย definitionย ofย LhnPH(ฮ”k))=โ‹ƒ1โ‰คxโ‰คnโˆ’1LhxP(ฮ”k)โˆชLhn(ฮ”k)(byย Lโˆช{Lโ€ฒโˆฉL}=L)=โ‹ƒ1โ‰คxโ‰คnโˆ’1Lhx(ฮ”k)โˆชLhn(ฮ”k)(byย theย supposition)=โ‹ƒ1โ‰คxโ‰คnLhx(ฮ”k)\begin{aligned} & \bigcup_{1 \le x \le n} L^P_{h_x}(\Delta_k)\\ = & \bigcup_{1 \le x \le n-1} L^P_{h_x}(\Delta_k) \cup L^P_{h_n}(\Delta_k) \\ = & \bigcup_{1 \le x \le n-1} L^P_{h_x}(\Delta_k) \cup L^{PH}_{h_n}(\Delta_k) \cup L_{h_n}(\Delta_k) && \text{(by the definition of } L_{h_n}^{P} (\Delta_k) ) \\ = & \bigcup_{1 \le x \le n-1} L_{h_x}^P (\Delta_k) \cup \{L_{h_n}^P (\Delta_k) \cap \bigcup_{1 \le x \le n-1} L_{h_x}^P (\Delta_k) \} \cup L_{h_n}(\Delta_k) && \text{(by the definition of } L_{h_n}^{PH} (\Delta_k) ) \\ = & \bigcup_{1 \le x \le n-1} L_{h_x}^P (\Delta_k) \cup L_{h_n}(\Delta_k) && \text{(by } L \cup \{L' \cap L\} = L ) \\ = & \bigcup_{1 \le x \le n-1} L_{h_x}(\Delta_k) \cup L_{h_n}(\Delta_k) && \text{(by the supposition)} \\ = & \bigcup_{1 \le x \le n} L_{h_x}(\Delta_k) \end{aligned}
    ๋”ฐ๋ผ์„œ ์ˆ˜ํ•™์  ๊ท€๋‚ฉ๋ฒ•์— ์˜ํ•ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

Lemma 2
๋งŒ์•ฝ ๋‹ค์Œ ๋ถ€๋“ฑ์‹์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด rkr_k์— ๋ฆด๋ฆฌ์ฆˆ๋œ ฯ„k\tau_k์˜ ์ž‘์—…์€ deadline์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โˆฃLk(ฮ”k)โˆฃ+โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)โˆฃLh(ฮ”k)โˆฃ<Dkโˆ’Ck(2)|L_k(\Delta_k)| + \sum_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} |L_h(\Delta_k)| < D_k - C_k \tag{2}

Proof

  • ์ •์˜์— ์˜ํ•ด LkPH(ฮ”k)โˆชLk(ฮ”k)=LkP(ฮ”k)L^{PH}_{k}(\Delta_k) \cup L_{k}(\Delta_k) = L^{P}_{k}(\Delta_k)์ด๊ณ , LkPH(ฮ”k)โˆฉLk(ฮ”k)=โˆ…L^{PH}_{k}(\Delta_k) \cap L_{k}(\Delta_k) = \emptyset์ž…๋‹ˆ๋‹ค.
  • ์ฆ‰ โˆฃLkPH(ฮ”k)โˆฃ+โˆฃLk(ฮ”k)โˆฃ=โˆฃLkP(ฮ”k)โˆฃ|L^{PH}_{k}(\Delta_k)| + |L_{k}(\Delta_k)| = |L^{P}_{k}(\Delta_k)|์ž…๋‹ˆ๋‹ค.
  • Eq.(1)์„ ์ด ๋ฐฉ์ •์‹์— ๋Œ€์ž…ํ•˜๋ฉด, โˆฃLkP(ฮ”k)โˆฃโ‰ค|L^{P}_{k}(\Delta_k)| \le Eq (2)์˜ LHS๊ฐ€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ Eq (2)๊ฐ€ ์„ฑ๋ฆฝํ•˜๋ฉด โˆฃLkP(ฮ”k)โˆฃ<Dkโˆ’Ck|L^{P}_{k}(\Delta_k)| < D_k - C_k๊ฐ€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.
  • LkP(ฮ”k)L^{P}_{k}(\Delta_k)์˜ ์ •์˜์™€ ฮ”k\Delta_k์˜ ๊ธธ์ด์— ๋”ฐ๋ผ โˆฃLkP(ฮ”k)โˆฃ<Dkโˆ’Ck|L^{P}_{k}(\Delta_k)| < D_k - C_k๋Š” JkJ_k๊ฐ€ rk+Dkโˆ’Ckr_k+D_k-C_k ์ „์— ์‹คํ–‰์„ ์‹œ์ž‘ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • non-preemptive์ด๋ฏ€๋กœ JkJ_k๋Š” deadline์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ฯ„i\tau_i๊ฐ€ โˆฃLk(ฮ”k)โˆฃ|L_k(\Delta_k)|์™€ โˆฃLh(ฮ”k)โˆฃ|L_h(\Delta_k)|์— ๊ธฐ์—ฌํ•˜๋Š” ์–‘์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ notation์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • Lkโ†i(ฮ”)L_{k \leftarrow i}(\Delta): Lk(ฮ”)L_k(\Delta) ์ค‘ ฯ„i\tau_i๊ฐ€ ์‹คํ–‰์ค‘์ธ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ

Lemma 3

โˆฃLk(ฮ”k)โˆฃโ‰คโˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„k}โˆฃLkโ†i(ฮ”k)โˆฃโ‹…minโก(mi,mโˆ’mk+1)mโˆ’mk+1(3)\left|L_{k}\left(\Delta_{k}\right)\right| \leq \sum_{\tau_{i} \in \tau \setminus\left\{\tau_{k}\right\}} \frac{\left|L_{k \leftarrow i}\left(\Delta_{k}\right)\right| \cdot \min \left(m_{i}, m - m_{k} + 1\right)}{m - m_{k} + 1} \tag{3}

๊ทธ๋ฆฌ๊ณ  ฮ”k\Delta_k์—์„œ JkJ_k์˜ ์‹คํ–‰์ด ์—†๋‹ค๋ฉด, ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ˆ๋‹ค.

โˆฃLh(ฮ”k)โˆฃโ‰คโˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„h,ฯ„k}โˆฃLhโ†i(ฮ”k)โˆฃโ‹…minโก(mi,mโˆ’mh+1)mโˆ’mh+1(4)|L_h(\Delta_k)| \leq \sum_{\tau_i \in \tau \setminus \{\tau_h, \tau_k\}} \frac{|L_{h \leftarrow i}(\Delta_k)| \cdot \min(m_i, m - m_h + 1)}{m - m_h + 1} \tag{4}

Proof
(๊ท€๋ฅ˜๋ฒ•) Eq(3)์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์„ ๋•Œ ๊ฐ€์ •์˜ ๋ชจ์ˆœ์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • LL ์‹œ๊ฐ„๋™์•ˆ mkm_k์˜ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ amount of execution์„ โˆฃLโˆฃโ‹…mk|L|\cdot m_k๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • Lk(ฮ”k)L_{k}\left(\Delta_{k}\right)์˜ ์ •์˜์— ์˜ํ•ด ์ ์–ด๋„ (mโˆ’mk+1)(m-m_k+1)๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ Lk(ฮ”k)L_{k}\left(\Delta_{k}\right)์˜ ์–ด๋–ค ์‹œ๊ฐ„์—์„œ๋“  ์‹คํ–‰๋˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๊ธฐ์—์„œ ์ž„์˜์˜ (mโˆ’mk+1)(m-m_k+1)๊ฐœ ํ”„๋กœ์„ธ์„œ๋ฅผ ์„ ํƒํ•ด counted processors๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, counted processors์—์„œ Lk(ฮ”k)L_{k}\left(\Delta_{k}\right)์˜ ์‹คํ–‰๋Ÿ‰์€ ์ •ํ™•ํžˆ โˆฃLk(ฮ”k)โˆฃโ‹…(mโˆ’mk+1)|L_{k}\left(\Delta_{k}\right)|\cdot (m-m_k+1)์ž…๋‹ˆ๋‹ค.
  • ๋ฐ˜๋ฉด, Lk(ฮ”k)L_{k}\left(\Delta_{k}\right)์—์„œ์˜ ฯ„i\tau_i์˜ ์‹คํ–‰๋Ÿ‰์˜ upper bound๋Š” โˆฃLkโ†i(ฮ”k)โˆฃโ‹…minโก(mi,mโˆ’mk+1)|L_{k \leftarrow i}\left(\Delta_{k}\right)|\cdot \min(m_i, m-m_k+1)์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ฯ„k\tau_k๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์ž‘์—…์˜ ์‹คํ–‰๋Ÿ‰์€ โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„k}โˆฃLkโ†i(ฮ”k)โˆฃโ‹…minโก(mi,mโˆ’mk+1)\sum_{\tau_{i} \in \tau \setminus\left\{\tau_{k}\right\}} \left|L_{k \leftarrow i}\left(\Delta_{k}\right)\right| \cdot \min \left(m_{i}, m - m_{k} + 1\right) ์ดํ•˜์ด๊ณ , ๋ชจ์ˆœ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • Eq(4)๋„ ฮ”k\Delta_k์—์„œ JkJ_k์˜ ์‹คํ–‰์ด ์—†์Œ์„ ๊ฐ€์ •ํ•˜๋ฏ€๋กœ, RHS์—์„œ ฯ„k\tau_k์™€ ๊ด€๋ จ๋œ ํ•ญ์„ ์ œ๊ฑฐํ•ด ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ณด์กฐ์ •๋ฆฌ๋“ค์„ ํ•ฉํ•ด ๋‹ค์Œ ์ •๋ฆฌ๋ฅผ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Theorem 1
๋‹ค์Œ ๋ถ€๋“ฑ์‹์ด ์„ฑ๋ฆฝํ•œ๋‹ค๋ฉด, ฯ„k\tau_k๋Š” rk+Dkโˆ’Ckr_k+D_k-C_k ์ด์ „์— ์‹คํ–‰๋˜๊ณ , ๋”ฐ๋ผ์„œ deadline์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)(โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„h,ฯ„k}โˆฃLhโ†i(ฮ”k)โˆฃโ‹…minโก(mi,mโˆ’mh+1)mโˆ’mh+1)+โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„k}โˆฃLkโ†i(ฮ”k)โˆฃโ‹…minโก(mi,mโˆ’mk+1)mโˆ’mk+1<Dkโˆ’Ck(5)\begin{aligned} \sum_{\tau_h \in \tau^{HPF}(\tau_k)} \left( \sum_{\tau_i \in \tau \setminus \{\tau_h, \tau_k\}} \frac{|L_{h \leftarrow i}(\Delta_k)| \cdot \min(m_i, m - m_h + 1)}{m - m_h + 1} \right) \\+ \sum_{\tau_i \in \tau \setminus \{\tau_k\}} \frac{|L_{k \leftarrow i}(\Delta_k)| \cdot \min(m_i, m - m_k + 1)}{m - m_k + 1} \\ < D_k - C_k \end{aligned} \tag{5}

๋‹ค๋งŒ ์—ฌ๊ธฐ์—์„œ โˆฃLhโ†i(ฮ”k)โˆฃ|L_{h \leftarrow i}(\Delta_k)|์™€ โˆฃLkโ†i(ฮ”k)โˆฃ|L_{k \leftarrow i}(\Delta_k)|๋Š” ๋Ÿฐํƒ€์ž„ ์ „์— ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, offline test๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด upper bound๋ฅผ ๋„์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

B. Development of Schedulability Analysis for NPG*-FP

ฯ•k=T\phi_k=T์ธ ๊ฒฝ์šฐ์™€ ฯ•k=F\phi_k=F์ธ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด upper bound๋ฅผ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค.
ฯ•k=T\phi_k=T์ธ ๊ฒฝ์šฐ๋Š” ฯ„i\tau_i์˜ ๊ด€๊ณ„๋ฅผ ๋‹ค์Œ ์„ธ ๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ฯ„iโˆˆฯ„HP(ฯ„k)\tau_i \in \tau^{\text{HP}}(\tau_k)
  2. ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmiโ‰ฅmk\tau_i \in \tau^{\text{LP}}(\tau_k) | m_i \ge m_k
  3. ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmi<mk\tau_i \in \tau^{\text{LP}}(\tau_k) | m_i < m_k

ฯ„iโˆˆฯ„HP(ฯ„k)\tau_i \in \tau^{\text{HP}}(\tau_k)์ธ ๊ฒฝ์šฐ:

  • Wi(โ„“)W_i(\ell)์„ ์—ฐ์†๋œ ๊ธธ์ด โ„“\ell์˜ ์‹œ๊ฐ„ ๋™์•ˆ ฯ„i\tau_i๊ฐ€ ์ตœ๋Œ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด๋ผ๊ณ  ํ•  ๋•Œ,
  • โˆฃLkโ†i(ฮ”k)โˆฃ|L_{k \leftarrow i}(\Delta_k)|์˜ upper bound๋ฅผ Wi(Dkโˆ’Ck)W_i(D_k-C_k)๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•„๋ž˜ ๊ทธ๋ฆผ์— ๋”ฐ๋ผ ์ตœ๋Œ€ ์‹คํ–‰์€ ฯ„i\tau_i์˜ ์ฒซ๋ฒˆ์งธ ์ž‘์—…์ด โ„“\ell์˜ ์ตœ๋Œ€ํ•œ ๋Šฆ๊ฒŒ ์‹คํ–‰๋˜๊ณ , ๊ทธ ์ดํ›„๋Š” ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์‹คํ–‰๋ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ, Ni(โ„“)N_i(\ell)์„ โŒŠโ„“+Diโˆ’CiTiโŒ‹\left\lfloor\frac{\ell + D_i - C_i}{T_i}\right\rfloor๋ผ ์ •์˜ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.
Wi(โ„“)=minโก(โ„“,Ni(โ„“)โ‹…Ci+minโก(Ci,โ„“+Diโˆ’Ciโˆ’Ni(โ„“)โ‹…Ti))(6)W_i(\ell) = \min(\ell, N_i(\ell) \cdot C_i + \min(C_i, \ell + D_i - C_i - N_i(\ell) \cdot T_i)) \tag{6}

ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmiโ‰ฅmk\tau_i \in \tau^{\text{LP}}(\tau_k) | m_i \ge m_k์ธ ๊ฒฝ์šฐ:

  • ์šฐ๋ฆฌ๋Š” โˆฃLkโ†i(ฮ”k)โˆฃ|L_{k \leftarrow i}(\Delta_k)|์˜ upper bound๋ฅผ min(Dkโˆ’Ck,Ci)min(D_k-C_k, C_i)๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • mim_i๊ฐ€ mkm_k๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , ฯ„i\tau_i์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ฯ„k\tau_k๋ณด๋‹ค ๋‚ฎ์œผ๋ฏ€๋กœ, PR2์˜ ์ƒํ™ฉ์€ ๋ฐœ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ, ์˜ค์ง PR1์— ์˜ํ•ด ฯ„i\tau_i๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋Š” rkr_k ์ „์— ฯ„i\tau_i์˜ ์‹คํ–‰์ด ์‹œ์ž‘๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฆ‰ min(Dkโˆ’Ck,Ci)min(D_k-C_k, C_i)๋กœ upper bound๊ฐ€ ์ •ํ•ด์ง‘๋‹ˆ๋‹ค.

ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmi<mk\tau_i \in \tau^{\text{LP}}(\tau_k) | m_i < m_k์ธ ๊ฒฝ์šฐ:

  • ์ด๋•Œ๋Š” PR2์˜ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ prioirty inversion์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ , ๋”ฐ๋ผ์„œ Wi(Dkโˆ’Ck)W_i(D_k-C_k)๊ฐ€ upper bound๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด ฯ•k=T\phi_k=T์ธ ๊ฒฝ์šฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด upper bound๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ekโ†i={Wi(Dkโˆ’Ck),ifย ฯ„iโˆˆฯ„HP(ฯ„k),minโก(Dkโˆ’Ck,Ci),ifย ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmiโ‰ฅmk,Wi(Dkโˆ’Ck),ifย ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmi<mk.(7)E_{k \leftarrow i} = \begin{cases} W_i(D_k - C_k), & \text{if } \tau_i \in \tau^{\text{HP}}(\tau_k), \\ \min(D_k - C_k, C_i), & \text{if } \tau_i \in \tau^{\text{LP}}(\tau_k) | m_i \geq m_k, \\ W_i(D_k - C_k), & \text{if } \tau_i \in \tau^{\text{LP}}(\tau_k) | m_i < m_k. \end{cases} \tag{7}

ํ•œํŽธ ฯ•k=T\phi_k=T์ธ ๊ฒฝ์šฐ๋Š” ฯ„i\tau_i์˜ ๊ด€๊ณ„๋ฅผ ๋‹ค์Œ ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ฯ„iโˆˆฯ„HP(ฯ„k)\tau_i \in \tau^{\text{HP}}(\tau_k)
  2. ฯ„iโˆˆฯ„LP(ฯ„k)\tau_i \in \tau^{\text{LP}}(\tau_k)

ฯ„iโˆˆฯ„HP(ฯ„k)\tau_i \in \tau^{\text{HP}}(\tau_k)์ธ ๊ฒฝ์šฐ:
๋˜‘๊ฐ™์ด Wi(Dkโˆ’Ck)W_i(D_k-C_k)๊ฐ€ upper bound๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

ฯ„iโˆˆฯ„LP(ฯ„k)\tau_i \in \tau^{\text{LP}}(\tau_k)์ธ ๊ฒฝ์šฐ:
๋ฐ˜๋“œ์‹œ PR1๋งŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, min(Dkโˆ’Ck,Ci)min(D_k-C_k, C_i)๊ฐ€ upper bound๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด ฯ•k=F\phi_k=F์ธ ๊ฒฝ์šฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด upper bound๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ekโ†i={Wi(Dkโˆ’Ck),ifย ฯ„iโˆˆฯ„HP(ฯ„k),minโก(Dkโˆ’Ck,Ci),ifย ฯ„iโˆˆฯ„LP(ฯ„k).(8)E_{k \leftarrow i} = \begin{cases} W_i(D_k - C_k), & \text{if } \tau_i \in \tau^{HP}(\tau_k), \\ \min(D_k - C_k, C_i), & \text{if } \tau_i \in \tau^{LP}(\tau_k). \end{cases} \tag{8}

Lemma 4
ฯ„\tau๊ฐ€ NPG*-FP์—์„œ ์Šค์ผ€์ฅด๋  ๋•Œ, ๋‹ค์Œ ๋ถ€๋“ฑ์‹์ด ์„ฑ๋ฆฝํžŒ๋‹ค.

โˆฃLkโ†i(ฮ”k)โˆฃโ‰คEkโ†i,(9)|L_{k \leftarrow i}(\Delta_k)| \leq E_{k \leftarrow i}, \tag{9}

๋‹ค์Œ ๋‹จ๊ณ„๋Š” โˆฃLhโ†i(ฮ”k)โˆฃ|L_{h \leftarrow i}(\Delta_k)|์˜ upper bound๋ฅผ ๋„์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Lhโ†i(ฮ”k)L_{h \leftarrow i}(\Delta_k)์— ํฌํ•จ๋˜๋Š” ์ž„์˜์˜ ๊ตฌ๊ฐ„์€ ๋‹ค์Œ์„ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.
1. ฯ„i\tau_i์˜ ์ž‘์—…์ด ์‹คํ–‰์ค‘์ด๊ณ 
2. ฯ„h\tau_h์˜ ์ž‘์—…์ด pending ์ƒํƒœ์ด๊ณ 
3. ฯ„gโˆˆฯ„HPF(ฯ„h)\tau_g \in \tau^\text{HPF}(\tau_h)์˜ ์ž‘์—…์ค‘ pending ์ƒํƒœ์ธ ์ž‘์—…์ด ์—†์Šต๋‹ˆ๋‹ค.

2๋ฒˆ๊ณผ 3๋ฒˆ์ด ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  1๋ฒˆ ์กฐ๊ฑด๋งŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Wi(โ„“)W_i(\ell)์ด โ„“\ell์˜ ๊ธธ์ด๋™์•ˆ ฯ„i\tau_i๊ฐ€ ์ตœ๋Œ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด๋ฏ€๋กœ, โˆฃLhโ†i(ฮ”k)โˆฃโ‰คWi(Dkโˆ’Ck)|L_{h \leftarrow i}(\Delta_k)| \leq W_i(D_k-C_k)๊ฐ€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

โˆฃLhโ†i(ฮ”k)โˆฃ|L_{h \leftarrow i}(\Delta_k)|์˜ upper bound Ehโ†i(ฯ„k)E_{h \leftarrow i}(\tau_k)๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•ฉ์‹œ๋‹ค.

Forย bothย ฯ•k=Tย andย ฯ•k=F,Ehโ†i(ฯ„k)=Wi(Dkโˆ’Ck).(10)\begin{aligned} \text{For both }\phi_k = \text{T}\text{ and }\phi_k = \text{F},\\ E_{h \leftarrow i}(\tau_k) = W_i(D_k - C_k). \end{aligned} \tag{10}

Lemma 5

โˆฃLhโ†i(ฮ”k)โˆฃโ‰คEhโ†i(ฯ„k),(11)|L_{h \leftarrow i}(\Delta_k)| \leq E_{h \leftarrow i}(\tau_k), \tag{11}

์ด์ œ Lemma 4์™€ Lemma 5๋ฅผ ํ•ฉ์ณ์„œ Theorem 2๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Theorem 2
task set ฯ„\tau๊ฐ€ NPG*-FP์—์„œ ์Šค์ผ€์ฅด ๊ฐ€๋Šฅํ•  ๋•Œ, ๋‹ค์Œ ๋ถ€๋“ฑ์‹์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)(โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„h,ฯ„k}Ehโ†i(ฯ„k)โ‹…minโก(mi,mโˆ’mh+1)mโˆ’mh+1)+โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„k}Ekโ†iโ‹…minโก(mi,mโˆ’mk+1)mโˆ’mk+1<Dkโˆ’Ck(12)\begin{aligned} \sum_{\tau_h \in \tau^{HPF}(\tau_k)} \left( \sum_{\tau_i \in \tau \setminus \{\tau_h, \tau_k\}} \frac{E_{h \leftarrow i}(\tau_k) \cdot \min(m_i, m - m_h + 1)}{m - m_h + 1} \right)\\ + \sum_{\tau_i \in \tau \setminus \{\tau_k\}} \frac{E_{k \leftarrow i} \cdot \min(m_i, m - m_k + 1)}{m - m_k + 1} < D_k - C_k \end{aligned} \tag{12}

Proof
ฯ„k\tau_k์˜ ์ž‘์—… JkJ_k์˜ Deadline miss๋ฅผ ๊ฐ€์ •ํ•ฉ์‹œ๋‹ค.
Eq (5)๋Š” Eq (12)๋กœ upper bound๋˜๊ณ , Eq(5)๊ฐ€ ์„ฑ๋ฆฝํ•˜๋ฉด Theorem 1์— ์˜ํ•ด deadline miss๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ชจ์ˆœ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ NPG*-FP ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ธฐ์กด NPG-FP์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ฯ•k=T\phi_k=T์ธ ๊ฒฝ์šฐ)

์‹œ๊ฐ„๋ณต์žก๋„๋Š” ฯ•i=F\phi_i=F๋ฅผ ๋งŒ์กฑํ•˜๋Š” ํƒœ์Šคํฌ ์ˆ˜๋ฅผ nโ€ฒn', ์ „์ฒด ํƒœ์Šคํฌ ์ˆ˜๋ฅผ nn์ด๋ผ๊ณ  ํ•  ๋–„ O(nโ€ฒโ‹…n2)O(n' \cdot n^2)์ž…๋‹ˆ๋‹ค.

C. Improvement of Schedulability Analysis for NPG*-FP

Example 3
4๊ฐœ์˜ ํƒœ์Šคํฌ, 8๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ์‹œ๋‹ค.

  • ฯ„1\tau_1: T1=25T_1 = 25, C1=4C_1 = 4, D1=25D_1 = 25, m1=2m_1 = 2
  • ฯ„2\tau_2: T2=25T_2 = 25, C2=4C_2 = 4, D2=25D_2 = 25, m2=6m_2 = 6
  • ฯ„3\tau_3: T3=25T_3 = 25, C3=4C_3 = 4, D3=25D_3 = 25, m3=3m_3 = 3
  • ฯ„4\tau_4: T4=25T_4 = 25, C4=4C_4 = 4, D4=25D_4 = 25, m4=3m_4 = 3

ฯ•2=ฯ•3=F\phi_2=\phi_3=F๋ผ๊ณ  ํ•˜๋ฉด ฯ„1\tau_1์€ E4โ†1E_{4 \leftarrow 1}, E3โ†1(ฯ„4)E_{3 \leftarrow 1}(\tau_4), E2โ†1(ฯ„4)E_{2 \leftarrow 1}(\tau_4)์—์„œ Eq(12)์˜ LHS์— ๊ธฐ์—ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ฯ„1\tau_1์€ D4โˆ’C4D_4-C_4๋™์•ˆ ์ตœ๋Œ€ W1(D4โˆ’C4)=8W_1(D_4-C_4) = 8๋งŒํผ๋ฐ–์— ์‹คํ–‰ํ•  ์ˆ˜ ์—†๊ณ  ์ด๋Š” Eq(12)์˜ LHS์— ๋ฐ˜์˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Lemma 6
๋ชจ๋“  ฯ„h,ฯ„h2โˆˆฯ„HPF(ฯ„k)\tau_{h}, \tau_{h_2} \in \tau^\text{HPF}(\tau_k)์— ๋Œ€ํ•ด ๋‹ค์Œ ๋‘ ๋ถ€๋“ฑ์‹์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

Lk(ฮ”k)โˆฉLh(ฮ”k)=โˆ…(13)L_k(\Delta_k) \cap L_h(\Delta_k) = \emptyset \tag{13}
Lh2(ฮ”k)โˆฉLh(ฮ”k)=โˆ…(14)L_{h_2}(\Delta_k) \cap L_h(\Delta_k) = \emptyset \tag{14}

Proof

  • Eq (13)์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด Lk(ฮ”k)โˆฉLh(ฮ”k)=LL_k(\Delta_k) \cap L_h(\Delta_k) = L์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • Lh(ฮ”kL_h(\Delta_k์˜ ์ •์˜์— ์˜ํ•ด LL์—์„œ pending ์ค‘์ธ ฯ„h\tau_h์˜ ์ž‘์—…์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • Lk(ฮ”k)L_k(\Delta_k)์˜ ์ •์˜์— ์˜ํ•ด LL์—์„œ pending ์ค‘์ธ ฯ„h\tau_h์˜ ์ž‘์—…์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋ชจ์ˆœ์ด ๋ฐœ์ƒํ•˜์—ฌ Eq(13)์€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.
  • Eq (14)๋„ ์ผ๋ฐ˜์„ฑ์„ ์žƒ์ง€ ์•Š๊ณ  ฯ„h\tau_h์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ $\tau_{h_2}๋ณด๋‹ค ๋†’๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋˜‘๊ฐ™์ด ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰ ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  Lk(ฮ”k)L_k(\Delta_k)์™€ Lh(ฮ”k)L_h(\Delta_k)๊ฐ€ ์„œ๋กœ์†Œ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ •์˜์— ์˜ํ•ด Lkโ†i(ฮ”k)L_{k \leftarrow i}(\Delta_k)๋Š” Lk(ฮ”k)L_k(\Delta_k)์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์ด๋ฏ€๋กœ, Theorem 1์˜ ๋ชจ๋“  Lkโ†i(ฮ”k)L_{k \leftarrow i}(\Delta_k)์™€ Lhโ†i(ฮ”k)L_{h \leftarrow i}(\Delta_k)๋„ ์„œ๋กœ์†Œ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ์„œ๋กœ์†Œ ์„ฑ์งˆ์„ ์ด์šฉํ•˜์—ฌ Theorem 1์˜ ฯ„i\tau_i์™€ ๊ด€๋ จ๋œ interval์˜ upper bound๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Lemma 7
rkr_k๊ฐ€ JkJ_k์˜ release time์ด๊ณ , ฮ”k=[rk,rk+Dkโˆ’Ck)\Delta_k=[r_k, r_k+D_k-C_k) ์‚ฌ์ด์— JkJ_k๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ฯ„k\tau_k๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ฯ„i\tau_i์— ๋Œ€ํ•ด ๋‹ค์Œ์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

โˆฃLkโ†i(ฮ”k)โˆฃ+โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)โˆฃLhโ†i(ฮ”k)โˆฃโ‰คEkโ†i(15)|L_{k \leftarrow i}(\Delta_k)| + \sum_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} |L_{h \leftarrow i}(\Delta_k)| \leq E_{k \leftarrow i} \tag{15}

Proof
์šฐ์„  Ekโ†iE_{k \leftarrow i}๋ฅผ โˆฃLkโ†i(ฮ”k)โˆฃ|L_{k \leftarrow i}(\Delta_k)|์˜ upper bound๋กœ ์œ ๋„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.

  • Lkโ†i(ฮ”k)L_{k \leftarrow i}(\Delta_k)๋Š” ฯ„i\tau_i๊ฐ€ ์‹คํ–‰์ฃ„๊ณ , ฯ„k\tau_k์˜ ์ž‘์—…์ด pending ์ƒํƒœ์ธ ๊ตฌ๊ฐ„์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ Ekโ†iE_{k \leftarrow i}๋Š” ฮ”k\Delta_k ์•ˆ์—์„œ ฯ„i\tau_i์˜ ์‹คํ–‰์‹œ๊ฐ„์— ๋Œ€ํ•œ upper bound์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ Eq (15)๊ฐ€ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด,

  • Lemma 6์— ์˜ํ•ด ๋ชจ๋“  Lkโ†i(ฮ”k)L_{k \leftarrow i}(\Delta_k)์™€ Lhโ†i(ฮ”k)L_{h \leftarrow i}(\Delta_k)๋„ ์„œ๋กœ์†Œ์ด๋ฏ€๋กœ
  • ๋ชจ๋“  Lhโ†i(ฮ”k)L_{h \leftarrow i}(\Delta_k)์˜ ๊ธธ์ด์˜ ํ•ฉ๊ณผ Lkโ†i(ฮ”k)L_{k \leftarrow i}(\Delta_k)์˜ ๊ธธ์ด์˜ ํ•ฉ์˜ upper bound๋Š” ฮ”k\Delta_k ์•ˆ์—์„œ ฯ„i\tau_i์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์œ„ ์ฆ๋ช…๊ณผ ๋ชจ์ˆœ๋˜๋ฏ€๋กœ, Eq (15)๊ฐ€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ Lemma 7๊ณผ Theorem 1์„ ํ•ฉ์ณ Schedulability Test๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Lemma 8
Eq(17)์„ ๋งŒ์กฑํ•˜๋Š” ๋ชจ๋“  Ekโ†iโ€ฒโ‰ฅ0E'_{k \leftarrow i} \ge 0๊ณผ Ehโ†iโ€ฒโ‰ฅ0E'_{h \leftarrow i} \ge 0์˜ ์กฐํ•ฉ์— ๋Œ€ํ•ด Eq(16)์ด ๋ชจ๋“  ฯ„kโˆˆฯ„\tau_k \in \tau์— ๋Œ€ํ•ด ์„ฑ๋ฆฝํ•  ๋•Œ ฯ„\tau๊ฐ€ NPG*-FP๋กœ ์Šค์ผ€์ฅด ๊ฐ€๋Šฅํ•˜๋‹ค.

โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)(โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„h,ฯ„k}Ehโ†iโ€ฒ(ฯ„k)โ‹…minโก(mi,mโˆ’mh+1)mโˆ’mh+1)+โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„k}Ekโ†iโ€ฒโ‹…minโก(mi,mโˆ’mk+1)mโˆ’mk+1<Dkโˆ’Ck(16)\begin{aligned} \sum_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} \left( \sum_{\tau_i \in \tau \setminus \{\tau_h, \tau_k\}} \frac{E'_{h \leftarrow i}(\tau_k) \cdot \min(m_i, m - m_h + 1)}{m - m_h + 1} \right) \\+ \sum_{\tau_i \in \tau \setminus \{\tau_k\}} \frac{E'_{k \leftarrow i} \cdot \min(m_i, m - m_k + 1)}{m - m_k + 1} < D_k - C_k \end{aligned} \tag{16}
Ekโ†iโ€ฒ+โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)Ehโ†iโ€ฒ(ฯ„k)โ‰คEkโ†i(17)E'_{k \leftarrow i} + \sum_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} E'_{h \leftarrow i}(\tau_k) \leq E_{k \leftarrow i} \tag{17}

Eq(16)์˜ LHS๋Š” ํ•ญ์ƒ Eq(12)์˜ LHS๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฏ€๋กœ, Lemma 8์€ Theorem 2๋ณด๋‹ค ํ–ฅ์ƒ๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

  • ๊ทธ๋Ÿฌ๋‚˜ Lemma 8์ด ๋งŽ์€ assignment์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์„ ์ˆ˜๋ฐ˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, Eq(16)์˜ LHS๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” Ekโ†iโ€ฒ=Ekโ†iโˆ—E'_{k \leftarrow i} = E^*_{k \leftarrow i}์™€ {Ehโ†iโ€ฒ(ฯ„k)=Ehโ†iโˆ—(ฯ„k)}\{E'_{h \leftarrow i}(\tau_k) = E^*_{h \leftarrow i}(\tau_k)\}๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Algorithm 2๋Š” Ekโ†iโˆ—E^*_{k \leftarrow i}์™€ Ehโ†iโˆ—(ฯ„k)E^*_{h \leftarrow i}(\tau_k)๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Lemma 9
Algorithm 2๋กœ ์ฐพ์€ Ekโ†iโˆ—E^*_{k \leftarrow i}์™€ Ehโ†iโˆ—(ฯ„k)E^*_{h \leftarrow i}(\tau_k)๋Š” Eq (18)์„ ์ตœ๋Œ€ํ™” ํ•ฉ๋‹ˆ๋‹ค. (Eq (16)์˜ LHS์—์„œ ฯ„i\tau_i๋ฅผ ํฌํ•จํ•˜๋Š” ํ•ญ์˜ ํ•ฉ)

โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)Ehโ†iโ€ฒ(ฯ„k)โ‹…minโก(mi,mโˆ’mh+1)mโˆ’mh+1+Ekโ†iโ€ฒโ‹…minโก(mi,mโˆ’mk+1)mโˆ’mk+1(18)\sum_{\tau_h \in \tau^{\text{HPF}}(\tau_k)} \frac{E'_{h \leftarrow i}(\tau_k) \cdot \min(m_i, m - m_h + 1)}{m - m_h + 1} + \frac{E'_{k \leftarrow i} \cdot \min(m_i, m - m_k + 1)}{m - m_k + 1} \tag{18}

Proof

์–ด๋–ค ๋‹ค๋ฅธ Ekโ†iโ€ฒ=Ekโ†iโ€ฒโ€ฒE'_{k \leftarrow i} = E''_{k \leftarrow i}์™€ {Ehโ†iโ€ฒ(ฯ„k)=Ehโ†iโ€ฒโ€ฒ(ฯ„k)}\{E'_{h \leftarrow i}(\tau_k) = E''_{h \leftarrow i}(\tau_k)\}๊ฐ€ ์กด์žฌํ•˜์—ฌ Eq(18)์ด Eโˆ—E^*๋ณด๋‹ค ๋” ํฌ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.
ฯ„x=ฯ„k\tau_x = \tau_k (4๋ฒˆ์งธ ์ค„)์— ๋Œ€ํ•ด ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค. else๋Š” ๋น„์Šทํ•˜๊ฒŒ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋จผ์ € Ekโ†iโ€ฒโ€ฒ>Ekโ†iโˆ—E''_{k \leftarrow i} > E^*_{k \leftarrow i}์ธ ๊ฒฝ์šฐ, 4๋ฒˆ์งธ ์ค„์— ์˜ํ•ด Ekโ†iโ€ฒโ€ฒ>Ekโ†iE''_{k \leftarrow i} > E_{k \leftarrow i}๊ฐ€ ๋˜๊ณ , Eq(17)์— ์œ„๋ฐ˜๋˜๋ฏ€๋กœ ๋ชจ์ˆœ์ž…๋‹ˆ๋‹ค.
  • Ekโ†iโ€ฒโ€ฒ<Ekโ†iโˆ—E''_{k \leftarrow i} < E^*_{k \leftarrow i}์ธ ๊ฒฝ์šฐ, Eq(17)์˜ LHS๊ฐ€ RHS์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์‚ดํŽด๋ด…์‹œ๋‹ค. (๋‹ค๋ฅด๋‹ค๋ฉด ์ž„์˜๋กœ Ekโ†iโ€ฒโ€ฒE''_{k \leftarrow i}๋‚˜ Ehโ†iโ€ฒโ€ฒ(ฯ„k)E''_{h \leftarrow i}(\tau_k)๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ๋„ Eq(17)์ด ์„ฑ๋ฆฝํ•˜๋Š” ์„ ์—์„œ Eq(18)์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)
  • ์ด๋•Œ Ekโ†iโ€ฒโ€ฒE''_{k \leftarrow i}๋ฅผ (Ekโ†iโˆ—โˆ’Ekโ†iโ€ฒโ€ฒ)(E^*_{k \leftarrow i}-E''_{k \leftarrow i})๋งŒํผ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ์–ด๋–ค Ehโ†iโ€ฒโ€ฒ(ฯ„k)E''_{h \leftarrow i}(\tau_k)๋ฅผ (Ekโ†iโˆ—โˆ’Ekโ†iโ€ฒโ€ฒ)(E^*_{k \leftarrow i}-E''_{k \leftarrow i})๋งŒํผ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด (Ekโ†iโˆ—โˆ’Ekโ†iโ€ฒโ€ฒ)โ‹…(min(mi,mโˆ’mk+1)mโˆ’mk+1โˆ’min(mi,mโˆ’mh+1)mโˆ’mh+1)โ‰ฅ0(E_{k \leftarrow i}^* - E_{k \leftarrow i}^{\prime\prime}) \cdot (\frac{min(m_i, m - m_k + 1)}{m - m_k + 1} - \frac{min(m_i, m - m_h + 1)}{m - m_h + 1}) \ge 0 ์ด๋ฏ€๋กœ, Eq(18)์„ ๋” ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ Eโ€ฒโ€ฒE''๋Š” Eโˆ—E^*์™€ ๊ฐ™์•„์กŒ์œผ๋ฏ€๋กœ, ์ด๋Š” ๊ฐ€์ •์— ๋ชจ์ˆœ๋ฉ๋””๋‹ค.

Theorem 3
๋‹ค์Œ ๋ถ€๋“ฑ์‹์ด ์„ฑ๋ฆฝํ•œ๋‹ค๋ฉด ฯ„\tau๊ฐ€ NPG*-FP๋กœ ์Šค์ผ€์ฅด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

โˆ‘ฯ„hโˆˆฯ„HPF(ฯ„k)(โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„h,ฯ„k}Ehโ†iโˆ—(ฯ„k)โ‹…minโก(mi,mโˆ’mh+1)mโˆ’mh+1)+โˆ‘ฯ„iโˆˆฯ„โˆ–{ฯ„k}Ekโ†iโˆ—โ‹…minโก(mi,mโˆ’mk+1)mโˆ’mk+1<Dkโˆ’Ck(19)\begin{aligned} \sum_{\tau_h \in \tau^{HPF}(\tau_k)} \left( \sum_{\tau_i \in \tau \setminus \{\tau_h, \tau_k\}} \frac{E_{h \leftarrow i}^*(\tau_k) \cdot \min(m_i, m - m_h + 1)}{m - m_h + 1} \right) \\+ \sum_{\tau_i \in \tau \setminus \{\tau_k\}} \frac{E_{k \leftarrow i}^* \cdot \min(m_i, m - m_k + 1)}{m - m_k + 1} < D_k - C_k \end{aligned}\tag{19}

Optimal Assignment of {ฯ•j}\{\phi_j\} for NPG*-FP

ฯ•h\phi_h์˜ ๋ณ€ํ™”๊ฐ€ ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž‘์—…, ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž‘์—…, ๊ทธ๋ฆฌ๊ณ  ๋ณธ์ธ์—๊ฒŒ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Lemma 10

S1. ฯ„hโˆˆฯ„LP(ฯ„k)\tau_h \in \tau^{\text{LP}}(\tau_k)์ธ ๊ฒฝ์šฐ

  • Eq(12)์˜ LHS๋Š” ฯ•h\phi_h๊ฐ€ T์ผ๋•Œ์™€ F์ผ๋•Œ๊ฐ€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

S2. ฯ„hโˆˆฯ„HP(ฯ„k)\tau_h \in \tau^{\text{HP}}(\tau_k)์ธ ๊ฒฝ์šฐ

  • Eq(12)์˜ LHS๋Š” ฯ•h\phi_h๊ฐ€ T์ผ๋•Œ๊ฐ€ F์ผ๋•Œ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์Šต๋‹ˆ๋‹ค.

S3. ฯ„h=ฯ„k\tau_h = \tau_k์ธ ๊ฒฝ์šฐ

  • Eq(12)์˜ LHS๋Š” ฯ•h\phi_h๊ฐ€ T์ผ๋•Œ๊ฐ€ F์ผ๋•Œ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๋Š” Eq(12)๋ฅผ Eq(19)๋กœ ๋Œ€์ฒดํ•ด๋„ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

Proof
์šฐ์„  Eq(12)์˜ LHS์—์„œ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ถ€๋ถ„์€ Ekโ†iE_{k \leftarrow i}์™€ Ehโ†i(ฯ„k)E_{h \leftarrow i}(\tau_k), ๊ทธ๋ฆฌ๊ณ  ฯ„HPF(ฯ„k)\tau^\text{HPF}(\tau_k)์ž…๋‹ˆ๋‹ค.

  • Ekโ†iE_{k \leftarrow i}์— ์ง‘์ค‘ํ•˜์ž๋ฉด, ฯ•k=T\phi_k=T์ผ ๋•Œ Eq (7), ฯ•k=F\phi_k=F์ผ ๋•Œ Eq (8)๋กœ Ekโ†iE_{k \leftarrow i}๊ฐ€ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๋‘˜์ด ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์€ ์˜ค์ง ฯ„iโˆˆฯ„LP(ฯ„k)โˆฃmi<mk\tau_i \in \tau^{\text{LP}}(\tau_k) | m_i < m_k์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.
  • Wi(Dkโˆ’Ck)W_i(D_k-C_k)๊ฐ€ minโก(Dkโˆ’Ck,Ci)\min(D_k-C_k, C_i)๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฏ€๋กœ, ฯ•k\phi_k๊ฐ€ F์ผ ๋•Œ ๋” ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ S3์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

ฯ•k\phi_k์™€ ๋‹ค๋ฅด๊ฒŒ, Ekโ†iE_{k \leftarrow i}์™€ Ehโ†iE_{h \leftarrow i}๋Š” ฯ•i\phi_i์™€ ฯ•h\phi_h์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ S1์ด ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ˜๋ฉด ๋งŒ์•ฝ ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž‘์—…์˜ ฯ•h\phi_h๊ฐ€ F๋กœ ๋ฐ”๋€๋‹ค๋ฉด, ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ์ž‘์—…์ธ ฯ•k\phi_k๋Š” ฯ„HPF(ฯ„k)\tau^\text{HPF}(\tau_k)๊ฐ€ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ, ๋” ์ปค์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ S2๊ฐ€ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ Eq(19)์— ๋Œ€ํ•ด ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ๋Š” Lemma 8์˜ ๋ชจ๋“  ์ƒํ•œ์ด S1-S3๊ณผ ์ผ์น˜ํ•จ์„ ๋ณด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Lemma 8์˜ Eq (17)์— ์žˆ๋Š” ์ƒํ•œ์€ Ekโ†iE_{k \leftarrow i}๋ฟ์ด๋ฉฐ, Schedulability์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์€ ์ด๋ฏธ ์ฆ๋ช…๋˜์—ˆ๊ธฐ์—, Eq(19)์— ๋Œ€ํ•ด์„œ๋„ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค

์ด Lemma 10์„ ์ด์šฉํ•ด์„œ Algorithm 3์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Theorem 4
Algorithm 3์ด unschedulable์„ ๋ฆฌํ„ดํ•œ๋‹ค๋ฉด, ฯ„\tau๋ฅผ ์Šค์ผ€์ฅด๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” Theorem 3์— ๋Œ€ํ•œ ฯ•\phi์˜ ์กฐํ•ฉ์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

Proof

Algorithm 3์ด unschedulable์„ ๋ฆฌํ„ดํ–ˆ์ง€๋งŒ Theorem 3์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ฯ•\phi์˜ ์กฐํ•ฉ์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ์‹œ๋‹ค.

  • ์ด ์กฐํ•ฉ์„ {ฯ•jโ€ฒ}ฯ„jโˆˆฯ„\{\phi'_j\}_{\tau_j \in \tau}๋ผ๊ณ  ํ•  ๋•Œ, ๊ฐ€์ •์— ์˜ํ•ด 4๋ฒˆ์งธ ์ค„์—์„œ Eq(19)๊ฐ€ Algorithm 3์— ์˜ํ•ด ํ• ๋‹น๋œ ๋ชจ๋“  ฯ„hโˆˆฯ„HP(ฯ„k)\tau_h \in \tau^\text{HP}(\tau_k) ํ•˜์—์„œ ฯ•k\phi_k๊ฐ€ T์ด๋˜ F์ด๋˜ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ํ• ๋‹น์„ {ฯ•hโˆ—}ฯ„hโˆˆฯ„HP(ฯ„k)\{\phi^*_h\}_{\tau_h \in \tau^\text{HP}(\tau_k)}๋ผ๊ณ  ์ •์˜ํ•ฉ์‹œ๋‹ค.
  • ์ด๋•Œ ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ถ€ํ„ฐ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๊นŒ์ง€ {ฯ•hโˆ—}โ‰ {ฯ•hโ€ฒ}\{\phi^*_h\} \neq \{\phi'_h\}์ธ ฯ„h\tau_h๋ฅผ ์กฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
    1. ๋งŒ์•ฝ ๊ทธ๋Ÿฐ ฯ„h\tau_h๊ฐ€ ์—†๋‹ค๋ฉด ฯ•โ€ฒ=ฯ•โˆ—\phi' = \phi^* ์ด๋ฏ€๋กœ ๋ชจ์ˆœ๋ฉ๋‹ˆ๋‹ค.
    2. ๋งŒ์•ฝ ฯ•hโˆ—=F\phi_h^*=F์™€ ฯ•hโ€ฒ=T\phi_h'=T๋ฅผ ๋งŒ์กฑํ•˜๋Š” ฯ„h\tau_h๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋Š” Algorithm 3์˜ ๋™์ž‘๊ณผ ๋ชจ์ˆœ๋ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„์— ๋Œ€ํ•œ ํ• ๋‹น์€ S1์— ์˜ํ•ด Schedulability์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
    3. ๋งŒ์•ฝ ฯ•hโˆ—=T\phi_h^*=T์™€ ฯ•hโ€ฒ=F\phi_h'=F๋ฅผ ๋งŒ์กฑํ•˜๋Š” ฯ„h\tau_h๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋Š” ฯ•h=F\phi_h=F๊ฐ€ S2์—์„œ ์„ค๋ช…ํ•œ ๋ฐ”์™€ ๊ฐ™์ด Eq(19)์˜ ์ขŒ๋ณ€์„ ๊ฐ์†Œ์‹œํ‚ค์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ฯ•hโ€ฒ\phi_h'๊ฐ€ ์Šค์ผ€์ฅด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ฯ•hโˆ—\phi_h^*๋„ ์Šค์ผ€์ฅด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ์ˆœ์ž…๋‹ˆ๋‹ค.

Evaluation

  • DoLi: ์ด๋ฏธ ์กด์žฌํ•˜๋Š” NPG-EDF์— ๋Œ€ํ•œ schedulability test์ž…๋‹ˆ๋‹ค.
  • NPG-FP: Theorem 2๋ฅผ NPG-FP์— ์ ์šฉํ•œ ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
  • NPG-FP(1), (2): Theorem 2, 3์„ Algorithm 3์œผ๋กœ ๊ตฌํ•œ {ฯ•j}\{\phi_j\} ํ•˜์—์— NPG-FP์— ์ ์šฉํ•œ ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

profile
๋ˆ ๋˜๋Š” ๊ฑด ๋‹ค ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

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