As the number of processors in a chip increases, the power consumption of processors became a primary concern in embedded system design. The voltage scaling method is widely recognized as a means of reducing power consumption of the processor and it has been studied throughout many researches. In multiprocessor environment, there are two types of time-slacks which can be utilized by voltage scaling. The first type of timeslack is caused by the dependency among multiple tasks running on different processors. The second type of slack comes from the variation of execution cycles of the task. In this paper, we propose the novel intra-task voltage scaling method called n-th critical path algorithm(NCPA) which can utilize both types of time-slacks by adopting on-line approach which determines the performance level of the processor at run-time with minimal overhead. Our experiment shows that proposed algorithm achieves 28% of energy reduction over conventional method when applied to a commercial multimedia application.
하나의 칩 안에 여러 개의 프로세서를 탑재한 CMP(Chip Multi-Processor)는 높은 복잡도의 연산을 요구하는 최근의 임베디드 시스템에서의 핵심 요소로 자리 잡고 있다. 하지만 다수의 프로세서가 칩에서 차지하는 전력소모가 늘어나게 됨에따라, 프로세서의 전력소모를 줄이는 것이 고성능 임베디드 시스템 설계의 필수적인 요소가 되었다. Dynamic Voltage Scaling(DVS) 과 Adaptive Body Biasing (ABB) 라는 두 전압 스케일링을 함께 적용하는 방법은 Dynamic Power와 Leakage Power를 동시에 줄임으로써, 프로세서의 에너지 소모를 효과적으로 줄일 수 있는 방법으로 널리 알려져 있다. 이러한 전압 스케일링 방법은 그 정밀도에 따라 inter-task 전압 스케일링과 intra-task 전압스케일링으로 나누어진다. intra-task 전압 스케일링은 하나의 태스크 안에서 태스크 블럭 단위로 여러번 전압 레벨을 변환함으로써, inter-task 스케일링 기법보다 더 큰 에너지 감소를 얻을 수 있다.
본 논문에서는 멀티프로세서 환경에서 생기는 두가지의 time-slack을 효과적으로 활용함으로써, 프로세서의 에너지 소모를 최소화 하는 intra-task 전압 스케일링 방법을 제안한다. 우선 첫번째의 time-slack은 다수의 프로세서에서 실행되는 여러 태스크 블렁들간에 의존성에 의해서 생긴다. 그리고 두번째 time-slack은 실제 실행 싸이클이 최악의 경우의 실행 싸이클 수보다 적을때에 나타난다. 이러한 두 가지 time-slack을 활용하기 위해서는 각 태스크 블럭의 동작 주파수를 런타임에 정해 주어야만 한다. 이러한 과정에서 가장 중요한 것은 런타임에서의 오버헤드를 최소화 하면서 각각의 슬랙을 최대한으로 할용할 수 있도록 알고리즘을 구현하는 것이다. 이러한 목적을 달성하기 위해서 본 논문은 n-th critical path algorithm(NCPA) 을 제안한다. 이 방법은 path-based 방법으로 첫번째 슬랙을 활용하고, 평균 실행싸이클 기반의 남은 싸이클 예측 기법으로 두 가지의 슬랙을 유용하게 활용함으로써, 뛰어난 에너지 감소 효과를 나타낸다.
이러한 NCPA의 효용성은 세가지의 단계를 거쳐서 검증하였다. 첫번째, 간단한 태스크 그래프를 만들고, 각각의 슬랙을 독립변수로 놓음으로써, 제안한 알고리즘의 각 슬랙 활용여부와 그 효과를 실험하였다. 두번째는 일반적이고 복잡한 태스크 그래프를 랜덤하게 생성시켜서, 제안한 방법의 효용서을 증명하였다. 그리고 마지막으로 실제 상용 멀티미디어 어플리케이션인 H.264 영상 디코더 소프트 웨어를 이용하여서, 제안한 알고리즘을 실제 상용 어플리케이션에도 적용하였다 그 결과, 기존의 가장 뛰어난 전압 스케일링 방법보다 최고 28%의 에너지 감소를 가져 오는 것을 확인할 수 있었다.