As smartphones proliferate, understanding the power behaviors of smartphones and their applications has become critical to overcome their battery limitation. However, the applications running on the smartphones are commonly sensitive to user interaction, and their behaviors are different from traditional CPU benchmark applications. This paper characterizes the thread-level parallelism (TLP) and CPU usage patterns of interactive smartphone applications. The paper presents how applications exhibit different types of user interactions and how differently various interaction phases provide TLP.
Based on the analysis on the TLP and interaction phases of mobile applications, we propose an improved power management scheme using the dynamic voltage and frequency scaling mechanism available in mobile platforms. The proposed improvement uses a scheduling scheme, which identifies and prioritizes a dominant thread, which determines the perceived performance of mobile applications. Using a utility-based power model, the scheme finds the best number of active cores for energy efficiency, and either pack or unpack non-dominant threads to the most energy efficient number of active cores.
In addition to the TLP-oriented scheduling component, the scheme also controls the headroom for frequency scaling dynamically, to adapt to the user interaction phases. While maintaining the unnecessary headroom to the minimum, the proposed scheme improves the energy efficiency without any perceived performance degradation.
스마트폰이 확산됨에 따라 스마트폰과 그 애플리케이션의 전력 소모 방식에 대한 이해는 배터리
용량의 한계를 극복하는데 필수요소가 되었다. 하지만 스마트폰에서 동작하는 애플리케이션은 일반적으로 사용자의 상호 동작의 단계에 따라 다르며, 이것은 기존의 전통적인 CPU 밴치마크 애플리케이션과는 다른 특성을 보인다. 본 연구에서는 인터랙티브 애플리케이션의 수행 단계를 구분하고, CPU 사용 패턴과 쓰레드 수준의 동시성의 특징들을 분석하고, 이용률 기반의 전력 모델을 구성하였다.
분석된 내용을 기반으로, 본 연구에서는 동적 전압 및 주파수 스케일링을 이용한 개선된 전력 관리 기법을 제안하였다. 제안된 기법에서는 모바일 애플리케이션의 사용자 체감 성능에 절대적인 영향을 끼치는 ’성능 지배적 쓰레드’를 찾아 별도로 관리되도록 하였다. 또한 이용률 기반의 전력 모델을 이용하여, 멀티 코어 환경에서 최적으로 에너지 효율적인 실행 코어의 개수를 찾아내고, ’성능 지배적 쓰레드’를 제외한 다른 쓰레드를 동적으로 통합하고 분리하는 방식으로 스케줄링 되도록 하였다. 마지막으로 체감 성능의 저하 방지를 위하여 주파수 조절 시 두었던 여분의 공간을 사용자의 입력 단계에 맞추어 동적으로 조절하도록 하였다. 제안된 기법을 안드로이드 스마트폰에 구현하고, 인터랙티브 애플리케이션에 대해서 실험한 결과, 대부분의 경우 사용자의 반응성을 해치지 않고 Ondemand 정책 대비 평균 에너지는 7%, ED\textsuperscript{2}P는 17% 절감할 수 있음을 보였다.