Abstract
One of the fundamental requirements of entertainment applications is interactivity with users. The mobile device such as the smartphone, however, does not guarantee it due to the limit of the application processor's computing power, memory size and available electric power of the battery. This paper proposes a methodology to boost responsiveness of interactive applications by taking advantage of the parallel architecture of mobile devices which, for instance, have dual-core, quad-core or octa-core. To harness the multi-core architecture, it exploits the POSIX thread, a platform-independent thread library to be able to be used in various mobile platforms such as Android, iOS, etc. As a useful application example of the methodology, a heavy matrix calculation function was transformed to a parallelized version which showed around 2.5 ~ 3 times faster than the original version in a real-world usage environment.
스마트폰과 같은 이동형 장치들은 계산 성능이나 메모리 크기, 배터리 전력량 등의 한계로 인해 엔터테인먼트 애플리케이션이 요구하는 상호작용성을 보장하기 어렵다. 이를 해결하기 위해 본 논문에서는 상호작용이 필수적인 애플리케이션의 응답 속도를 개선할 수 있는 코드 수준 병렬화 방법론을 제안한다. 이 방법을 적용하면, 스마트폰 등에서 제공하는 멀티코어 아키텍쳐를 바탕으로 기존 애플리케이션의 모노코어 알고리즘을 복잡한 재설계 없이 코드 수준에서 병렬화 할 수 있다. 특히 플랫폼 독립적인 표준 쓰레드 라이브러리인 POSIX 쓰레드를 활용하면 안드로이드나 iOS등의 다양한 스마트폰 플랫폼에서 본 방법론을 적용할 수 있다. 이의 효과적인 응용 사례로서 수백만개의 원소를 처리하는 행렬 연산 함수를 병렬화 해보았고 실사용 환경에서 약 3배가량의 성능 향상을 확인하였다.