Resource constrained mobile devices need to leverage computation on nearby servers to run computation-intensive applications, such as image/video processing and 3D games. Key questions that impact the performance include when and what computation to offload and how to structure the parallelism across the mobile device and server. Previous studies suggested approaches to finding out which computation to offload and to constructing the parallelism architecture. However, they did not pay much attention to offloading decision-making. Mobile environments are dynamically changing due to user mobility, and it is critical to the performance of computation offloading.
This paper aims to develop dynamic computation offloadig decision-making policies taking dynamically changing mobile environments into account, and measure the performance of each policy based on practical data gathered from 12 Android users. Simulation experiments show proposed policies can improve the performance of smartphones and energy consumption.
리소스가 제한된 모바일폰은 이미지 프로세싱, 3D 게임 등의 보다 복잡한 응용프로그램을 수행하기 위하여 다른 장치의 연산 능력을 빌려 활용해야 할 필요성이 있다. 연산 오프로딩의 형태로 다른 장치의 연산 능력을 활용한다고 할 때 그 성능에 큰 영향을 끼치는 부분은 언제, 어떤 연산을 오프로딩 할 것인지, 혹은 모바일폰과 원격장치간 병렬성을 어떻게 지원할 것인지 등이 있다.
기존의 오프로딩 관련 연구들은 주로 어떤 연산을 어떻게 오프로딩 할 것인지, 혹은 어떻게 병렬성을 확보할 것인지를 고려하고 그러한 기능을 제공하는 프레임워크의 구현에 초점을 맞추었다. 하지만 앞선 연구들은 모바일 폰의 환경이 일정하다는 가정을 사용하였기 때문에, 오프로딩 결정에 있어 모바일폰의 환경 변화에 대한 고려가 부족하였다. 특히 사용자의 높은 이동성에 의한 모바일폰의 급격한 환경변화를 고려하지 않았으나, 이러한 모바일 폰의 환경 변화는 연산 오프로딩의 성능에 큰 영향을 끼칠 수 있다. 본 연구는 사용자 이동성에 의한 모바일 폰의 환경 변화를 고려하는 동적 오프로딩 결정 정책들을 제안하고, 12명의 실제 사용자로부터 수집된 약 3700시간의 데이터를 바탕으로 각 오프로딩 결정 정책의 성능 및 에너지 소모를 측정하여 최적의 오프로딩 결정을 내리기 위해 필요한 요소들에 대하여 살펴보았다.
시뮬레이션 실험을 통해 본 연구에서 살펴본 오프로딩 결정 기법을 사용하여 연산 성능을 향상시키고 에너지 소모를 감소시킬 수 있음을 보였다.