유효 작업부하를 이용한 Energy aware scheduler 와 DVFS 기법
전경수, 윤현민, 박평식, 유민수
Abstract
전경수, 윤현민, 박평식, 유민수
Abstract
리눅스 시스템에서 CPU 스케줄러는 에너지 소모에 대한 고려보다는 최적의 성능을 위해서 설계되었다. Linaro 는 CPU스케줄러 및 DVFS 에서 에너지 소비를 최적화 하고자 EAS(energy aware scheduler)를 제안하며 현재 개발하고 있다. EAS 는 에너지 소비를 감소시키는 기술로 에너지 소비량을 측정·예측할 수 있는 에너지 모델과 CPU 가버너를 포함하고 있다. 에너지 모델은 스케줄링 결정에 따른 각각의 경우에 에너지 소모량을 계산할 수 있으며 CPU 가버너는 스케줄링 이벤트마다 CPU 의 작업부하에 따라 동작속도를 결정한다. CPU 작업부하에서 CPU 가 메모리에 작업요청 후 대기하는 시간을 제외한 실제로 수행한 시간만을 계산하여 CPU 가버너가 동작속도를 결정할 때 불필요한 에너지 소비를 줄일 수 있다. 본 논문에서는 EAS 의 에너지 모델과 스케줄링 기법 및 CPU 가버너를 이용하고 CPU 에 가해지는 순수 작업부하인 유효 작업부하를 계산하여 이를 기준으로 GTS 를 확장한 스케줄링과 DVFS 기법을 제안한다. 그리고 제안한 스케줄링과 DVFS 기법을 Hardkernel 사의 Odroid-XU3 보드에 구현하고 CPU, GPU, 메모리 벤치마크 실험을 진행한 후 기존 리눅스시스템의 스케줄러, DVFS 와 성능 및 에너지 소비량을 비교하였다. 실험 결과 성능은 최대 1.8% 하락을 보였으며, 에너지는 최대 13.1%를 절약하는 것을 보여주었다.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
리눅스 시스템에서 CPU 스케줄러는 에너지 소모에 대한 고려보다는 최적의 성능을 위해서 설계되었다. Linaro 는 CPU스케줄러 및 DVFS 에서 에너지 소비를 최적화 하고자 EAS(energy aware scheduler)를 제안하며 현재 개발하고 있다. EAS 는 에너지 소비를 감소시키는 기술로 에너지 소비량을 측정·예측할 수 있는 에너지 모델과 CPU 가버너를 포함하고 있다. 에너지 모델은 스케줄링 결정에 따른 각각의 경우에 에너지 소모량을 계산할 수 있으며 CPU 가버너는 스케줄링 이벤트마다 CPU 의 작업부하에 따라 동작속도를 결정한다. CPU 작업부하에서 CPU 가 메모리에 작업요청 후 대기하는 시간을 제외한 실제로 수행한 시간만을 계산하여 CPU 가버너가 동작속도를 결정할 때 불필요한 에너지 소비를 줄일 수 있다. 본 논문에서는 EAS 의 에너지 모델과 스케줄링 기법 및 CPU 가버너를 이용하고 CPU 에 가해지는 순수 작업부하인 유효 작업부하를 계산하여 이를 기준으로 GTS 를 확장한 스케줄링과 DVFS 기법을 제안한다. 그리고 제안한 스케줄링과 DVFS 기법을 Hardkernel 사의 Odroid-XU3 보드에 구현하고 CPU, GPU, 메모리 벤치마크 실험을 진행한 후 기존 리눅스시스템의 스케줄러, DVFS 와 성능 및 에너지 소비량을 비교하였다. 실험 결과 성능은 최대 1.8% 하락을 보였으며, 에너지는 최대 13.1%를 절약하는 것을 보여주었다.
Key concepts: CPU shielding, Central processing unit, CPU core voltage, Computer science, Multi-core processor, Embedded system, Parallel computing, Operating system