πŸ“¦ Response Time Analysis for Real-Time Global Gang Scheduling

BardΒ·2025λ…„ 5μ›” 1일

RTCL

λͺ©λ‘ 보기
11/15
post-thumbnail

Introduction

λ³Έ 논문은 두 개의 문제λ₯Ό ν•΄κ²°ν•˜κ³ μž ν•©λ‹ˆλ‹€.

  1. μ–΄λ–»κ²Œ 기쑴의 RTA frameworkλ₯Ό gang task model에 μΌλ°˜ν™”ν•˜κ³ , κΈ°μ‘΄ RTA의 κ΅¬μ„±μš”μ†Œλ₯Ό μ–΄λ–»κ²Œ ν™œμš©ν•˜λ‚˜μš”?
  2. Gang Scheduling의 νŠΉμ„±μ„ RTA framework에 ν†΅ν•©ν•˜μ—¬ 비관성을 μ΅œμ†Œν™”ν•˜λŠ” 방법은 λ¬΄μ—‡μΈκ°€μš”?

Assumptions

  • Gang task model
  • Global Preemptive scheduling
  • Work-conserving scheduling

Recent Work

  • Gang EDF Scheduling of Parallel Task Systems μ—μ„œλŠ” EDF schedulingμ—μ„œλ§Œ μŠ€μΌ€μ₯΄ κ°€λŠ₯성을 λ„μΆœν•˜μ˜€κ³ , λ‚˜λ¨Έμ§€ μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ μ μš©ν•˜λŠ” 방법은 닀루지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
  • λ˜ν•œ 이 방법은 Comments on "gang EDF schedulibility analysis"μ—μ„œ 결함이 있음이 λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€.

Generalizing RTA Framework to Gang Scheduling

Definition 1 (mi=1m_i = 1)
XXλ₯Ό Ο„k\tau_k의 target interval LL에 λŒ€ν•΄μ„œ Ο„k\tau_kκ°€ activeν•˜μ§€λ§Œ μ‹€ν–‰λ˜μ§€ λͺ»ν•œ μ‹œκ°„μ˜ 길이라고 μ •μ˜ν•˜μž.

  • λ§Œμ•½ XXκ°€ (Lβˆ’Ck+1)(L-C_k+1) 보닀 크닀면 μž„μ˜λ‘œ (Lβˆ’Ck+1)(L-C_k+1)개의 time slot을 XXμ—μ„œ μ„ νƒν•˜μž.
  • XXκ°€ (Lβˆ’Ck+1)(L-C_k+1)보닀 μž‘λ‹€λ©΄ XX의 μ „λΆ€λ₯Ό μ„ νƒν•˜μž.

μ—¬κΈ°μ—μ„œ 이 μ„ νƒλœ time slot듀을 kk-interference time slots of length LL for Ο„k\tau_k라고 ν•˜μž.

  • μ—¬κΈ°μ—μ„œ μš°λ¦¬λŠ” (Lβˆ’Ck+1)(L-C_k+1)만큼의 kk-interference time slotsκ°€ μ‘΄μž¬ν•¨μ΄ Ο„k\tau_kκ°€ LL μ•ˆμ— CkC_kλ§ŒνΌμ„ μ‹€ν–‰ν•˜μ§€ λͺ»ν• 
    ν•„μš”μ‘°κ±΄μž„μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

Definition 2
Ik←i(L)I_{k\leftarrow i}(L)λŠ” kk-interference time slots of length LL for Ο„k\tau_kμ—μ„œ Ο„i\tau_i의 μ‹€ν–‰μ‹œκ°„μœΌλ‘œ μ •μ˜λ˜λ©°, 이λ₯Ό duration of interference of Ο„i\tau_i on Ο„k\tau_k라고 ν•˜μž.

  • μ•žμ—μ„œ μ΄μ•ΌκΈ°ν–ˆλ˜ (Lβˆ’Ck+1)(L-C_k+1)만큼의 kk-interference time slotsκ°€ μ‘΄μž¬ν•¨μ€ κ²°κ΅­ βˆ‘Ο„iβˆˆΟ„,Ο„kβ‰ Ο„iIk←i(L)=mβ‹…(Lβˆ’Ck+1)\sum_{\tau_i \in \tau,\tau_k \neq \tau_i}I_{k\leftarrow i}(L)=m\cdot (L-C_k+1)둜 정리할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ”°λΌμ„œ, 식 (1)(1)(식 (2)(2)와 λ™μΉ˜)을 λ§Œμ‘±ν•˜λŠ” Ck≀L≀DkC_k \le L \le D_kκ°€ μžˆλ‹€λ©΄ Ο„k\tau_kλŠ” LL μ•ˆμ— CkC_kλ§ŒνΌμ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
βˆ‘Ο„iβˆˆΟ„,Ο„kβ‰ Ο„iIk←i(L)<mβ‹…(Lβˆ’Ck+1)(1)\sum_{\tau_i \in \tau,\tau_k \neq \tau_i} I_{k \leftarrow i}(L) < m \cdot (L - C_k + 1) \tag{1}
⇔Ck+βŒŠβˆ‘Ο„iβˆˆΟ„,Ο„iβ‰ Ο„kIk←i(L)mβŒ‹β‰€L(2)\Leftrightarrow C_k + \left\lfloor \frac{\sum_{\tau_i \in \tau, \tau_i \neq \tau_k} I_{k \leftarrow i}(L)}{m} \right\rfloor \leq L \tag{2}
  • Offline testμ—μ„œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 각 target μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄μ„œ Ik←i(L)I_{k\leftarrow i}(L)의 upper bound Ik←i+(L)I_{k\leftarrow i}^+(L)λ₯Ό ꡬ해야 ν•©λ‹ˆλ‹€.
  • μ΄λ•Œ λͺ¨λ“  Ο„kβˆˆΟ„\tau_k \in \tau에 λŒ€ν•΄μ„œ Ik←i+(L)I_{k\leftarrow i}^+(L)λ₯Ό 식 (1)(1)에 λŒ€μž…ν•˜μ˜€μ„ λ•Œ μ„±λ¦½ν•œλ‹€λ©΄, Schedulableν•˜λ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 이제 Gang Scheduling에 μ μš©ν•˜κΈ° μœ„ν•˜μ—¬ mi=1m_i = 1 가정을 ν•΄μ œν•˜κ³ , λ‹€μŒκ³Ό 같이 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Definition 3
kk-interference time slots λ™μ•ˆ (mβˆ’mk+1)(m-m_k+1)개의 ν”„λ‘œμ„Έμ„œκ°€ Ο„k\tau_kκ°€ μ•„λ‹Œ μž‘μ—…μ— μ˜ν•΄ μ μœ λ˜μ–΄μ•Ό ν•œλ‹€.
λ§Œμ•½ 덜 μ μœ λ˜μ–΄μžˆλ‹€λ©΄ kk-interference time slots의 μ •μ˜μ— μœ„λ°°λœλ‹€.
μ΄λ•Œ μš°λ¦¬λŠ” μž„μ˜λ‘œ (mβˆ’mk+1)(m-m_k+1)개의 ν”„λ‘œμ„Έμ„œλ₯Ό 선택할 수 있고,
μ΄λ•Œ μ„ νƒλœ ν”„λ‘œμ„Έμ„œλ“€μ„ kk-interference processors of kk-interference time slots라고 ν•˜μž.

(μ§„ν•œ 빨간색이 kk-interference processors of kk-interference time slots)

  • μ—¬κΈ°μ—μ„œ duration of interference(1차원)도 amount of interference(2차원)둜 μΌλ°˜ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Definition 4
Ak←i(L)A_{k\leftarrow i}(L)은 kk-interference processors of kk-interference time slotsμ—μ„œ Ο„i\tau_i의 μ‹€ν–‰μ–‘μœΌλ‘œ μ •μ˜λ˜λ©°, 이λ₯Ό amount of interference of Ο„i\tau_i on Ο„k\tau_k라고 ν•˜μž.

그러면 λ‹€μŒ lemmaλ₯Ό 톡해 μž‘μ—…μ΄ 싀행을 μ™„λ£Œν•˜μ§€ λͺ»ν•  μ •ν™•ν•œ 쑰건을 λ„μΆœν•΄λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

Lemma 1
식 (3)(3)은 Ο„k\tau_kκ°€ LL μ•ˆμ— CkC_kλ§ŒνΌμ„ μ‹€ν–‰ν•˜μ§€ λͺ»ν•  ν•„μš”μΆ©λΆ„μ‘°κ±΄μ΄λ‹€.

βˆ‘Ο„iβˆˆΟ„,Ο„iβ‰ Ο„kAk←i(L)=(mβˆ’mk+1)β‹…(Lβˆ’Ck+1)(3)\sum_{\tau_i \in \tau, \tau_i \neq \tau_k} A_{k \leftarrow i}(L) = (m - m_k + 1) \cdot (L - C_k + 1) \tag{3}

Proof
좩뢄쑰건

  • λ§Œμ•½ 식(3)이 μ„±λ¦½ν•œλ‹€λ©΄ μ •μ˜μ— μ˜ν•΄ 각 kk-interference time slots에 λŒ€ν•΄μ„œ (mβˆ’mk+1)(m-m_k+1)개의 ν”„λ‘œμ„Έμ„œκ°€ Ο„k\tau_kκ°€ μ•„λ‹Œ μž‘μ—…μ— μ˜ν•΄ μ μœ λ˜μ–΄μ•Ό ν•˜λ―€λ‘œ, Ο„k\tau_kλŠ” LL μ•ˆμ— CkC_kλ§ŒνΌμ„ μ‹€ν–‰ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

ν•„μš”μ‘°κ±΄

  • λ§Œμ•½ Ο„k\tau_kκ°€ LL μ•ˆμ— CkC_kλ§ŒνΌμ„ μ‹€ν–‰ν•˜μ§€ λͺ»ν•œλ‹€λ©΄, 적어도 (Lβˆ’Ck+1)(L-C_k+1)의 time slotλ™μ•ˆ μ‹€ν–‰λ˜μ§€ λͺ»ν•΄μ•Ό ν•˜λ©°,
  • μ •μ˜μ— μ˜ν•΄ (mβˆ’mk+1)(m-m_k+1)개의 ν”„λ‘œμ„Έμ„œκ°€ Ο„k\tau_kκ°€ μ•„λ‹Œ μž‘μ—…μ— μ˜ν•΄ μ μœ λ˜μ–΄μ•Ό ν•˜λ―€λ‘œ, 식(3)이 μ„±λ¦½ν•©λ‹ˆλ‹€.
  • Lemma 1을 λΆ€μ •ν•¨μœΌλ‘œμ¨ Theorem 1을 λ„μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Theorem 1
λ§Œμ•½ 식 (4)(4)λ₯Ό λ§Œμ‘±ν•˜λŠ” Ck≀L≀DkC_k \le L \le D_kκ°€ μ‘΄μž¬ν•œλ‹€λ©΄ Ο„k\tau_kλŠ” LL μ•ˆμ— CkC_kλ§ŒνΌμ„ μ‹€ν–‰ν•  수 μžˆλ‹€.

βˆ‘Ο„iβˆˆΟ„,Ο„iβ‰ Ο„kAk←i(L)<(mβˆ’mk+1)β‹…(Lβˆ’Ck+1)(4)\sum_{\tau_i \in \tau, \tau_i \neq \tau_k} A_{k \leftarrow i}(L) < (m - m_k + 1) \cdot (L - C_k + 1) \tag{4}
⇔Ck+βŒŠβˆ‘Ο„iβˆˆΟ„,Ο„iβ‰ Ο„kAk←i(L)mβˆ’mk+1βŒ‹β‰€L(5)\Leftrightarrow C_k + \left\lfloor \frac{\sum_{\tau_i \in \tau, \tau_i \neq \tau_k} A_{k \leftarrow i}(L)}{m - m_k + 1} \right\rfloor \leq L \tag{5}

λ˜ν•œ Ak←i(L)A_{k\leftarrow i}(L)의 μƒν•œ Ak←i+(L)A_{k\leftarrow i}^+(L)λ₯Ό λͺ¨λ“  Ο„k\tau_k에 λŒ€ν•΄μ„œ μœ λ„ν•˜μ˜€κ³ , λͺ¨λ“  Ο„k\tau_k에 λŒ€ν•΄μ„œ Ak←i+(L)A_{k\leftarrow i}^+(L)에 λŒ€ν•΄ 식 (4)(4)λ₯Ό λ§Œμ‘±ν•œλ‹€λ©΄ νƒ€κ²Ÿ μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ Ο„\tauλŠ” schedulableν•˜λ‹€.
μ΄λ•Œ Ο„k\tau_k에 λŒ€ν•œ μ΅œμ†Œ LL을 Ο„k\tau_k의 response time RkR_k라고 μ •μ˜ν•œλ‹€.

Proof
식 (4)(4)λ₯Ό λ§Œμ‘±ν•˜μ§€λ§Œ LLμ•ˆμ— Ο„k\tau_kκ°€ μ™„λ£Œλ˜μ§€ μ•ŠμŒμ„ κ°€μ •ν•œλ‹€λ©΄ Lemma 1에 μ˜ν•΄ λͺ¨μˆœμ΄ λ°œμƒν•©λ‹ˆλ‹€.
μ •λ¦¬μ˜ λ‘λ²ˆμ§Έ 뢀뢄은 Ak←i(L)≀Ak←i+(L)A_{k\leftarrow i}(L) \le A_{k\leftarrow i}^+(L)μ΄λ―€λ‘œ λ§Œμ‘±ν•©λ‹ˆλ‹€.

  • 이λ₯Ό 톡해 μš°λ¦¬λŠ” λ‹€μŒκ³Ό 같은 μ•Œκ³ λ¦¬μ¦˜μ„ λ„μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ΄λŠ” Slack SkS_kλ₯Ό μ΄μš©ν•˜λ©°, SkS_kκ°€ μ–‘μˆ˜λΌλ©΄ λͺ¨λ“  Ο„k\tau_k의 μž‘μ—…λ“€μ΄ deadline보닀 SkS_k만큼 λ¨Όμ € μ™„λ£Œλ  수 μžˆμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

μœ„ μ‹μ—μ„œ Ak←i+(L)A_{k\leftarrow i}^+(L)λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄μ„œ Ak←i(L)A_{k\leftarrow i}(L)λ₯Ό Ik←i(L)I_{k\leftarrow i}(L)와 processors of interest의 개수둜 λΆ„ν•΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Lemma 2

Ak←i(L)≀Ik←i(L)β‹…min⁑(mi,mβˆ’mk+1)(6)A_{k \leftarrow i}(L) \leq I_{k \leftarrow i}(L) \cdot \min(m_i, m - m_k + 1) \tag{6}

Proof
kk-interference time slotsκ³Ό kk-interference processors의 μ •μ˜μ— μ˜ν•΄ Ak←i(L)A_{k \leftarrow i}(L)λŠ” Ik←i(L)I_{k \leftarrow i}(L)와 min⁑(mi,mβˆ’mk+1)\min(m_i,m - m_k + 1)의 곱으둜 μ œν•œλœλ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

Fixed Priority Scheduling

FPμ—μ„œ Ik←i(L)I_{k\leftarrow i}(L)λŠ” λ‹€μŒκ³Ό 같이 ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€. (Schedulability analysis of global scheduling algorithms on multiprocessor platforms, 2008)

{Ik←i+(L)=0ifΒ Ο„kΒ hasΒ aΒ higherΒ priorityΒ thanΒ Ο„i,Ik←i+(L)≀min⁑(Wi(L),Lβˆ’Ck+1)otherwise.(7)\begin{cases} I_{k \leftarrow i}^{+}(L) = 0 & \text{if } \tau_k \text{ has a higher priority than } \tau_i, \\ I_{k \leftarrow i}^{+}(L) \leq \min \left( W_i(L), L - C_k + 1 \right) & \text{otherwise}. \end{cases} \tag{7}
  • Wi(L)W_i(L)λŠ” workload의 upper bound둜, Ο„i\tau_iκ°€ LL μ•ˆμ— μ‹€ν–‰ν•  수 μžˆλŠ” μ΅œλŒ€ 양을 μ˜λ―Έν•©λ‹ˆλ‹€.
Wi(L)=Wi(L)=Ni(L)Ci+min⁑(Ci,L+Diβˆ’Ciβˆ’Siβˆ’Ni(L)Ti),Ni(L)=⌊L+Diβˆ’Siβˆ’CiTiβŒ‹\mathfrak W_i(L) = W_i(L) = N_i(L)C_i+\min(C_i, L+D_i-C_i-S_i-N_i(L)T_i),\quad N_i(L) = \left\lfloor\frac{L+D_i-S_i-C_i}{T_i}\right\rfloor

Earliest Deadline First Scheduling

EDFμ—μ„œ Ik←i(L)I_{k\leftarrow i}(L)λŠ” λ‹€μŒκ³Ό 같이 ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€.

Ik←i+(L)≀min⁑(Wi(L),Ek←i,Lβˆ’Ck+1)(8)I^{+}_{k \leftarrow i}(L) \leq \min(W_i(L), E_{k \leftarrow i}, L - C_k + 1) \tag{8}

μ—¬κΈ°μ—μ„œ Ek←iE_{k \leftarrow i}λŠ” deadline이 Ο„k\tau_k보닀 이λ₯΄κ±°λ‚˜ 같은 Ο„i\tau_iκ°€ DkD_kμ•ˆμ— μ‹€ν–‰λ˜λŠ” μ΅œλŒ€ μ‹œκ°„μ„ μ˜λ―Έν•©λ‹ˆλ‹€.

Ek←i=⌊DkTiβŒ‹Ci+min⁑(Ci,Dkβˆ’βŒŠDkTiβŒ‹Tiβˆ’Si)=Ji,kE_{k \leftarrow i} = \left\lfloor \frac{D_k}{T_i} \right\rfloor C_i + \min \left( C_i, D_k - \left\lfloor \frac{D_k}{T_i} \right\rfloor T_i - S_i\right) = \frak{J}\mathnormal{_{i,k}}

μ΄λ ‡κ²Œ FP와 EDF에 λŒ€ν•΄μ„œ μ•Œκ³ μžˆλŠ” Ik←i+(L)I^+_{k\leftarrow i}(L)λ₯Ό μ΄μš©ν•˜λ©΄ Gang Scheduling에 λŒ€ν•΄μ„œλ„ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Theorem 2

  • Algorithm 1에 Ak←i+(L)=Ik←i+(L)β‹…min⁑(mi,mβˆ’mk+1)A^+_{k \leftarrow i}(L) = I^+_{k \leftarrow i}(L) \cdot \min(m_i, m - m_k + 1)λ₯Ό μ μš©ν•˜κ³ ,
  • RHS의 Ik←i+(L)I^+_{k \leftarrow i}(L)λ₯Ό 식 (7)(7) λ˜λŠ” (8)(8)둜 λŒ€μ²΄ν•œλ‹€λ©΄, 각각 FP와 EDF에 λŒ€ν•œ schedulability testλ₯Ό μˆ˜ν–‰ν•  수 μžˆλ‹€
  • μ΄λ ‡κ²Œ processor의 μˆ˜μ™€ interference time slot을 λΆ„λ¦¬ν•˜μ—¬ κ³„μ‚°ν•¨μœΌλ‘œμ¨ 계산은 맀우 μ‰¬μ›Œμ‘Œμ§€λ§Œ, parallel execution을 μ™„μ „νžˆ κ³ λ €ν•˜κΈ°λŠ” μ–΄λ ΅μŠ΅λ‹ˆλ‹€.
  • κ·Έλ ‡κΈ° λ•Œλ¬Έμ— λ‹€μŒ μ„Ήμ…˜μ—μ„œ 이 pessimism을 쀄이기 μœ„ν•œ 두가지 기법을 μ œμ•ˆν•©λ‹ˆλ‹€.
    • λ™μ‹œμ— 싀행될 수 μ—†λŠ” μž‘μ—…μ— λŒ€ν•΄ λΆ„μ„ν•˜μ—¬ 이λ₯Ό κ°œμ„ ν•©λ‹ˆλ‹€.
    • μ–΄λ–»κ²Œ 각 task의 job듀이 kk-interference processorλ₯Ό μ μœ ν•˜λŠ”μ§€ μ‘°μ‚¬ν•˜κ³  κ³ΌμΆ”μ •λœ 뢀뢄을 μ°ΎμŠ΅λ‹ˆλ‹€.

Addressing Non-Parallel Execution Constraints

Example 1

m=10m=10 ν™˜κ²½μ—μ„œ λ‹€μŒκ³Ό 같은 μ„Έ 개의 μž‘μ—…μ„ κ°€μ •ν•©μ‹œλ‹€.

  • Ο„1(T1=10,D1=10,C1=5,m1=6)\tau_1(T_1=10,D_1=10,C_1=5,m_1=6)
  • Ο„2(T2=10,D2=10,C2=5,m2=5)\tau_2(T_2=10,D_2=10,C_2=5,m_2=5)
  • Ο„3(T3=5,D3=5,C3=1,m3=2)\tau_3(T_3=5,D_3=5,C_3=1,m_3=2)

  • 이 μƒν™©μ—μ„œ Theorem 2λŠ” Ο„1\tau_1κ³Ό Ο„2\tau_2κ°€ λ™μ‹œμ— 싀행될 수 μ—†μŒμ„ ν™œμš©ν•˜μ§€ λͺ»ν•˜κΈ°μ— Ο„3\tau_3κ°€ 싀행될 수 μ—†λ‹€κ³  νŒλ‹¨ν•©λ‹ˆλ‹€.

Lemma 3
λ§Œμ•½ mi+mj>mm_i + m_j > m 이라면 λ‹€μŒ 뢀등식이 μ„±λ¦½νžŒλ‹€.

Ik←i(L)+Ik←j(L)≀Lβˆ’Ck+1(9)I_{k \leftarrow i}(L) + I_{k \leftarrow j}(L) \leq L - C_k + 1 \tag{9}

Proof
식(9)λ₯Ό λΆ€μ •ν•˜λ©΄ λΉ„λ‘˜κΈ°μ§‘μ˜ 원리에 μ˜ν•΄ λ°˜λ“œμ‹œ Ο„i\tau_i와 Ο„j\tau_jκ°€ λ™μ‹œμ— μ‹€ν–‰λ˜λŠ” 적어도 ν•œκ°œμ˜ time slot이 ν•„μš”ν•˜κ³ , μ΄λŠ” λͺ¨μˆœμž„.

λ˜ν•œ 이λ₯Ό Ak←i(L)A_{k\leftarrow i}(L)에 λŒ€ν•΄μ„œλ„ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Lemma 4
λ§Œμ•½ mi+mj>mm_i + m_j > m, miβ‰₯mjm_i \ge m_j 이라면 λ‹€μŒ 뢀등식이 μ„±λ¦½νžŒλ‹€.

Ak←i(L)+Ak←j(L)≀Ik←i(L)β‹…min⁑(mi,mβˆ’mk+1)+Ik←j(L)β‹…min⁑(mj,mβˆ’mk+1)≀Ik←i+(L)β‹…min⁑(mi,mβˆ’mk+1)+Ik←j(L)^β‹…min⁑(mj,mβˆ’mk+1)(10)\begin{aligned} A_{k \leftarrow i}(L) + A_{k \leftarrow j}(L) &\le I_{k \leftarrow i}(L) \cdot \min(m_i, m - m_k + 1) \\ &\quad+ I_{k \leftarrow j}(L) \cdot \min(m_j, m - m_k + 1) \\ &\le I^{+}_{k \leftarrow i}(L) \cdot \min(m_i, m - m_k + 1) \\ &\quad+ \widehat{I_{k \leftarrow j}(L)} \cdot \min(m_j, m - m_k + 1) \end{aligned} \tag{10}

μ—¬κΈ°μ—μ„œ Ik←j(L)^\widehat{I_{k \leftarrow j}(L)}λŠ” Ik←j+(L)I^{+}_{k \leftarrow j}(L)와 (L+Ck+1)βˆ’Ik←i+(L)(L+C_k+1)-I^{+}_{k \leftarrow i}(L) 쀑 μž‘μ€ 값이닀.

Proof
첫번째 뢀등식은 Lemma 2에 μ˜ν•΄ μ„±λ¦½ν•©λ‹ˆλ‹€.

Case 1. Ik←i+(L)+Ik←j+(L)≀Lβˆ’Ck+1I^{+}_{k \leftarrow i}(L) + I^{+}_{k \leftarrow j}(L) \le L-C_k+1

  • 이 κ²½μš°λŠ” λ‹¨μˆœνžˆ RHS에 upper boundλ₯Ό λŒ€μž…ν•œ κ²ƒμž…λ‹ˆλ‹€.

Case 2. otherwise

  • μƒˆλ‘œμš΄ upper bound Ik←iβ€²(L)≀Ik←i+(L)I'_{k \leftarrow i}(L) \le I^{+}_{k \leftarrow i}(L) 와 Ik←jβ€²(L)≀Ik←j+(L)I'_{k \leftarrow j}(L) \le I^{+}_{k \leftarrow j}(L)λ₯Ό λ„μž…ν•©μ‹œλ‹€.
  • μš°λ¦¬λŠ” LHS의 μ•ˆμ „ν•œ=κ°€μž₯ 큰큰 upper boundλ₯Ό ꡬ해야 ν•©λ‹ˆλ‹€.
  • miβ‰₯mjm_i \ge m_jμ΄λ―€λ‘œ Ik←iβ€²(L)I'_{k \leftarrow i}(L)이 μ΅œλŒ€κ°€ 될 λ•Œ upper boundκ°€ μ΅œλŒ€κ°€ λ©λ‹ˆλ‹€.
  • μ΄λ•Œ Ik←jβ€²(L)I'_{k \leftarrow j}(L)λŠ” μ΅œμ†Œκ°€ 되고, μ΄λŠ” (L+Ck+1)βˆ’Ik←i+(L)(L+C_k+1)-I^{+}_{k \leftarrow i}(L)둜 μ œν•œλ©λ‹ˆλ‹€.

Example 2

Example 1μ—μ„œ Ο„1\tau_1을 두 개둜 μͺΌκ°œλ΄…μ‹œλ‹€.

  • Ο„1a(T1a=10,D1a=10,C1a=5,m1a=3)\tau_{1a}(T_{1a}=10,D_{1a}=10,C_{1a}=5,m_{1a}=3)
  • Ο„1b(T1b=10,D1b=10,C1b=5,m1b=3)\tau_{1b}(T_{1b}=10,D_{1b}=10,C_{1b}=5,m_{1b}=3)
  • Ο„2(T2=10,D2=10,C2=5,m2=5)\tau_2(T_2=10,D_2=10,C_2=5,m_2=5)
  • Ο„3(T3=5,D3=5,C3=1,m3=2)\tau_3(T_3=5,D_3=5,C_3=1,m_3=2)

이 κ²½μš°λŠ” Example 1κ³Ό λ˜‘κ°™μ΄ schedulableν•΄μ•Ό ν•˜μ§€λ§Œ mi+mj>10m_i + m_j > 10인 κ²½μš°κ°€ μ—†μœΌλ―€λ‘œ Lemma 4λ₯Ό μ΄μš©ν•΄μ„œλ„ κ²€μΆœ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ λ™μ‹œμ— μ‹€ν–‰ν•  수 μ—†λŠ” task set의 크기가 두 κ°œλ³΄λ‹€ 클 λ•Œμ— λŒ€ν•΄μ„œλ„ μΌλ°˜ν™”ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Lemma 5
λ§Œμ•½ 크기 gg의 Ο„β€²βŠ‚Ο„\tau' \subset \tau, Ο„kβˆ‰Ο„β€²\tau_k \notin \tau'κ°€ μ‘΄μž¬ν•˜μ—¬ μ–΄λ–€λ–€ h≀gh\le g에 λŒ€ν•΄ βˆ‘hβ€…β€Štasksβ€…β€ŠΟ„iβˆˆΟ„β€²mi>m\sum_{h\;\text{tasks}\;\tau_i \in \tau'}m_i > m이라면 λ‹€μŒ 뢀등식이 μ„±λ¦½ν•œλ‹€.

βˆ‘Ο„iβˆˆΟ„β€²Ik←i(L)≀(hβˆ’1)β‹…(Lβˆ’Ck+1)(11)\sum_{\tau_i \in \tau'} I_{k \leftarrow i}(L) \leq (h-1) \cdot (L - C_k + 1) \tag{11}

Proof
증λͺ…은 λΉ„λ‘˜κΈ°μ§‘ 원리λ₯Ό μ΄μš©ν•œ Lemma 3의 증λͺ…κ³Ό μœ μ‚¬ν•¨.

이λ₯Ό 톡해 μš°λ¦¬λŠ” Lemma 4λ₯Ό μΌλ°˜ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Theorem 3
λ§Œμ•½ gg개의 Ο„β€²βŠ‚Ο„\tau' \subset \tau, Ο„kβˆ‰Ο„β€²\tau_k \notin \tau'κ°€ μ‘΄μž¬ν•˜μ—¬ μ–΄λ–€ h≀gh\le g에 λŒ€ν•΄ βˆ‘hβ€…β€Štasksβ€…β€ŠΟ„iβˆˆΟ„β€²mi>m\sum_{h\;\text{tasks}\;\tau_i \in \tau'}m_i > m이라면 λ‹€μŒ 뢀등식이 μ„±λ¦½ν•œλ‹€.

βˆ‘Ο„iβˆˆΟ„β€²Ak←i(L)β‰€βˆ‘Ο„iβˆˆΟ„β€²Ik←i(L)β‹…min⁑(mi,mβˆ’mk+1)β‰€βˆ‘Ο„iβˆˆΟ„β€²Ik←i(L)^β‹…min⁑(mi,mβˆ’mk+1),(12)\begin{aligned} \sum_{\tau_i \in \tau'} A_{k \leftarrow i}(L) &\le \sum_{\tau_i \in \tau'} I_{k \leftarrow i}(L) \cdot \min(m_i, m - m_k + 1) \\ &\le \sum_{\tau_i \in \tau'} \widehat{I_{k \leftarrow i}(L)} \cdot \min(m_i, m - m_k + 1), \end{aligned} \tag{12}

μ—¬κΈ°μ—μ„œ WLOG. Ο„iβˆˆΟ„β€²\tau_i \in \tau'κ°€ mim_i에 λŒ€ν•΄ λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ μ •λ ¬λ˜μ–΄ μžˆλ‹€κ³  ν•  λ•Œ, Ik←i(L)^\widehat{I_{k \leftarrow i}(L)}은 λ‹€μŒκ³Ό 같이 μ •μ˜λœλ‹€.

Ik←i(L)^={Ik←i+(L),ifΒ C1Β holds;(hβˆ’1)β‹…(Lβˆ’Ck+1)βˆ’βˆ‘z=1iβˆ’1Ik←z+(L),ifΒ C2Β holds;0,otherwise.\widehat{I_{k \leftarrow i}(L)} =\begin{cases} I^+_{k \leftarrow i}(L), & \text{if } C1 \text{ holds}; \\ (h-1) \cdot (L - C_k + 1) - \sum_{z=1}^{i-1} I^+_{k \leftarrow z}(L), & \text{if } C2 \text{ holds}; \\ 0, & \text{otherwise}. \end{cases}

C1C1: βˆ‘z=1iIk←z+(L)≀(hβˆ’1)β‹…(Lβˆ’Ck+1)\sum_{z=1}^i I^+_{k \leftarrow z}(L) \le (h-1) \cdot (L - C_k + 1),
C2C2: βˆ‘z=1iIk←z+(L)>(hβˆ’1)β‹…(Lβˆ’Ck+1)β€…β€Šandβ€…β€Šβˆ‘z=1iβˆ’1Ik←z+(L)≀(hβˆ’1)β‹…(Lβˆ’Ck+1)\sum_{z=1}^i I^+_{k \leftarrow z}(L) > (h-1) \cdot (L - C_k + 1)\;\text{and}\;\sum_{z=1}^{i-1} I^+_{k \leftarrow z}(L) \le (h-1) \cdot (L - C_k + 1)

Proof
증λͺ…은 Lemma 4의 증λͺ…κ³Ό μœ μ‚¬ν•¨.

이제 Ο„β€²\tau'λ₯Ό μ°ΎλŠ” λ°©λ²•λ§Œ μ•Œλ©΄ λ©λ‹ˆλ‹€. Algorithm 2λŠ” 이 Theorem 3을 μ΄μš©ν•˜μ—¬ Aktotal(Rk)A_k^\text{total}(R_k)λ₯Ό κ΅¬ν•˜λŠ” 방법을 μ„œμˆ ν•©λ‹ˆλ‹€.

  • 이 방법을 Example 2에 λŒ€μž…ν•˜λ©΄, Ο„k\tau_kκ°€ Ο„3\tau_3일 λ•Œ Ο„x\tau_xκ°€ μˆœμ„œλŒ€λ‘œ Ο„2,Ο„1a,Ο„1b\tau_2, \tau_{1a}, \tau_{1b}둜 되고,
  • C3+⌊5L+3L+0L10βˆ’2+1βŒ‹=1+(Lβˆ’1)≀LC_3 + \left\lfloor\frac{5L + 3L + 0L}{10-2+1}\right\rfloor = 1+(L-1) \le Lμ΄λ―€λ‘œ Ο„3\tau_3κ°€ μ‹€ν–‰ κ°€λŠ₯ν•˜λ‹€λŠ” 것을 λ„μΆœν•©λ‹ˆλ‹€.

Over-Estimation of k-Interference Processor Occupation

μ‹€μ œλ‘œλŠ” mβˆ’mk+1m-m_k+1 개의 ν”„λ‘œμ„Έμ„œλ§Œ kk-interference Processor에 영ν–₯을 μ£Όμ§€λ§Œ, Algorithm 1μ—μ„œ Ik←i+(L)I^+_{k \leftarrow i}(L)λ₯Ό μž¬μ‚¬μš©ν•¨μœΌλ‘œμ¨, 더 λ§Žμ€ ν”„λ‘œμ„Έμ„œκ°€ 영ν–₯을 μ£ΌλŠ” κ²ƒμ²˜λŸΌ κ°€μ •ν•©λ‹ˆλ‹€.

Example 3

m=10m=10 ν™˜κ²½μ—μ„œ λ‹€μŒκ³Ό 같은 λ„€ 개의 μž‘μ—…μ„ κ°€μ •ν•©μ‹œλ‹€.

  • Ο„1(T1=10,D1=10,C1=9,m1=4)\tau_1(T_1=10,D_1=10,C_1=9,m_1=4)

  • Ο„2(T2=10,D2=10,C2=9,m2=3)\tau_2(T_2=10,D_2=10,C_2=9,m_2=3)

  • Ο„3(T3=10,D3=10,C3=9,m3=2)\tau_3(T_3=10,D_3=10,C_3=9,m_3=2)

  • Ο„4(T4=10,D4=10,C4=1,m4=3)\tau_4(T_4=10,D_4=10,C_4=1,m_4=3)

  • μ—¬κΈ°μ—μ„œ LL을 D4D_4둜 λ‘μ—ˆμ„ λ•Œ, W1(D4)=9W_1(D_4)=9, W2(D4)=9W_2(D_4)=9, W3(D4)=9W_3(D_4)=9μ΄λ―€λ‘œ 식 (5)(5)의 λΆ„μžλŠ” 81둜 κ³„μ‚°λ©λ‹ˆλ‹€.

  • 그리고, 이λ₯Ό Ο„4\tau_4에 λŒ€ν•΄ μ μš©ν•˜λ©΄ C4+⌊818βŒ‹=1+10>10C_4 + \left\lfloor\frac{81}{8}\right\rfloor = 1+10 > 10μ΄λ―€λ‘œ Ο„4\tau_4의 schedulabilityλ₯Ό 보μž₯ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ μ‹€μ œλ‘œλŠ” κ°€λŠ₯ν•©λ‹ˆλ‹€.

μ΄λ ‡κ²Œ κ³ΌμΆ”μ •ν•œ 뢀뢄을 μ œκ±°ν•˜κΈ° μœ„ν•΄μ„œ Lemma 6을 μ΄μš©ν•©λ‹ˆλ‹€.

Lemma 6
Ο„β€²βŠ‚Ο„\tau' \subset \tau에 λŒ€ν•΄μ„œ βˆ‘Ο„iβˆˆΟ„β€²min⁑(mi,mβˆ’mk+1)>mβˆ’mk+1\sum_{\tau_i \in \tau'} \min(m_i, m - m_k + 1) > m - m_k + 1와 IkΞ”>0I_k^\Delta >0이라면 λ‹€μŒ 뢀등식이 μ„±λ¦½ν•œλ‹€.

βˆ‘Ο„iβˆˆΟ„β€²Ak←i(L)β‰€βˆ‘Ο„iβˆˆΟ„β€²Ik←i+(L)β‹…min⁑(mi,mβˆ’mk+1)βˆ’IkΞ”β‹…(βˆ‘Ο„iβˆˆΟ„β€²min⁑(mi,mβˆ’mk+1)βˆ’(mβˆ’mk+1)),(13)\begin{aligned} \sum_{\tau_i \in \tau'} A_{k \leftarrow i}(L) &\leq \sum_{\tau_i \in \tau'} I_{k \leftarrow i}^+(L) \cdot \min(m_i, m - m_k + 1) \\ &- I_k^\Delta \cdot \left( \sum_{\tau_i \in \tau'} \min(m_i, m - m_k + 1) - (m - m_k + 1) \right), \end{aligned} \tag{13}

IkΞ”=(Lβˆ’Ck+1)βˆ’βˆ‘Ο„iβˆˆΟ„β€²((Lβˆ’Ck+1)βˆ’Ik←i+(L)).I_k^\Delta = (L - C_k + 1) - \sum_{\tau_i \in \tau'} ((L - C_k + 1) - I_{k \leftarrow i}^+(L)).

이λ₯Ό μΌλ°˜ν™”ν•΄μ„œ Theorem 5λ₯Ό λ„μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Theorem 5
Ο„β€²βŠ‚Ο„\tau' \subset \tau에 λŒ€ν•΄μ„œ λ‹€μŒ 뢀등식이 μ„±λ¦½ν•œλ‹€.

βˆ‘Ο„iβˆˆΟ„β€²Ak←i(L)β‰€βˆ‘Ο„iβˆˆΟ„β€²Ik←i+(L)β‹…min⁑(mi,mβˆ’mk+1)βˆ’AkΞ”(14)\sum_{\tau_i \in \tau'} A_{k \leftarrow i}(L) \leq \sum_{\tau_i \in \tau'} I_{k \leftarrow i}^+(L) \cdot \min(m_i, m - m_k + 1) - A_k^{\Delta} \tag{14}

AkΞ”=βˆ‘x=1βˆ£Ο„β€²βˆ£Ak←xΞ”A_k^{\Delta} = \sum^{|\tau'|}_{x=1}A_{k \leftarrow x}^\Delta 이고, msum(i)=βˆ‘x=1imin⁑(mi,mβˆ’mk+1)m^{sum}(i) = \sum_{x=1}^i \min(m_i, m - m_k + 1) 일 λ•Œ, Ak←xΞ”A_{k \leftarrow x}^\DeltaλŠ” Ο„1\tau_1λΆ€ν„° Ο„βˆ£Ο„β€²βˆ£\tau_{|\tau'|}κΉŒμ§€ μ°¨λ‘€λŒ€λ‘œ κ³„μ‚°λœλ‹€.

Ak←xΞ”={IkΞ”(i)β‹…min⁑(mi,mβˆ’mk+1)ifΒ msum(iβˆ’1)>mβˆ’mk+1β€…β€Šβ€…β€ŠΒ andΒ IkΞ”(i)>0;IkΞ”(i)β‹…(msum(i)βˆ’(mβˆ’mk+1))elseΒ ifΒ msum(i)>mβˆ’mk+1β€…β€Šβ€…β€ŠΒ andΒ IkΞ”(i)>0;0otherwise.A_{k \leftarrow x}^\Delta = \begin{cases} I_k^{\Delta}(i) \cdot \min(m_i, m - m_k + 1) & \text{if } m^{\text{sum}}(i - 1) > m - m_k + 1 \\ &\;\;\text{ and } I_k^{\Delta}(i) > 0; \\ I_k^{\Delta}(i) \cdot (m^{\text{sum}}(i) - (m - m_k + 1)) & \text{else if } m^{\text{sum}}(i) > m - m_k + 1 \\ &\;\;\text{ and } I_k^{\Delta}(i) > 0; \\ 0 & \text{otherwise.} \end{cases}
(15)\tag{15}

Proof

  • else if의 κ²½μš°λŠ” Lemma 6을 μ΄μš©ν•˜μ—¬ 증λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • otherwiseλŠ” 아무것도 λΉΌμ§€ μ•ŠμœΌλ―€λ‘œ 증λͺ…λ©λ‹ˆλ‹€.
  • if의 경우λ₯Ό 보면 이미 iβˆ’1i-1 tasksλ§ŒμœΌλ‘œλ„ βˆ‘x=1iβˆ’1min⁑(mi,mβˆ’mk+1)>mβˆ’mk+1\sum_{x=1}^{i-1} \min(m_i, m - m_k + 1) > m-m_k+ 1이 μ„±λ¦½ν•˜λ―€λ‘œ,
    IkΞ”β‹…miI_k^\Delta \cdot m_iκ°€ μ „λΆ€ βˆ‘Ο„iβˆˆΟ„β€²Ak←i(L)\sum_{\tau_i \in \tau'} A_{k \leftarrow i}(L)에 κΈ°μ—¬ν•˜μ§€ λͺ»ν•¨μ„ μ•Œμˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
  • λ”°λΌμ„œ 이λ₯Ό λͺ¨λ‘ μ œκ±°ν•΄μ£Όλ©΄ ifλ₯Ό 증λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ—¬κΈ°κΉŒμ§€ κ³„μ‚°ν•˜λŠ” 방법을 Algorithm 3에 μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

Algorithm 2와 3을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œ μš°λ¦¬λŠ” 두 μ•Œκ³ λ¦¬μ¦˜μ„ κ²°ν•©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Algorithm 2μ—μ„œλŠ” κ·ΈλŒ€λ‘œ Ik←i+(L)I^+_{k \leftarrow i}(L)λ₯Ό μ‚¬μš©ν•˜κ³  κ·Έ λ™μ•ˆ Ik←iβˆ—(L)I^*_{k \leftarrow i}(L)λ₯Ό Ik←i(Rk)^\widehat{I_{k \leftarrow i}(R_k)}둜둜 μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.

Algorithm 3μ—μ„œλŠ” Ik←i+(L)I_{k \leftarrow i}^+(L)λ₯Ό Ik←iβˆ—(L)I^*_{k \leftarrow i}(L)둜 λŒ€μ²΄ν•©λ‹ˆλ‹€.

Theorem 7
Algorithm 1의 Line 6을 Algorithm 4둜 λŒ€μ²΄ν•˜κ³ , Ik←i+(L)I^+_{k \leftarrow i}(L)λ₯Ό 식 (7)(7) λ˜λŠ” (8)(8)둜 λŒ€μ²΄ν•œλ‹€λ©΄, 각각 FP와 EDF에 λŒ€ν•œ schedulability testλ₯Ό μˆ˜ν–‰ν•  수 μžˆλ‹€.

Proof

  • Algorithm 1, Lemma 2, 식 (7)(7) λ˜λŠ” (8)(8)에 μ˜ν•΄ 남은 증λͺ…은 Algorithm 4λ₯Ό 톡해 κ³„μ‚°ν•œ Aktotal(Rk)A^\text{total}_k(R_k)κ°€ βˆ‘Ο„iβˆˆΟ„Ak←i(Rk)\sum_{\tau_i \in \tau} A_{k \leftarrow i}(R_k)의 upper boundμž„μ„ λ³΄μ΄λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • λ¨Όμ € Algorithm 2의 기초인 Theorem 3μ—μ„œλŠ” βˆ‘Ο„iβˆˆΟ„Ak←i(Rk)\sum_{\tau_i \in \tau} A_{k \leftarrow i}(R_k)의 μ•ˆμ „ν•œ upper boundλ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄ 각 Ik←i+(L)I^+_{k \leftarrow i}(L)에 λŒ€ν•˜μ—¬ duration constraintλ₯Ό μœ μ§€ν•  λ•ŒκΉŒμ§€ κ°€μž₯ 큰 mim_iλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
  • λ”°λΌμ„œ Algorithm3μ—μ„œ Algorithm 2λ₯Ό μˆ˜ν–‰ν•œ λ‹€μŒ Line 3μ—μ„œ Algorithm 3을 μˆ˜ν–‰ν•˜λŠ” 경우, λ‹€λ₯Έ 선택이 더 큰 upper boundλ₯Ό λ§Œλ“€ 수 μ—†μŒμ„ 증λͺ…ν•˜λŠ” κ²ƒμœΌλ‘œ μΆ©λΆ„ν•©λ‹ˆλ‹€.
  • Ik←iβ€²(Rk)^\widehat{I'_{k \leftarrow i}(R_k)}을 Ik←i(Rk)^\widehat{I_{k \leftarrow i}(R_k)}와 λ‹€λ₯Έ 선택이라고 μ •μ˜ν•©μ‹œλ‹€.
  • 일단 h=g=2h=g=2, 즉 mh+mj>mm_h + m_j > m인 경우만 κ°€μ •ν•©λ‹ˆλ‹€. λ‹€λ₯Έ κ²½μš°μ—μ„œμ˜ 증λͺ…도 λΉ„μŠ·ν•©λ‹ˆλ‹€.
  • Ο„h\tau_h와 Ο„j\tau_j 사이에 λ”± 1 time unit을 κ΅ν™˜ν–ˆλ‹€κ³  κ°€μ •ν•©μ‹œλ‹€.
  • 즉 Ik←hβ€²(Rk)^=Ik←h(Rk)^βˆ’1\widehat{I'_{k \leftarrow h}(R_k)} = \widehat{I_{k \leftarrow h}(R_k)} - 1, Ik←jβ€²(Rk)^=Ik←j(Rk)^+1\widehat{I'_{k \leftarrow j}(R_k)} = \widehat{I_{k \leftarrow j}(R_k)} + 1이라 ν•©μ‹œλ‹€. λ‚˜λ¨Έμ§€ Ik←iβ€²(Rk)^\widehat{I'_{k \leftarrow i}(R_k)}λŠ” Ik←i(Rk)^\widehat{I_{k \leftarrow i}(R_k)}와 κ°™μŠ΅λ‹ˆλ‹€.
  • μ΄λ•Œ μ›λž˜ interferenceλ‘œλΆ€ν„° κ°μ†Œν•˜λŠ” 양은 min⁑(mh,mβˆ’mk+1)=min⁑(mj,mβˆ’mk+1)≀0\min(m_h, m-m_k + 1) = \min(m_j, m-m_k + 1) \le 0μž…λ‹ˆλ‹€.
  • λ”°λΌμ„œ, 남은 증λͺ…은 min⁑(mh,mβˆ’mk+1)=min⁑(mj,mβˆ’mk+1)≀0\min(m_h, m-m_k + 1) = \min(m_j, m-m_k + 1) \le 0이 Algotihm 3μ—μ„œ κ°μ†Œν•˜λŠ” interference의 upper boundμž„μ„ λ³΄μ΄λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • λ§Œμ•½ Ik←iβ€²(Rk)^\widehat{I'_{k \leftarrow i}(R_k)}으둜 Ik←i(Rk)^\widehat{I_{k \leftarrow i}(R_k)}λ₯Ό λŒ€μ²΄ν•œλ‹€λ©΄, 단 ν•˜λ‚˜μ˜ 차이점은 ν•œκ°œ time slot에 λŒ€ν•΄μ„œ min⁑(mh,mβˆ’mk+1)=min⁑(mj,mβˆ’mk+1)\min(m_h, m-m_k + 1) = \min(m_j, m-m_k + 1)만큼의 κΈ°μ—¬κ°€ μ€„μ–΄λ“œλŠ” 것 λΏμž…λ‹ˆλ‹€.
  • 즉 AkΞ”A_k^\DeltaλŠ” λ§Žμ•„μ•Ό min⁑(mh,mβˆ’mk+1)=min⁑(mj,mβˆ’mk+1)\min(m_h, m-m_k + 1) = \min(m_j, m-m_k + 1)만큼 쀄어듀고, 즉 전체 upper boundκ°€ 1의 time unit을 λ°”κΎΌλ‹€κ³  ν•΄μ„œ 더 컀지지 μ•ŠμŒμ„ 증λͺ…ν•©λ‹ˆλ‹€.
  • 이 과정을 계속 λ°˜λ³΅ν•˜λ©΄ Ik←i(Rk)^\widehat{I_{k \leftarrow i}(R_k)}의 μ–΄λ–€ λ‹€λ₯Έ 선택도 upper boundλ₯Ό 더 ν‚€μš°μ§€ μ•ŠμŒμ„ 증λͺ…ν•  수 있고, Theorem 7이 증λͺ…λ©λ‹ˆλ‹€.

Evaluation

  • WaPe: global scheduling for FP
  • DoLi: global scheduling for EDF
  • UGB: non-global scheduling (i.e., a generalization of partitioned scheduling) for FP
  • RTA-FP and RTA-EDF: Theorem 2 for FP and EDF
  • RTA1-FP and RTA1-EDF: Theorem 4 for FP and EDF
  • RTA2-FP and RTA2-EDF: Theorem 6 for FP and EDF
  • RTAβˆ—-FP and RTAβˆ—-EDF: Theorem 7 for FP and EDF

profile
돈 λ˜λŠ” 건 λ‹€ κ³΅λΆ€ν•©λ‹ˆλ‹€.

0개의 λŒ“κΈ€