PAStime 진행 상황 인식 스케줄링을 통한 시간 임계 컴퓨팅 개선

읽는 시간: 4 분
...

📝 원문 정보

- Title: PAStime Progress-aware Scheduling for Time-critical Computing
- ArXiv ID: 1908.06211
- 발행일: 2021-06-01
- 저자: Soham Sinha and Richard West and Ahmad Golchin

📝 초록

실시간 작업의 최악 실행 시간(WCET) 과대 추정은 자원 활용도가 떨어지게 한다. 혼합 중요도 시스템(MCS)에서 매우 중요한 작업들의 WCET를 수용하기 위해 CPU 시간이 과제공되면 덜 중요한 작업들에게 서비스 품질이 저하될 가능성이 있다. 본 논문에서는 PAStime이라는 새로운 접근 방식을 제시한다. 이는 시간에 민감한 응용 프로그램의 실행 진행 상황을 모니터링하고 조정하여 덜 중요한 작업들에 대한 서비스 품질을 개선하는 방법이다. PAStime은 작업들이 컨트롤 플로우 그래프를 통해 진행됨에 따라 경험하는 지연 시간에 따라 CPU 시간을 할당한다. 이를 통해 고 중요도 작업들의 지연을 보상하면서 덜 중요한 작업들에 가능한 한 많은 시간이 제공될 수 있다. 본 논문에서는 PAStime과 적응형 혼합 중요도(AMC) 스케줄링을 통합하였다. 고 중요도 작업의 LO 모드 예산은 실행 체크포인트에서 관찰된 지연 시간에 따라 조정된다. LITMUS-RT 프레임워크를 확장하여 우리의 PAStime 런타임 정책을 구현하고 객체 분류 및 탐지와 같은 실시간 Linux 응용 프로그램으로 테스트하였다. 실험 평가에서 AMC-PAStime은 고 중요도 작업의 서비스를 보장하면서 덜 중요한 작업들의 활용도를 크게 개선한다는 것을 확인하였다.

💡 논문 해설

**핵심 요약**: 본 논문에서는 PAStime이라는 새로운 스케줄링 방법을 제시한다. 이 방법은 시간에 민감한 작업들이 컨트롤 플로우 그래프를 통해 진행되는 동안 경험하는 지연 시간을 모니터링하고 이를 기반으로 CPU 시간을 조정하여 덜 중요한 작업들의 서비스 품질을 개선하도록 설계되었다.

문제 제기: 실시간 시스템에서는 각 작업의 최악 실행 시간(WCET)을 예측하고 이에 따라 자원을 할당하는데, 이러한 과대 추정은 자원 활용도를 떨어뜨린다. 특히 혼합 중요도 시스템에서는 고 중요도 작업들을 위해 CPU 시간이 과제공되면 덜 중요한 작업들에게 서비스 품질이 저하될 수 있다.

해결 방안 (핵심 기술): PAStime은 작업들이 컨트롤 플로우 그래프를 통해 진행되는 동안 경험하는 지연 시간을 모니터링한다. 이를 바탕으로 고 중요도 작업의 LO 모드 예산을 조정하여 덜 중요한 작업들에게 가능한 한 많은 CPU 시간이 할당될 수 있도록 한다. 예를 들어, 작업이 체크포인트에 도달하는데 실제 시간이 예상보다 더 걸렸다면 이 지연 시간은 추후 실행 시간 예측에 반영되어 고 중요도 작업의 LO 모드 예산을 조정한다.

주요 성과: 실험 결과 AMC-PAStime은 고 중요도 작업들의 서비스를 보장하면서 덜 중요한 작업들의 CPU 활용도를 크게 개선할 수 있음을 확인하였다. 특히, 덜 중요한 작업들이 더 많은 프레임을 디코딩하고 더 높은 평균 활용도를 얻을 수 있었다.

의의 및 활용: PAStime은 혼합 중요도 시스템에서 고 중요도 작업들의 지연 시간을 보상하면서 덜 중요한 작업들에게 가능한 한 많은 자원이 할당될 수 있도록 스케줄링 방법론을 개선한다. 이는 실시간 컴퓨팅뿐만 아니라 클라우드 컴퓨팅 등 다양한 분야에서의 활용 가능성에 대해 탐색할 수 있는 새로운 기회를 제공한다.

📄 논문 발췌 (ArXiv Source)

## 서론 컴파일러 인프라스트럭처인 LLVM은 프로그램의 컨트롤 플로우 그래프(CFG)를 생성할 수 있다. CFG는 여러 기본 블록(BBs) 간의 연결을 나타내며, 각 블록은 내부에서 분기 없이 직선 코드의 시퀀스이다. 그러나 OS는 프로그램 실행 중 특정 지점에서의 컴퓨팅 요구사항(예: CPU 활용도)에 대해 무지한 상태로 CFG를 관리하지 않는다. 대신, 개발자는 소스 코드의 특정 위치에서 프로그램에 대한 런타임 정보를 제공함으로써 OS의 자원 관리 관련 결정을 돕는다.

방법론

실행 예산 동적 결정

은 프로그램의 실행 진행 상황과 특정 체크포인트에서 허용되는 지연 시간에 대한 이론 분석을 기반으로 런타임 실행 예산을 동적으로 결정한다. 런타임 시, 작업이 시작된 후 체크포인트까지 도달하는데 걸린 CPU 시간을 측정하고 이를 사전 프로파일링된 참조 값과 비교한다. 이에 따라 작업의 실행 예산은 실제 진행 상황에 따라 조정된다.

[[IMG_PROTECT_1]]

예를 들어, 두 개의 루프가 있는 프로그램의 CFG는 BB2와 BB6에서 시작된다. 에서는 두 루프 사이인 BB5의 마지막에 체크포인트를 삽입한다. BB5는 체크포인트로 적합한 위치일 수 있으며, 이_BB_ 앞뒤로 하나씩 루프가 있기 때문에 이 지점까지의 지연 시간을 보상하기 위해 예산을 증가시킬 기회가 있다.

예를 들어 프로파일링을 통해 전체 프로그램의 LO-모드 예산이 2000ms라고 가정하고, 체크포인트 BB5에 도달하는 LO-모드 시간이 500ms라고 하자. 이 프로그램은 다른 작업들 존재하에서 실행된다. 체크포인트(BB5)에서의 실행 예산은 프로그램의 실제 런타임 진행 상황을 반영하도록 조정된다. 예를 들어, 프로그램이 체크포인트 BB5에 도달하는데 100ms 지연되어 600ms가 아닌 예상치인 500ms가 걸렸다고 가정하자. 따라서 프로그램은 LO-모드 진행 상황에서 20% 지연되었다고 볼 수 있다.

실험

혼합 중요도 스케줄링의 이점

AMC는 혼합 중요도 작업 집합을 위한 고정 우선순위 스케줄링 정책의 최신 기술이다. AMC에서 시스템은 먼저 LO-모드로 실행된다. LO-모드에서는 모든 작업들이 LO-모드 실행 예산으로 실행된다. 만약 고 중요도 작업이 LO-모드 예산을 초과하면, 시스템은 HI-모드로 전환된다. HI-모드에서, 모든 저 중요도 작업들은 제거되거나 실행 시간이 감소되고, 고 중요도 작업들에게는 증가된 HI-모드 예산이 부여된다.

와 AMC를 통합하여 (AMC-)를 구현한다. 이 방법은 고 중요도 작업의 LO-모드 예산을 체크포인트에서 예측한 실행 시간까지 확장시킨다.

예를 들어, [[IMG_PROTECT_1]]에서 고 중요도 작업의 LO-모드 예산을 400ms로 확장하려고 한다. 전체 작업 집합이 여전히 스케줄 가능하다면 이 확장을 승인한다. 작업은 확장된 시간까지 실행되며 시스템은 LO-모드를 유지한다. 만약 고 중요도 작업이 예측한 시간 내에 완료되지 않으면, 시스템을 HI-모드로 전환하고 저 중요도 작업들을 최종적으로 제거한다.


📊 논문 시각자료 (Figures)

Figure 1



Figure 2



Figure 3



Figure 4



Figure 5



Figure 6



Figure 7



Figure 8



Figure 9



Figure 10



Figure 11



Figure 12



Figure 13



Figure 14



Figure 15



Figure 16



Figure 17



Figure 18



Figure 19



Figure 20



Figure 21



Figure 22



Figure 23



Figure 24



Figure 25



감사의 말씀

이 글의 저작권은 연구하신 과학자분들께 있으며, 인류 문명 발전에 공헌해주신 노고에 감사를 드립니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키