Critical instant 증명

해주·2021년 3월 12일
0
post-thumbnail
post-custom-banner

앞서 포스팅했던 논문 Scheduling Algorithm for Multiprogramming in a Hard-Real-Time Environment을 읽으면서 선배와 함께 해봤던 증명을 정리한 내용이다. 사실 수식을 아직 온전히 다 옮기지 못해서 미완이다! 😅

증명 쓸 때 주의할 점

  • 읽는 사람을 생각하면서 많이 풀어서 설명하기
  • notation은 최대한 적게 쓰기

논문 읽을 때 주의할 점

  • 해결하고자 하는 문제를 무엇으로 정의했는지
  • 해당 문제를 해결하기 위해서 어떤 접근법을 사용했는지
  • 나라면 어떻게 접근했을 것 같은지 생각하면서
  • 증명할 때는 쉬운 케이스 \rightarrow general case \rightarrow corner case 확인

Theorem 1

Given a set of two tasks denoted as τ1=(T1,C1)\tau_1=(T_1, C_1) and τ2=(T2,C2)\tau_2=(T_2, C_2), where TiT_i denotes the period of the task τi\tau_i, and CiC_i denotes the worst-case exeucution time of the task τi\tau_i (1 i\le i \le 2).
Suppose that the task set is scheduled with RM (Rate-Monotonic) algorithm. If the priority of the task τ1\tau_1 is higher than the priority of the task τ2\tau_2 (i.e. T1<T2T_1<T_2), then the critical point of task τ2\tau_2 starts simultaneously with the task τ1\tau_1.

Proof

Assume there exist a time point ϵ\epsilon where amount of the preemption by the task τ1\tau_1 is larger than the point described above (simultaneously relased).
Let us suppose the amount of cumulative execution time of the task τ1\tau_1 at the time point kk as the function f(k)f(k), then f(k)f(k) can be represented as follows.
Here, ϵ\epsilon is a variation factor for τ1\tau_1 initiation time. (0α<T10 \le \alpha<T_1) τ1\tau_1 is initiated at times ϵ+kT1,k0\epsilon+kT_1 , k\ge0. ϵ\epsilon is 0 with described case.

f(ϵ)=C1T2ϵT1+min(C1,T2T1T2ϵT1ϵ)f'(\epsilon) = C_1 \lfloor\frac{T_2 - \epsilon}{T_1}\rfloor + \min(C_1, T_2-T_1\lfloor\frac{T_2 - \epsilon}{T_1}\rfloor-\epsilon)

I'll show in every case, f(0)>f(ϵ)f(0) > f(\epsilon), which means τ2\tau_2 have critical instant when initiated with τ1\tau_1.

Correctness of f(t)f(t)

위의 그림과 같이 time 0에 task τ1\tau_1τ2\tau_2가 함께 release 되었을 때 task τ2\tau_2T2T_2가 가질 수 있는 경우의 수는 3가지이다.

  1. C1C_1T2T_2가 overlap되는 상황 (주황색)

    • f(t)=C1T2T1+T2T1T2T1f(t)= C_1 \lfloor\frac{T_2}{T_1}\rfloor +T_2-T_1\lfloor\frac{T_2}{T_1}\rfloor
  2. C1C_1T2T_2 overlap되지않는 상황 (연두색)

    • f(t)=C1T2T1+C1f(t)= C_1 \lfloor\frac{T_2}{T_1}\rfloor +C_1
  3. T2T1=T2T1\lfloor \frac{T_2}{T_1} \rfloor=\frac{T_2}{T_1} , T2=kT1(kZ+)T_2=k\cdot T_1(k\in\mathbb Z^+) (파란색)
    - f(t)=C1T2T1f(t)= C_1 \lfloor\frac{T_2}{T_1}\rfloor

    • 사실 이 케이스도 1번 케이스(주황색)으로 간주할 수 있다.

    // TODO : try extending range of ϵ\epsilon to (T2,T2)(-T_2, T_2) and show \ge
    // TODO : add description of proof

profile
해주의 벨로그
post-custom-banner

0개의 댓글