Improvement of Linux Schedulability Analysis for Simultaneous Support of Real-Time Task Groups and Deadline Task
Yin-goo Yim, Hyun‐Wook Jin, Sang-Hun Lee · 정보과학회 컴퓨팅의 실제 논문지 · 2017
리눅스는 범용 운영체제로써 다양한 스케줄러를 지원하며, 서로 다른 스케줄러가 런타임 시에 혼재하는 상황을 허용한다. 또한, 리눅스는 Control Group(cgroup)을 활용하여 데드라인 스케줄러(SCHED_DEADLINE)를 제외한 실시간(SCHED_FIFO, SCHED_RR) 및 비실시간(SCHED_NORMAL) 스케줄러 정책을 따르는 태스크들에 대해서 그룹 단위의 CPU 자원 예약을 지원한다. cgroup은 스케줄링 가능성 분석을 수행하여 예약된 CPU 자원을 최대한 보장하려고 한다. 하지만 현재 리눅스의 실시간 태스크 그룹에 대한 스케줄링 가능성 분석은 데드라인 태스크와 실시간 태스크를 구분하지 못하는 문제에 의해서 두 스케줄러를 사용하는 태스크가 혼재할 때 실시간 태스크 그룹의 자원예약을 거부하는 경우가 발생한다. 본 논문은 리눅스 cgroup의 실시간 태스크 그룹에 대한 스케줄링 가능성 분석에서 발생하는 문제를 분석하고, 이를 해결하는 커널 패치를 제안한다.