πŸ“¦ Gang EDF Scheduling of Parallel Task Systems

BardΒ·2025λ…„ 4μ›” 10일

RTCL

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

Introduction

  • Gang Scheduling에 EDFλ₯Ό μ μš©ν•˜λŠ” 방법에 λŒ€ν•΄ μ‚΄νŽ΄λ³Έλ‹€.
  • Gang EDFλ₯Ό μœ„ν•œ schedulability condition을 μ œμ‹œν•œλ‹€

Definitions and Assumptions

  • Parallel task is:
    • rigidrigid: 미리 μ •ν•΄μ Έ μžˆλŠ” κ³ μ •λœ ν”„λ‘œμ„Έμ„œ 수λ₯Ό μ‚¬μš©ν•œλ‹€
    • moldablemoldable: ν”„λ‘œμ„Έμ„œ μˆ˜λŠ” λ³€ν•  수 μžˆμ§€λ§Œ, μ‹€ν–‰ μ „μ—λŠ” κ²°μ •λœλ‹€.
    • malleablemalleable: λŸ°νƒ€μž„μ—λ„ ν”„λ‘œμ„Έμ„œ μˆ˜κ°€ λ³€ν•  수 μžˆλ‹€.
  • Ο„i=(vi,Ci,Di,Ti)\tau_i = (v_i, C_i, D_i, T_i): μ‚¬μš©ν•˜λŠ” ν”„λ‘œμ„Έμ„œ 수, μ΅œλŒ€ μ‹€ν–‰ μ‹œκ°„, 마감 κΈ°ν•œ, μ£ΌκΈ°
  • moldablemoldable
  • CiC_i λŠ” 각 ν”„λ‘œμ„Έμ„œ 쀑 제일 였래 κ±Έλ¦¬λŠ” μž‘μ—…μ˜ μ‹œκ°„, synchronization overheadλ₯Ό ν¬ν•¨ν•œλ‹€
  • Constrained-deadline: Di≀TiD_i \le T_i for all Ο„i\tau_i
  • Fully independent & preemptive
  • CiC_iλŠ” viv_i에 μ˜ν•΄ κ²°μ •λ˜κ³ , viv_iλŠ” μœ μ €λ‚˜ μŠ€μΌ€μ€„λŸ¬μ— μ˜ν•΄ κ²°μ •λœλ‹€.
  • demand bound function dbf(Ο„i,L)\textrm{dbf}(\tau_i, L):
    dbf(Ο„i,L)=max⁑(0,⌊Lβˆ’DiTiβŒ‹+1)Γ—CiΓ—vi(1)\text{dbf}( \tau_i, L) = \max \left( 0, \left\lfloor \frac{L - D_i}{T_i} \right\rfloor + 1 \right) \times C_i \times v_i \tag{1}
  • horizontal-damand bound function hbf(Ο„i,L)\textrm{hbf}(\tau_i, L):
    hbf(Ο„i,L)=max⁑(0,⌊Lβˆ’DiTiβŒ‹+1)Γ—Ci=dbf(Ο„i,L)Γ—1vi(2)\text{hbf}( \tau_i, L) = \max \left( 0, \left\lfloor \frac{L - D_i}{T_i} \right\rfloor + 1 \right) \times C_i = \text{dbf}(\tau_i, L) \times \frac 1 {v_i} \tag{2}
    μ΄λŠ” CiΓ—viC_i\times v_i μ§μ‚¬κ°ν˜•μ˜ λ„ˆλΉ„(μ‹œκ°„ μΆ•)으둜 생각할 수 μžˆλ‹€

Gang EDF Scheduling

  • Global EDFμ—μ„œλŠ” 항상 mm개의 νƒœμŠ€ν¬λ₯Ό 선택할 수 μžˆμ§€λ§Œ, Gang EDFμ—μ„œλŠ” 곡간적 μ œμ•½μ΄ ν•„μš”ν•˜λ‹€.
  • λ¨Όμ € βˆ‘Ο„βˆˆQkvi≀m\sum_{\tau\in Q_k}v_i \le mκ³Ό βˆ‘Ο„βˆˆQk+1vi>m\sum_{\tau\in Q_{k+1}}v_i > m을 λ§Œμ‘±ν•˜λŠ” earlist deadline의 kk개의 νƒœμŠ€ν¬μ…‹ QkQ_k을 μ„ νƒν•œλ‹€.
  • 이듀은 싀행에 μ œμ•½μ΄ μ—†λ‹€.
  • μ—¬κΈ°μ„œ μš°λ¦¬λŠ” Ο„j∈Qk+1βˆ–Qk\tau_j \in Q_{k+1}\setminus Q_k에 λŒ€ν•΄ mβˆ’βˆ‘Ο„βˆˆQkviβ€…β€Š(<vj)m-\sum_{\tau\in Q_k}v_i \;(<v_j)만큼의 ν”„λ‘œμ„Έμ„œλ§Œ ν• λ‹Ήν•  수 μžˆλ‹€.

Gang scheduling vs Coscheduling


Gang EDF scheduling policy

  • first fit heuristic에 μ˜ν•΄μ„œ λ‹€μŒ μž‘μ—…μ„ 넣을 수 μžˆμ„ λ•Œ λ„£μŒ.

Schedulability Analysis

  • Ο„k\tau_kκ°€ tdt_d에 deadline missκ°€ λ°œμƒν•œλ‹€κ³  κ°€μ •. - 이λ₯Ό problemβ€…β€Šjobproblem\;job이라 뢀름.
  • Ο„k\tau_k의 arrival time은 ta=tdβˆ’Dkt_a = t_d - D_k
  • tot_oλŠ” tat_a보닀 μž‘κ±°λ‚˜ κ°™κ³ , vkv_k개의 ν”„λ‘œμ„Έμ„œκ°€ μœ νœ΄μƒνƒœμΈ κ°€μž₯ λŠ¦μ€ μ‹œμ μ΄λΌ μ •μ˜ν•œλ‹€.
  • μ΄λ•Œ tdβˆ’to=Ξ”kt_d - t_o = \Delta_k라 μ •μ˜ν•œλ‹€.
  • Deadline missκ°€ λ°œμƒν•˜κΈ° μœ„ν•΄μ„œλŠ” [ta,td)[t_a, t_d)μ—μ„œ λ‹€λ₯Έ μž‘μ—…λ“€μ˜ 싀행이 Dkβˆ’CkD_k - C_k보닀 κΈΈμ–΄μ•Ό ν•œλ‹€.
  • λ˜ν•œ, Ο„k\tau_kκ°€ vkv_k개의 ν”„λ‘œμ„Έμ„œλ₯Ό λ™μ‹œμ— μ‚¬μš©ν•΄μ•Ό ν•˜κΈ°μ—, 적어도 mβˆ’vk+1m-v_k +1 μ΄μƒμ˜ ν”„λ‘œμ„Έμ„œκ°€ μ°¨λ‹¨λ˜λŠ” μ‹œκ°„μ΄ Ξ”kβˆ’Ck\Delta_k-C_k보닀 컀야 ν•œλ‹€.
  • 이λ₯Ό interferenceβ€…β€Šrectangleinterference\;rectangle이라 μ •μ˜ν•œλ‹€.
    wk=Ξ”kβˆ’Ck(3)w_k = \Delta_k - C_k \tag{3}
    hk=mβˆ’vk+1(4)h_k = m-v_k+1 \tag{4}

  • Ik(Ο„i)I_k(\tau_i)λŠ” [to,td)[t_o, t_d)μ—μ„œ Ο„i\tau_i에 μ˜ν•΄ κ°„μ„­λ‹Ήν•˜λŠ” μ‹œκ°„μ„ μ˜λ―Έν•˜κ³ , μ•žμ˜ 식을 λ‹€μŒκ³Ό 같이 정리할 수 μžˆλ‹€.
    βˆ‘Ο„iβˆˆΟ„Ik(Ο„i)>wkΓ—hk(5)\sum_{\tau_i \in \tau}I_k(\tau_i) > w_k \times h_k \tag{5}
  • μ—¬κΈ°μ—μ„œ λ§Œμ•½ Ο„i\tau_iκ°€ carrycarry-inin μž‘μ—…μ΄ μ—†λŠ” 경우 I1(Ο„i)I_1(\tau_i)라 ν‘œκΈ°ν•˜κ³ , μžˆλŠ” 경우 I2(Ο„i)I_2(\tau_i)라 ν‘œκΈ°ν•œλ‹€.

Simple Bounds

Ο„i\tau_iκ°€ carrycarry-inin μž‘μ—…μ΄ μ—†λŠ” 경우, I1(Ο„i)I_1(\tau_i)λŠ” λ‹€μŒκ³Ό 같이 ꡬ할 수 μžˆλ‹€.

  • iβ‰ ki \neq k 인 경우, Ο„i\tau_i의 κ°„μ„­ μ‚¬κ°ν˜•μ— λŒ€ν•œ μˆ˜ν‰ κΈ°μ—¬λ„λŠ” μ΅œλŒ€ hbf(Ο„i,Ξ”k)\textrm{hbf}(\tau_i, \Delta_k)이며,
  • μ΄λŠ” Ο„k\tau_k의 κ°„μ„­ μ‚¬κ°ν˜• λ„ˆλΉ„λ₯Ό μ΄ˆκ³Όν•  수 μ—†μœΌλ―€λ‘œ, Ο„k\tau_k의 κ°„μ„­ μ‚¬κ°ν˜•μ— λŒ€ν•œ μˆ˜ν‰κΈ°μ—¬λ„λŠ” λ‹€μŒκ³Ό κ°™λ‹€.
    min⁑{hbf(Ο„i,Ξ”k),wk}\min\{\textrm{hbf}(\tau_i, \Delta_k), w_k\}
  • λΉ„μŠ·ν•œ 이유둜 κ°„μ„­ μ‚¬κ°ν˜•μ— λŒ€ν•œ 수직 κΈ°μ—¬λ„λŠ” λ‹€μŒκ³Ό κ°™λ‹€.
    min⁑{vi,hk}\min\{v_i, h_k\}
  • i=ki=k인 경우, μˆ˜ν‰μ  κΈ°μ—¬λŠ” Ak=Ξ”kβˆ’DkA_k = \Delta_k - D_kλ₯Ό λ„˜μ„ 수 μ—†λ‹€.
  • 이λ₯Ό μ •λ¦¬ν•˜μ—¬ I1(Ο„i)I_1(\tau_i)λ₯Ό λ‚˜νƒ€λ‚΄λ©΄:
    I1(Ο„i)={min⁑{hbf(Ο„i,Ξ”k),wk}Γ—min⁑(vi,hk)ifΒ iβ‰ kmin⁑{hbf(Ο„i,Ξ”k)βˆ’Ck,Ak}Γ—min⁑(vi,hk)otherwise(6)I_1(\tau_i) = \begin{cases} \min\{\text{hbf}(\tau_i, \Delta_k), w_k\} \times \min(v_i, h_k) & \text{if } i \neq k \\ \min\{\text{hbf}(\tau_i, \Delta_k) - C_k, A_k\} \times \min(v_i, h_k) & \text{otherwise} \end{cases} \tag{6}

Ο„i\tau_iκ°€ carrycarry-inin μž‘μ—…μ΄ μžˆλŠ” 경우, I2(Ο„i)I_2(\tau_i)λŠ” λ‹€μŒκ³Ό 같이 ꡬ할 수 μžˆλ‹€.

  • Ο„i\tau_i의 μ–΄λ–€ μž‘μ—…μ˜ deadline이 ꡬ간 LL의 끝에 있고, Ο„i\tau_i의 λͺ¨λ“  μž‘μ—…μ΄ preemption없이 deadline전에 μˆ˜ν–‰λ  λ•Œμ˜ horizontal demandλ₯Ό hbfβ€²(Ο„i,L)\textrm{hbf}'(\tau_i, L) 이라고 ν•˜μž.

  • μ΄λŠ” μœ„ 그림을 톡해 carrycarry-inin μž‘μ—…μ˜ 양이 μ΅œλŒ€ min⁑(Ci,Lmod  Ti)\min(C_i, L \mod T_i) 이고, ꡬ간 λ‚΄ μž‘μ—…μ˜ κ°œμˆ˜λŠ” ⌊L/TiβŒ‹\lfloor L/T_i\rfloorμž„μ„ μ•Œ 수 μžˆλ‹€.

  • λ”°λΌμ„œ hbfβ€²(Ο„i,L)\textrm{hbf}'(\tau_i, L)λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

    hbfβ€²(Ο„i,L)=⌊LTiβŒ‹Γ—Ci+min⁑(Ci,Lmod  Ti)(7)\text{hbf}'(\tau_i, L) = \left\lfloor \frac{L}{T_i} \right\rfloor \times C_i + \min(C_i, L \mod T_i)\tag{7}
  • hbfβ€²(Ο„i,L)\textrm{hbf}'(\tau_i, L)이 μœ„μ™€ κ°™μœΌλ―€λ‘œ I2(Ο„i)I_2(\tau_i)λŠ” λ‹€μŒκ³Ό 같이 ꡬ할 수 μžˆλ‹€.

I2(Ο„i)={min⁑{hbfβ€²(Ο„i,Ξ”k),wk}Γ—min⁑(vi,hk)ifΒ iβ‰ kmin⁑{hbfβ€²(Ο„i,Ξ”k)βˆ’Ck,Ak}Γ—min⁑(vi,hk)otherwise(8)I_2(\tau_i) = \begin{cases} \min\{\text{hbf}'(\tau_i, \Delta_k), w_k\} \times \min(v_i, h_k) & \text{if } i \neq k \\ \min\{\text{hbf}'(\tau_i, \Delta_k) - C_k, A_k\} \times \min(v_i, h_k) & \text{otherwise} \end{cases} \tag{8}

Improved Bounds

  • Eq.(6)Eq. (6)은 Ο„i\tau_i의 간섭을 κ³ΌλŒ€ν‰κ°€ν•œλ‹€λŠ” μ μ—μ„œ 비관적이닀.
    I1(Ο„i)={min⁑{hbf(Ο„i,Ξ”k),wk}Γ—min⁑(vi,hk)ifΒ iβ‰ kmin⁑{hbf(Ο„i,Ξ”k)βˆ’Ck,Ak}Γ—min⁑(vi,hk)otherwise(6)I_1(\tau_i) = \begin{cases} \min\{\text{hbf}(\tau_i, \Delta_k), w_k\} \times \min(v_i, h_k) & \text{if } i \neq k \\ \min\{\text{hbf}(\tau_i, \Delta_k) - C_k, A_k\} \times \min(v_i, h_k) & \text{otherwise} \end{cases} \tag{6}

Lemma 1
두 νƒœμŠ€ν¬ Ο„i\tau_i와 Ο„j\tau_j에 λŒ€ν•΄μ„œ hkβˆ’vi≀vj≀hkh_k - v_i \leq v_j \leq h_k 및 hbf(Ο„j,Ξ”k)≀wk≀hbf(Ο„i,Ξ”k)\text{hbf}(\tau_j, \Delta k) \leq w_k \leq \text{hbf}(\tau_i, \Delta k)κ°€ 성립할 λ•Œ Ο„k\tau_k의 κ°„μ„­μ‚¬κ°ν˜•μ— λŒ€ν•œ I1(Ο„j)+I1(Ο„i)I_1(\tau_j) + I_1(\tau_i)λŠ” μ΅œλŒ€ λ‹€μŒκ³Ό κ°™λ‹€.

wkΓ—vi+hbf(Ο„j,Ξ”k)Γ—(hkβˆ’vi)(9)w_k \times v_i + \text{hbf}(\tau_j, \Delta_k) \times (h_k - v_i) \tag{9}

Lemma 2
두 μž‘μ—… Ο„i\tau_i와 Ο„j(iβ‰ jβ‰ k)\tau_j(i \neq j \neq k)에 λŒ€ν•΄, vi≀hk≀vjv_i \leq h_k \leq v_j 및 wkβˆ’hbf(Ο„j,Ξ”k)≀hbf(Ο„i,Ξ”k)≀wkw_k - \text{hbf}(\tau_j, \Delta k) \leq \text{hbf}(\tau_i, \Delta k) \leq w_k인 경우 Ο„k\tau_k의 κ°„μ„­μ‚¬κ°ν˜•μ— λŒ€ν•œ I1(Ο„j)+I1(Ο„i)I_1(\tau_j) + I_1(\tau_i)λŠ” μ΅œλŒ€ λ‹€μŒκ³Ό κ°™λ‹€.

{wkβˆ’hbf(Ο„j,Ξ”k)}Γ—vi+hbf(Ο„j,Ξ”k)Γ—hk(10)\{ w_k - \text{hbf}( \tau_j, \Delta_k ) \} \times v_i + \text{hbf}( \tau_j, \Delta_k ) \times h_k \tag{10}

이 두 λ³΄μ‘°μ •λ¦¬λŠ” λ‹€μŒ λ³΄μ‘°μ •λ¦¬λ‘œ μ΄μ–΄μ§€κ²Œ λœλ‹€.

Lemma 3
wkΓ—hkw_k \times h_k κ°„μ„­ μ‚¬κ°ν˜•μ€ hbf(Ο„i,Ξ”k)β‰₯wk\text{hbf}(\tau_i, \Delta_k) \ge w_k인 Ο„i\tau_iκ°€ μ‘΄μž¬ν•  λ•Œ, wkΓ—(hkβˆ’vi)w_k \times (h_k-v_i)둜 μΆ•μ†Œν•  수 μžˆλ‹€.

Lemma 4
wkΓ—hkw_k \times h_k κ°„μ„­ μ‚¬κ°ν˜•μ€ viβ‰₯hkv_i \ge h_k인 Ο„i\tau_iκ°€ μ‘΄μž¬ν•  λ•Œ, {wkβˆ’hbf(Ο„i,Ξ”k)}Γ—hk\{w_k-\text{hbf}(\tau_i, \Delta_k)\} \times h_k둜 μΆ•μ†Œν•  수 μžˆλ‹€.

λ”°λΌμ„œ μš°λ¦¬λŠ” μ•žμ˜ Eq.(6)Eq. (6)을 μ•„λž˜μ™€ 같이 λ°”κΏ€ 수 μžˆλ‹€.

  • Ξ±1={Ο„iβ‰ kβˆˆΟ„βˆ£hbf(Ο„i,Ξ”k)β‰₯wk}\alpha_1=\{\tau_{i\neq k}\in\tau | \text{hbf}(\tau_i, \Delta_k) \ge w_k\}라 ν•  λ•Œ,

  • hk(Ξ±1)=hkβˆ’βˆ‘Ο„i∈α1vi\displaystyle h_k(\alpha_1) = h_k - \sum_{\tau_i \in \alpha_1}v_i둜 μΆ•μ†Œν•  수 있고,

  • Ξ²1={Ο„iβˆ‰Ξ±1∣viβ‰₯hk(Ξ±1)}\beta_1=\{\tau_{i}\notin\alpha_1 | v_i \ge h_k(\alpha_1)\}라 ν•  λ•Œ,

  • wk(Ξ²1)=wkβˆ’βˆ‘Ο„i∈β1hbf(Ο„i,Ξ”k)\displaystyle w_k(\beta_1) = w_k - \sum_{\tau_i \in \beta_1}\text{hbf}(\tau_i, \Delta_k)둜 μΆ•μ†Œν•  수 μžˆλ‹€.

  • μš°λ¦¬λŠ” μ΄λŸ¬ν•œ 크기 μΆ•μ†Œλ₯Ό 계속 λ°˜λ³΅ν•  수 μžˆλ‹€.
  • 그러면 hk(Ξ±0)=hkh_k(\alpha_0)=h_k, wk(Ξ²0)=wkw_k(\beta_0)=w_k둜 μ‹œμž‘ν•˜μ—¬, λ‹€μŒ 식을 λ°˜λ³΅ν•  수 μžˆλ‹€.
Ξ±s={Ο„iβ‰ kβˆ‰β‹ƒr<sΞ±rβˆͺ⋃r<sΞ²r∣hbf(Ο„i,Ξ”k)β‰₯wk(Ξ²sβˆ’1)}(11)\alpha_s = \bigg\{ \tau_{i \neq k} \notin \bigcup_{r < s} \alpha_r \cup \bigcup_{r < s} \beta_r \mid \text{hbf}(\tau_i, \Delta_k) \geq w_k(\beta_{s-1}) \bigg\} \tag{11}
Ξ²s={Ο„iβ‰ kβˆ‰β‹ƒr≀sΞ±rβˆͺ⋃r<sΞ²r∣viβ‰₯hk(Ξ±s)}(12)\beta_s = \left\{ \tau_{i \neq k} \notin \bigcup_{r \leq s} \alpha_r \cup \bigcup_{r < s} \beta_r \mid v_i \geq h_k(\alpha_s) \right\} \tag{12}
hk(Ξ±s)=hkβˆ’βˆ‘Ο„iβˆˆβˆ‘r≀sΞ±rvi(13)h_{k}(\alpha_{s}) = h_{k} - \sum_{\tau_{i} \in \sum_{r \leq s}\alpha_r} v_{i} \tag{13}
wk(Ξ²s)=wkβˆ’βˆ‘Ο„iβˆˆβˆ‘r≀sΞ²rhbf(Ο„i,Ξ”k)(14)w_k(\beta_s) = w_k - \sum_{\tau_i \in \sum_{r \leq s} \beta_r} \text{hbf}(\tau_i, \Delta_k) \tag{14}
  • 이 과정을 Ξ±s\alpha_sλ‚˜ Ξ²s\beta_sκ°€ κ³΅μ§‘ν•©μΌλ•ŒκΉŒμ§€ λ°˜λ³΅ν•˜μ˜€μ„ λ•Œ,
  • κ·Έ μ–΄λŠ Ξ±s\alpha_sλ˜λŠ” Ξ²s\beta_s에 λŒ€ν•΄μ„œλ„ ν¬ν•¨λ˜μ§€ μ•Šμ€ νƒœμŠ€ν¬λ“€μ˜ 집합을 Ξ³\gamma라 ν•˜μž.
Ξ³={Ο„iβˆ‰Ξ±1βˆͺ...βˆͺΞ±max⁑βˆͺΞ²1βˆͺ...βˆͺΞ²max⁑}(15)\gamma = \{ \tau_i \notin \alpha_1 \cup ... \cup \alpha_{\max} \cup \beta_1 \cup ... \cup \beta_{\max} \} \tag{15}
  • μ΅œμ’…μ μœΌλ‘œ κ°„μ„­ μ‚¬κ°ν˜•μ€ wk(Ξ±max⁑)Γ—hk(Ξ²max⁑)w_k(\alpha_{\max})\times h_k(\beta_{\max}) 둜 μΆ•μ†Œλœλ‹€.
  • 그리고 Ξ³\gamma의 μ •μ˜μ— 따라 βˆ€Ο„i∈γ\forall \tau_i \in \gammaλŠ” hbf(Ο„i,Ξ”k)<wk(Ξ²max⁑)\text{hbf}(\tau_i, \Delta_k) < w_k(\beta_{\max}), vi<hk(Ξ±max⁑)v_i < h_k(\alpha_{\max})λ₯Ό λ§Œμ‘±ν•œλ‹€.
  • λ˜ν•œ Ξ±s\alpha_s에 ν¬ν•¨λœ 집합은 hbf(Ο„i,Ξ”k)β‰₯wk(Ξ²sβˆ’1)\text{hbf}(\tau_i, \Delta_k) \ge w_k(\beta_{s-1})λ₯Ό λ§Œμ‘±ν•˜κ³ , Ξ²s\beta_s에 ν¬ν•¨λœ 집합은 viβ‰₯hk(Ξ±s)v_i \ge h_k(\alpha_s)λ₯Ό λ§Œμ‘±ν•œλ‹€.
  • λ”°λΌμ„œ μš°λ¦¬λŠ” I1I_1을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν•  수 μžˆλ‹€.
I1(Ο„i)={wk(Ξ²sβˆ’1)Γ—viifΒ Ο„i∈αshbf(Ο„i,Ξ”k)Γ—hk(Ξ±s)ifΒ Ο„i∈βshbf(Ο„i,Ξ”k)Γ—viifΒ Ο„i∈γ∧iβ‰ kmin⁑{hbf(Ο„i,Ξ”k)βˆ’Ck,Ak}Γ—viotherwise(16)I_1(\tau_i) = \begin{cases} w_k(\beta_{s-1}) \times v_i & \text{if } \tau_i \in \alpha_s \\ \text{hbf}(\tau_i, \Delta_k) \times h_k(\alpha_s) & \text{if } \tau_i \in \beta_s \\ \text{hbf}(\tau_i, \Delta_k) \times v_i & \text{if } \tau_i \in \gamma \land i \neq k \\ \min\{\text{hbf}(\tau_i, \Delta_k) - C_k, A_k\} \times v_i & \text{otherwise} \end{cases} \tag{16}

carrycarry-inin μž‘μ—…μ΄ μžˆλŠ” κ²½μš°λ„ λΉ„μŠ·ν•˜κ²Œ μ§„ν–‰ν•  수 μžˆλ‹€.

Ξ±sβ€²={Ο„iβ‰ kβˆ‰β‹ƒr<sΞ±rβ€²βˆͺ⋃r<sΞ²rβ€²βˆ£hbfβ€²(Ο„i,Ξ”k)β‰₯wk(Ξ²sβˆ’1β€²)(17)\alpha'_{s} = \begin{cases} \tau_{i \neq k} \notin \bigcup_{r < s} \alpha'_{r} \cup \bigcup_{r < s} \beta'_{r} \mid \text{hbf}'(\tau_{i}, \Delta_{k}) \geq w_{k}(\beta'_{s-1}) \end{cases} \tag{17}
Ξ²sβ€²={Ο„iβ‰ kβˆ‰β‹ƒr≀sΞ±rβ€²βˆͺ⋃r<sΞ²rβ€²βˆ£viβ‰₯hk(Ξ±sβ€²)(18)\beta'_{s} = \begin{cases} \tau_{i \neq k} \notin \bigcup_{r \leq s} \alpha'_{r} \cup \bigcup_{r < s} \beta'_{r} | v_{i} \geq h_{k}(\alpha'_{s}) \end{cases} \tag{18}
hk(Ξ±sβ€²)=hkβˆ’βˆ‘Ο„iβˆˆβˆ‘r≀sΞ±rβ€²vi(19)h_k(\alpha'_s) = h_k - \sum_{\tau_i \in \sum_{r \leq s} \alpha'_r} v_i \tag{19}
wk(Ξ²sβ€²)=wkβˆ’βˆ‘Ο„iβˆˆβˆ‘r≀sΞ²rβ€²hbfβ€²(Ο„i,Ξ”k)(20)w_k ( \beta'_s ) = w_k - \sum_{\tau_i \in \sum_{r \leq s} \beta'_r } \text{hbf}' (\tau_i, \Delta_k) \tag{20}

Ξ³β€²\gamma'도 λ˜‘κ°™μ΄ μ •μ˜ν•˜λ©΄,

Ξ³β€²={Ο„iβˆ‰Ξ±1β€²βˆͺ...βˆͺΞ±maxβ€²βˆͺΞ²1β€²βˆͺ...βˆͺΞ²maxβ€²}(21)\gamma' = \{ \tau_i \notin \alpha'_1 \cup ... \cup \alpha'_{max} \cup \beta'_1 \cup ... \cup \beta'_{max} \} \tag{21}

λ‹€μŒκ³Ό 같이 I2I_2λ₯Ό λ³€κ²½ν•  수 μžˆλ‹€.

I2(Ο„i)={wk(Ξ²sβˆ’1β€²)Γ—viifΒ Ο„i∈αsβ€²hbfβ€²(Ο„i,Ξ”k)Γ—hk(Ξ±sβ€²)ifΒ Ο„i∈βsβ€²hbfβ€²(Ο„i,Ξ”k)Γ—viifΒ Ο„iβˆˆΞ³β€²βˆ§iβ‰ kmin⁑{hbfβ€²(Ο„i,Ξ”k)βˆ’Ck,Ak}Γ—viotherwise(22)I_{2}(\tau_{i}) = \begin{cases} w_{k}(\beta'_{s-1}) \times v_{i} & \text{if } \tau_{i} \in \alpha'_{s} \\ \text{hbf}'(\tau_{i}, \Delta_{k}) \times h_{k}(\alpha'_{s}) & \text{if } \tau_{i} \in \beta'_{s} \\ \text{hbf}'(\tau_{i}, \Delta_{k}) \times v_{i} & \text{if } \tau_{i} \in \gamma' \land i \neq k \\ \min\{\text{hbf}'(\tau_{i}, \Delta_{k}) - C_{k}, A_{k}\} \times v_{i} & \text{otherwise} \end{cases} \tag{22}

Schedulability Condition

  • Idiff(Ο„i)I_\text{diff}(\tau_i)λ₯Ό λ‹€μŒκ³Ό 같이 μ •μ˜ν•˜λ©΄, μ΄λŠ” Ο„i\tau_i에 μ˜ν•œ carrycarry-inin μž‘μ—…μ˜ κ°„μ„­ μ‚¬κ°ν˜•μ— λŒ€ν•œ κΈ°μ—¬μž„μ΄ 자λͺ…ν•˜λ‹€.
    Idiff(Ο„i)=I2(Ο„i)βˆ’I1(Ο„i)(23)I_{\text{diff}}(\tau_i) = I_2(\tau_i) - I_1(\tau_i) \tag{23}
  • λ”°λΌμ„œ, Icarry-inI_\text{carry-in}을 λͺ¨λ“  carrycarry-inin μž‘μ—…μ˜ κ°„μ„­ μ‚¬κ°ν˜•μ— λŒ€ν•œ κΈ°μ—¬λ‘œ μ •μ˜ν•˜λ©΄, λ‹€μŒκ³Ό 같은 식을 μ–»λŠ”λ‹€.
    Icarry-in={max⁑{βˆ‘Ο„iβˆˆΟƒIdiff(Ο„i)}ifΒ βˆƒΟƒβŠ‚Ο„max⁑{Idiff(Ο„i)}otherwise(24)I_{\text{carry-in}} = \begin{cases} \max \left\{ \sum_{\tau_i \in \sigma} I_{\text{diff}}(\tau_i) \right\} & \text{if } \exists \sigma \subset \tau \\ \max \left\{ I_{\text{diff}}(\tau_i) \right\} & \text{otherwise} \end{cases} \tag{24}
    μ—¬κΈ°μ„œ Οƒ\sigmaλŠ” βˆ‘Ο„iβˆˆΟƒvi≀mβˆ’vk\sum_{\tau_i \in \sigma}v_i \le m-v_kλ₯Ό λ§Œμ‘±ν•˜λŠ” μž„μ˜μ˜ 뢀뢄집합이닀.
  • μš°λ¦¬λŠ” μ—¬κΈ°μ„œ Οƒ\sigma에 λŒ€ν•œ 계산을 ν•΄μ•Όν•˜μ§€λ§Œ μ΄λŠ” Knapsack λ¬Έμ œμ™€ μœ μ‚¬ν•˜λ©° μ΄λŠ” NP-hardμž„μ΄ μ•Œλ €μ Έμžˆλ‹€.

이λ₯Ό μ’€ 더 μ‰½κ²Œ ν•˜κΈ° μœ„ν•΄ Icarry-inI_\text{carry-in}을 μ•½κ°„ κ³ΌλŒ€ν‰κ°€ν•΄λ³΄μž.

  • Ο„\tau의 볡제본 Ο„β€²\tau'κ°€ Idiff(Ο„i)/viI_\text{diff}(\tau_i)/v_iλ₯Ό κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬λ˜μ–΄μžˆλ‹€κ³  ν•˜μž. 그리고 κ°™μœΌλ©΄ viv_i에 λŒ€ν•΄ μ •λ ¬ν•˜μž.
  • μ΄λ•Œ Ο„carry-in\tau_\text{carry-in}λ₯Ό λ‹€μŒμ„ λ§Œμ‘±ν•˜λŠ” κ°€μž₯ 첫번째 λΆ€λΆ„μ§‘ν•©μœΌλ‘œ μ„ νƒν•˜μž.
    βˆ‘Ο„iβˆˆΟ„carry-inviβ‰₯mβˆ’vk\sum_{\tau_i \in \tau_{\text{carry-in}}} v_i \geq m - v_k
  • Icarry-inI_\text{carry-in}을 Ο„carry-in\tau_\text{carry-in}λ‘œλΆ€ν„° ꡬ할 λ•Œ, κ°„μ„­ μ‚¬κ°ν˜•μ„ μ„Έλ‘œλ‘œ μ΄ˆκ³Όν•˜λŠ” vertical demand, 즉 mβˆ’vkm-v_kλ₯Ό μ΄ˆκ³Όν•˜λŠ” 뢀뢄은 κ³ λ €ν•  ν•„μš”κ°€ μ—†λ‹€.
  • μ΄λ•Œ Ο„carry-in\tau_\text{carry-in}의 λ§ˆμ§€λ§‰ νƒœμŠ€ν¬ Ο„l\tau_l이 μ‹€μ œλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” ν”„λ‘œμ„Έμ„œ 수 nlβ€²n'_lλŠ” λ‹€μŒκ³Ό κ°™λ‹€.
    nlβ€²=mβˆ’vkβˆ’βˆ‘Ο„iβˆˆΟ„carry-inβˆ–Ο„lvi.n'_{l} = m - v_k - \sum_{\tau_i \in \tau_{\text{carry-in}} \setminus \tau_l} v_i.
  • λ”°λΌμ„œ μš°λ¦¬λŠ” Eq(24).Eq (24). λŒ€μ‹  μ•„λž˜μ™€ 같이 ν‘œν˜„ν•  수 μžˆλ‹€.
    Icarry-in=βˆ‘Ο„iβˆˆΟ„carry-inIdiff(Ο„i)βˆ’(vlβˆ’nlβ€²)Γ—Idiff(Ο„l)(25)I_\text{carry-in} = \sum_{\tau_i \in \tau_\text{carry-in}} I_\text{diff}(\tau_i) - (v_l - n'_l) \times I_\text{diff}(\tau_l) \tag{25}
  • κ·ΈλŸ¬λ―€λ‘œ μ›λž˜μ˜ Eq(5)Eq (5)λ₯Ό
    βˆ‘Ο„iβˆˆΟ„Ik(Ο„i)>wkΓ—hk(5)\sum_{\tau_i \in \tau} I_k(\tau_i) > w_k \times h_k \tag{5}
  • λ‹€μŒκ³Ό 같이 λ³€κ²½ν•  수 μžˆλ‹€.
    βˆ‘Ο„iβˆˆΟ„I1(Ο„i)+Icarry-in>wkΓ—hk(26)\sum_{\tau_i \in \tau} I_1(\tau_i) + I_{\text{carry-in}} > w_k \times h_k \tag{26}

Theorem 1
λͺ¨λ“  μž‘μ—… Ο„kβˆˆΟ„\tau_k \in \tau 및 λͺ¨λ“  Ξ”kβ‰₯Dk\Delta_k \geq D_k에 λŒ€ν•΄ λ‹€μŒ 쑰건이 좩쑱되면 μž‘μ—… μ‹œμŠ€ν…œ Ο„\tauκ°€ mm ν”„λ‘œμ„Έμ„œμ—μ„œ Gang EDF에 μ˜ν•΄ μ„±κ³΅μ μœΌλ‘œ μŠ€μΌ€μ€„λ§λ˜λŠ” 것이 보μž₯λœλ‹€.

βˆ‘Ο„iβˆˆΟ„I1(Ο„i)+Icarry-in≀wkΓ—hk?(27)\sum_{\tau_i \in \tau} I_1(\tau_i) + I_{\text{carry-in}} \leq w_k \times h_k \tag{27} ?
  • λ§ˆμ§€λ§‰μœΌλ‘œ Ξ”k\Delta_k의 λ²”μœ„λ₯Ό μœ ν•œν•œ λ²”μœ„λ‘œ 쀄이기 μœ„ν•΄ Theorem 2λ₯Ό μ œμ•ˆν•œλ‹€.

Theorem 2
λ§Œμ•½ μ–΄λ–€ Ξ”kβ‰₯Dk\Delta_k \ge D_k에 λŒ€ν•΄ 쑰건 (27)(27)이 μœ„λ°˜λœλ‹€λ©΄, μ΄λŠ” λ‹€μŒμ„ λ§Œμ‘±ν•˜λŠ” Ξ”k\Delta_k에 μ˜ν•΄ μœ„λ°˜λœ 것이닀.

Ξ”k≀hkCkβˆ’βˆ‘Ο„iβˆˆΟ„{(Diβˆ’Ti)UiΓ—min⁑(vi,hk)}+Ccarry-inhkβˆ’βˆ‘Ο„iβˆˆΟ„UiΓ—min⁑(vi,hk)(28)\Delta k \leq \frac{h_{k} C_{k} - \sum_{\tau_{i} \in \tau} \left\{ (D_{i} - T_{i}) U_{i} \times \min(v_{i}, h_{k}) \right\} + C_{\text{carry-in}}}{h_{k} - \sum_{\tau_{i} \in \tau} U_{i} \times \min(v_{i}, h_{k})} \tag{28}

Proof

I1(Ο„i)≀hbf(Ο„i,Ξ”k)Γ—min⁑(vi,hk)≀(Ξ”kβˆ’Di+Ti)Γ—UiΓ—min⁑(vi,hk).I_{1}(\tau_{i}) \leq \text{hbf}(\tau_{i}, \Delta_{k}) \times \min(v_{i}, h_{k}) \leq (\Delta_{k} - D_{i} + T_{i}) \times U_{i} \times \min(v_{i}, h_{k}).

λ˜ν•œ carrycarry-inin은 μ΅œλŒ€ CiC_iμ΄λ―€λ‘œ, λ‹€μŒ λ˜ν•œ μœ λ„ν•  수 μžˆλ‹€.

I2(Ο„i)≀I1(Ο„i)+CiΓ—min⁑(vi,hk).I_{2}(\tau_{i}) \leq I_{1}(\tau_{i}) + C_{i} \times \min(v_{i}, h_{k}).

쑰건 (27)(27)을 μœ„λ°˜μ‹œν‚€λ©΄ μ•„λž˜μ™€ 같이 μ •λ¦¬λœλ‹€.

βˆ‘Ο„iβˆˆΟ„hbf(Ο„i,Ξ”k)Γ—min⁑(vi,hk)+Ccarry-in>wkΓ—hkβ‡’βˆ‘Ο„iβˆˆΟ„{(Ξ”kβˆ’Di+Ti)Γ—UiΓ—min⁑(vi,hk)}+Ccarry-in>(Ξ”kβˆ’Ck)Γ—hkβ‡’Ξ”k≀hkCkβˆ’βˆ‘Ο„iβˆˆΟ„{(Diβˆ’Ti)UiΓ—min⁑(vi,hk)}+Ccarry-inhkβˆ’βˆ‘Ο„iβˆˆΟ„UiΓ—min⁑(vi,hk)\begin{aligned} &\sum_{\tau_i \in \tau} \text{hbf}( \tau_i , \Delta_k ) \times \min( v_i , h_k ) + C_{\text{carry-in}} > w_k \times h_k \\ \Rightarrow &\sum_{\tau_i \in \tau} \{ ( \Delta_k - D_i + T_i ) \times U_i \times \min( v_i , h_k ) \} + C_{\text{carry-in}} > ( \Delta_k - C_k ) \times h_k \\ \Rightarrow &\Delta_k \leq \frac{h_k C_k - \sum_{\tau_i \in \tau} \{ ( D_i - T_i ) U_i \times \min( v_i , h_k ) \} + C_{\text{carry-in}}}{h_k - \sum_{\tau_i \in \tau} U_i \times \min( v_i , h_k )} \end{aligned}

β– \blacksquare

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

0개의 λŒ“κΈ€