티스토리 뷰
Improved schedulability analysis of EDF on multiprocessor platforms
LeoBehindK 2025. 5. 12. 22:37느낀점
- 기존의 GFB와 BAK 테스트가 완벽하지 않다는 점을 실제 반례와 함께 명확히 보여줘서 이해가 쉬웠다.
- 새로운 BCL 테스트는 수학적으로도 설득력 있고, heavy task가 있을 때 훨씬 실용적이라는 점이 인상 깊었다.
- 전체적으로 복잡한 이론을 실험과 함께 잘 설명해줘서 멀티코어 스케줄링 연구의 흐름을 배우기에 좋은 논문이었다.
Background Knowledge
본 논문을 이해하는데 필요한 여러 측면의 시각을 정리해보겠다.
- Multi Processor 하드웨어 플랫폼이 임베디드 시스템에서 널리 사용되고 있으며, 실시간 어플리케이션을 스케줄링할 때 글로벌 스케줄링 방식을 사용할 수 있다. 글로벌 스케줄링에서는 스케줄링 알고리즘이 Task를 프로세서와 동적으로 할당하며, Task는 실행 중에 다른 프로세서로 마이그레이션 할 수 있다.
- 이 논문은 글로벌 EDF 스케줄링 시스템에서 sporadic(산발적) Task의 Schedulability analysis 문제를 다루고 있다.
- 최근에 제안된 (이 논문 이전의) 두 가지 스케줄 가능성 테스트인 GFB(Goossens, Funk, Baruah) 테스트와 BAK(Baker) 테스트는 Heavy Tasks(Utilization이 높은 Task)를 포함하는 Task Set에서 성능이 좋지 않다는 것을 보여준다. 또한, 이 Task는 서로를 dominate(지배)하지 않는다는 것을 증명했다.
- 이 논문의 주요 기여 중 하나는 새로운 스케줄 가능성 테스트(BCL 테스트)를 도입하는 것이다. 이 테스트는 허용되는 Task Set의 비율을 크게 개선하며, 특히 Heavy Task를 고려할 때 효과적이다.
- BCL 테스트는 Interference 및 Workload에 대한 Upper Bound를 사용하여 도출되었다. 핵심 아이디어는 Task $\tau_k$에 대한 Task $\tau_i$의 간섭을 분석할 때, Heavy Task의 전체 Load를 과대평가하지 않도록 $(1-\lambda_k)$라는 항으로 기여를 제한하는 것이다. 여기서 $\lambda_k=C_k/D_k$는 Task $\tau_k$의 worst-case request이다. 이 $(1-\lambda_k)$항은 Heavy Task ($\lambda_k$가 높을수록 1에 가까워짐)가 다른 Task에게 줄 수 있는 간섭의 최대치를 제한하여, 총 간섭량을 보다 정확하게 예측하는데 도움을 준다.
- 실험 결과는 BCL 테스트가 Heavy Task가 있는 경우 GFB 및 BAK보다 훨씬 더 많은 Task Set를 스케줄 가능하다고 판단함을 보여준다. 반면 GFB 테스트는 Light Taks(활용률이 0.5 미만인 Task)만으로 구성된 Task Set에 대해 매우 효과적이다. BAK 테스트는 BCL보다 약간 더 나은 carry-in 추정치를 활용하지만, Heavy Task가 있는 경우 BCL만큼 효과적이지는 않다.
- 세 가지 테스트 모두 계산 복잡성이 낮기 때문에, 세 가지 테스트를 조합하여 사용하는 것이 가능하다. GFB는 Light Task set에 효과적이고, BCL은 Heavy Task에 효과적이며, BAK는 다른 두 테스트가 실패하는 매우 드믄 경우에 긍정적인 응답을 줄 수 있다. 따라서 세 테스트 중 하나라도 Task Set를 수락하면 스케줄 가능함이 보장될 수 있다. 이 조합된 테스트의 전체 복잡성은 $O(n^2)$이다.
- 하지만 제공된 모든 테스트는 시뮬레이션이라는 필요충분 조건에 비해 여전히 실제 스케줄이 가능한 Task Set 중 상당 부분을 놓치고 있다. 이는 스케줄 가능성 분석 개선을 위한 추가 연구 여지가 있음을 시사한다.
Heavy Task가 EDF Based Scheduling의 성능에 어떤 영향을 미칠 수 있을까?
1. Heavy Task의 정의 및 기존 분석의 성능 저하:
- Heavy Task는 Utilization이 0.5보다 큰 Task를 의미한다.
- 멀티 프로세서에서 Global EDF Scheduling 시스템을 위한 최근 두 가지 Scheduabillity Test인 GFB(Goossens, Funk, Baruah) 테스트와 BAK(Baker) 테스트는 Task Set에 Heavy Task가 포함될 때 성능이 좋지 않음을 보였다.
- GFB 테스트는 최대 활용률($U_max$)이 증가함에 따라 성능이 급격히 저하되는 경향이 있다. Heavy Task가 당연히 $U_max$를 높이는 요인이 된다.
- BAK 테스트는 GFB보다 $U_max$에 직접적으로 의존하지는 않지만, Heavy Task가 포함된 Task Set에서는 여전히 GFB만큼 효과적이지 못하거나, 심지어 Heavy Task가 여러 개 있는 경우에는 두 테스트 모두 거의 긍정적인 응답을 주지 못한다.
- 두 테스트(GFB와 BAK)는 서로를 지배(dominate)하지 않으며, Heavy Task가 있는 경우 Task set에 따라 한 테스트는 통과하지만 다른 테스트는 통과하지 못하는 경우가 많다.
2. BCL 테스트의 등장 및 Heavy Task 처리 개선:
- 이러한 GFB 및 BAK 테스트의 한계를 해결하기 위해 새로운 스케줄 가능성 테스트인 BCL 테스트가 제안되었다.
- BCL 테스트의 주요 기여 중 하나는 Heavy Task를 포함하는 Task Set에서 허용되는 Task Set의 비율을 크게 개선한다는 것이다.
- BCL 테스트는 Task $\tau_k$에 대한 다른 Task $\tau_i$의 Interference을 분석할 때, 특히 Heavy Task의 Interference 기여분을 과대평가하지 않도록 제한하는 아이디어를 사용한다. 이는 Interference Upper Bound을 도출하는 과정에서 $(1-\lambda_k)$라는 항 $(\lambda_k=C_k/D_k)$을 통해 이루어진다. Heavy Task(높은 활용률)의 경우 $\lambda_k$값이 높아져 $(1-\lambda_k)$항이 작아지므로, 해당 Task가 다른 Task에게 줄 수 있는 최대 간섭량을 보다 정확하게 제한할 수 있었다.
- 실험 결과에 따르면, BCL 테스트는 Heavy Task가 있는 경우 GFB 및 BAK 테스트보다 훨씬 더 많은 Task Set를 스케줄 가능하다고 판단한다. 특히 Heavy Task의 수가 증가할 수록 이러한 차이는 두드러진다.
- 반면, Heavy Task없이 Light Tasks만으로는 구성된 Task Set의 경우, GFB 테스트가 가장 효과적이며 BCL 테스트는 상대적으로 성능이 떨어진다.
3. 정리
- 요약하면, 멀티 프로세서 EDF 스케줄링 분석에서 Heavy Task는 기존의 GFB 및 BAK 테스트의 효율성을 크게 떨어뜨리는 요인이다.
- 제안된 BCL 테스트는 Heavy Task가 포함된 Task Set의 스케줄 가능성을 더 효과적으로 판별하기 위해 개발되었으며, 실험적으로 우수한 성능을 보인다. 이는 Heavy Task의 간섭 기여분을 더 정밀하게 제한되는 분석 기법때문이다
Problem Statement
멀티프로세서 시스템에서 global EDF(Earliest Deadline First) 알고리즘을 사용할 경우, 주어진 Task Set의 Schedulability를 판단하는 것이 어렵다.
기존의 제안된 두 가지 테스트, 즉 GFB(Goossens, Funk, Baruah)와 BAK(Baker) 테스트는 다음의 문제점이 있다:
- Heavy task(utilization > 0.5)가 포함된 경우 매우 비효율적이다.
- 두 테스트 모두 서로를 완전히 대체하지 못한다.
따라서 이 논문은:
- 기존 테스트의 한계를 증명하고,
- 보다 강력한 새 Schedulability test(BCL)을 제안한다.
Contribution
- 상호 비교: 기존 GFB와 BAK 테스트가 서로 우월하지 않다는 점을 이론적 반례와 실험적 결과를 통해 증명
- 새로운 분석 방법(BCL):
- 특히 Heavy Task가 포함된 경우, Schedulability 분석 정확도를 현저히 향상
- Theorem 7을 기반으로 한 새로운 Upper Bound 테스트 도출
- 실험:
- 다양한 구성(Task 수, Processor 수, Heavy/ Light Task 비율)에 대해 실험 수행
- GFB, BAK 대비 BCL이 더 많은 Task Set을 Schedulable로 판정
- 기존의 2개의 EDF(Early Deadline First) 기반 Test인 GFB(Goossens, Funk, Baruah) 및 BAK(Baker) Test를 비교
- GFB와 BAK는 상호 보완적이며, 어느 하나가 항상 더 우수한 것이 아님을 증명
- 새로운 스케줄러 Test 제안 (BCL - Bertogna, Cirinei, Lipari, 저자들의 이름이다)
- 특히 heavy task(과도한 계산량을 요구하는 작업)를 포함한 경우, 기존 GFB 및 BAK 테스트보다 더 많은 Task Set을 스케줄할 수 있음을 증명
- 이 Test는 총 간섭(interference) 개념을 기반으로 하며, Test 계산식이 더욱 타이트하게 조정되었다.
- 광범위한 실험을 통해서 효과 검증
- 다양한 조건(Processor 수, Task 수, light, heavy Task 비율 등)에서 수천 개의 Task Set을 실험하여 BCL Test 성능 우위를 입증
Key Ideas
- Global EDF는 optimal하지 않다, 하지만 이론적으로 분석 가치가 있다.
- GFB Test: 전체 utilization을 기준으로 한 간단한 불평등식 사용
- BAK Test: 각 Task에 대해 Interference 기반으로 조건을 도출
- BCL Test(신규 제안): $D_k - C_k$ 만큼만 Interference로 고려함으로써 Overestimation 방지 -> 특히 Heavy Task에 효과적
Mathematical View
GFB Test
Theorem 4 (GFB):
$$\sum_{i=1}^{n}\lambda_i\leq (1-\lambda_{max})+\lambda_{max}$$
- $\lambda_i=C_i/D_i$
- $m: number\,\, of\,\, processor$
- 증명 요지: uniform multiprocessor에서의 feasibility 조건과 EDF의 equivalence를 활용
BAK Test
Theorem 5 (BAK):
$$\sum_{i=1}^{n}min(1,beta_i)\leq m(1-\lambda_k)+\lambda_k\,\,\,\forall\tau_k $$
$$\beta_i=\begin{Bmatrix}
U_i(1+\frac{T_i-D_i}{D_k})\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\lambda_k \geq U_i \\U_i(1+\frac{T_i-D_i}{D_k})+\frac{C_i-\lambda_kT_i}{D_k}\,\,\,\,\,\lambda_k < U_i
\end{Bmatrix}$$
- $\lambda_k=C_k/D_k$
- 아이디어: 각 Job의 Busy Window에 대한 최대 Load Upper Bound 유도
BCL Test (Main Contribution)
Lemma 2:
$$I_{i,k}(a,b) \leq W_i(a,b) \leq b-a$$
- Interference는 해당 interval 내 workload를 초과할 수 없다.
증명
- 정의상, $W_i(a,b)$는 Interval [a,b] 내 Task $\tau_i$의 실행 요구랑 (Demand + Carry-in)이다.
- $I_{i,k}(a,b)$는 $\tau_i$가 $\tau_k$를 block하는 시간의 총합으로, $\tau_i$가 실행 중이면서 $\tau_k$가 Ready 상태일 때 발생한다.
- 이 때 $\tau_i$의 실행 시간을 넘을 수 없으므로:
$$ I_{i,k}(a,b) \leq = W_i(a,b) $$
- 또한 Task는 Interval 길이 이상을 실행할 수 없으므로:
$$ W_i(a,b) \leq b-a $$
Lemma 3:
$$I_k(a,b)=\frac{1}{m}\sum_{i\neq k}^{}I_{i,k}(a,b)$$
- m-processor에서, ready but not scheduled일 때 m개의 processor는 다른 Task 실행 중
증명
- EDF는 Work-Conserving이므로, $\tau_k$가 Ready인데 실행되지 않는 순간에는 m개의 프로세서가 모두 다른 Task들을 실행 중이어야 한다.
- 즉 $\tau_k$가 block당한 전체 시간 $I_k(a,b)$동안 m개 processor가 모두 $\tau_k$ 외의 다른 Task를 실행함
- 따라서 이 시간동안 각 $\tau_i$가 $\tau_k$를 block한 시간 $I_{i,k}$의 합은 $m \times I_k$이고:
$$\sum_{i\neq k}^{}I_{i,k}(a,b)=m\cdot I_k(a,b)\Rightarrow I_k(a,b)=\frac{1}{m}\sum_{i\neq k}^{}I_{i,k}(a,b)$$
Lemma 4:
$$I_k(a,b)\geq x\Leftrightarrow \sum_{i}^{}min(I_{i,k}(a,b),x)\geq mx$$
증명
$\Rightarrow $ 방향:
- 가정: $I_k(a,b)\geq x$
- 정의: $I_k(a,b)=\frac{1}{m}\sum I_{i,k}(a,b)$
- 목표:
$$\sum min(I_{i,k},x)\geq mx$$
- 이 때 일부 Task는 $I_{i,k} > x$, 일부는 $ \leq x$일 수 있으므로 다음과 같이 분리:
- Let $A=\{i | I_{i,k} \geq x\}$ -> 이들에 대해 $min(I_{i,k},x)=x$
- 나머지 $i$들을 그대로 $I_{i,k}$로 계산됨
- 그러면:
$$\sum min(I_{i,k},x)=|A|\cdot x + \sum_{i\notin A}^{}I_{i,k}=m\cdot I_k-\sum_{i\in A}^{}(I_{i,k}-x)\geq m \cdot x$$
$\Leftarrow$ 방향:
- 가정: $\sum min(I_{i,k},x)\geq mx$
- 정의대로:
$$I_k=\frac{1}{m}\sum I_{i,k}\geq \frac{1}{m}\sum min(I_{i,k},x)\geq x$$
Theorem 6:
Schedulability Condition:
Task $\tau_k$가 Schedulable 하기 위한 필요충분조건:
- $\sum_{i\neq k}^{}min(I_{i,k}^{*}, D_k-C_k)< m(D_k-C_k)$
- $\sum_{i\neq k}^{}min(I_{i,k}^{*}, D_k-C_k)= m(D_k-C_k)\,\,and\,\, \exists h\neq k:0<I_{h,k}^{*}\leq D_k-C_k $
Lemma 5 (Carry-in 상계):
$$\varepsilon_i \leq min(C_i,(D_k-N_iT_i)_{0})$$
- $N_i=\left \lfloor \frac{D_k-D_i}{T_i}\right \rfloor + 1$
증명
- Task $\tau_i$가 $[r_k^j, d_k^j]$ interval에 들어올 수 있는 Job 수 $\, N_i$
- 그 외, Carry-in job이 하나 더 존재 가능 -> 해당 Job의 실행 시간 = $\varepsilon_i$
- 최대값은 $C_i$, 혹은 남은 시간 $(D_k-N_iT_i)$ 중 작은 값
Theorem 7(최종 Schedullability 조건):
$$\sum_{i\neq k}^{}min(\beta_i,1-\lambda_k)< m(1-\lambda_k)$$
또는
$$=m(1-\lambda_k)\,\,and\,\,\exists i\neq k:0<\beta_i\leq 1-\lambda_k$$
여기서,
$$\beta_i=\frac{NiCi+\varepsilon_i}{D_k}$$
- $\lambda_k=C_k/D_k$
- $N_i$: 해당 Window 내 $\tau_i$의 Job 수
- 핵심 기여: interference의 상계를 보수적으로 조정하여 Overestimation을 방지함
증명
- Theorem 6의 Interference 조건을 Load 형태로 치환
- Workload $W_i=N_iC_i+\varepsilon_i$ -> 이를 $D_k$로 나누면 단위 시간 당 $Load=\beta_i$
- Interference 상한인 $D_k-C_k$는 $\lambda_k=C_k/D_k$로 표현 가능 -> $Slack = 1 - \lambda_k$
-> interference 총합이 $m(1-\lambda_k)$보다 작거나 같고, 그 중 적어도 하나는 완전히 차지하지 않으면 Schedulable
결론 및 의의
- BCL 테스트는 기존보다 더 현실적인 Schedulability 분석 도구
- GFB는 Light Task에 효과적, BCL은 Heavy Task에 효과적
- 제안된 BCL은 $O(n^2)$ 복잡도로 online admission control에서도 사용 가능
- 추후 연구 방향: Busy-window 기반 Carry-in 추정 개선
Ref
[1] M. Bertogna, M. Cirinei, and G. Lipari, “Improved schedulability analysis of EDF on multiprocessor platforms,” in Proc. 17th Euromicro Conf. Real-Time Systems (ECRTS), Palma de Mallorca, Spain, Jul. 2005, pp. 209–218, doi: 10.1109/ECRTS.2005.25.
'Study > 논문 리뷰' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 토플 라이팅
- 확률
- it
- 임베디드
- GeorgiaTech
- 암호화폐
- TOEFL
- backtrader
- toefl writing
- realtimesystem
- probability
- 실시간시스템
- 블록체인
- 퀀트
- AWS
- Cloud
- 클라우드
- 아마존 웹 서비스
- python
- 자동차sw
- AUTOSAR
- 파이썬
- 자동매매
- 오토사
- 개발자
- 토플
- 백트레이더
- can
- 비트코인
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |