Abstract
Recently, multi-core processors have been drawing significant interest from the embedded systems research and industry communities due mainly to their potential for achieving high performance and fault-tolerance at low cost in such products as automobiles and cell phones. To process multimedia data, a scheduling algorithm is required to meet timing constraints of periodic tasks in the system. Though Pfair scheduling algorithm can meet all the timing constraints while achieving 100% utilization on multi-core based system theoretically, however, the algorithm incurs high scheduling overheads including frequent core migrations and system-wide synchronizations. To mitigate the problems, we propose a real-time scheduling algorithm for multi-core based system so that system-wide scheduling is performed only when it is absolutely necessary. Otherwise the proposed algorithm performs scheduling within each core independently. The experimental results by extensive simulations show that the proposed algorithm dramatically reduces the scheduling overheads up to as negligible one when the utilization is under 80%.
멀티코어 프로세서는 멀티미디어 스트리밍에 있어서 비교적 낮은 비용에 높은 성능을 보인다는 장점 때문에 스마트폰, 스마트 TV, 셋톱박스 등 관련 산업계에서 큰 관심을 받고 있다. 멀티미디어 데이터를 처리하기 위해서는 주기적인 태스크의 시간 제약성을 만족시킬 수 있는 스케줄링 알고리즘이 필요하다. Pfair 스케줄링 알고리즘은 이론상으로 멀티코어 상에서 모든 태스크의 시간 제약성을 만족하는 동시에 100%의 이용률을 달성할 수 있지만 코어간에 태스크의 빈번한 이동이 필요하고 매 스케줄링 시점에 시스템 전역에 대한 동기화가 필요하는 등 스케줄링을 위한 오버헤드가 매우 높다. 이러한 문제점을 개선하기 위해 본 논문에서는 코어 간의 이동이 꼭 필요할 경우에만 전체 코어의 스케줄링을 수행하고 평상시에는 각 코어별로 독립적인 스케줄링을 수행하도록 하는 HPGP 스케줄러를 제안한다. 시뮬레이터를 통한 실험 결과 기존의 Pfair 알고리즘에 비해 스케줄링 오버헤드가 현격히 감소하는 것을 알 수 있으며 80% 이하의 이용률을 갖는 태스크 집합에서는 스케줄링 오버헤드가 거의 발생하지 않는 것을 확인하였다.