DOI QR코드

DOI QR Code

멀티코어 기반 모바일 플랫폼을 위한 애플리케이션의 태스크 병렬화 시스템

Task Parallelism System of Application for Multicore-Based Mobile Platform

  • 임근식 (성균관대학교 정보통신대학 분산컴퓨팅 연구실) ;
  • 이세호 (성균관대학교 정보통신대학 분산컴퓨팅 연구실) ;
  • 엄영익 (성균관대학교 정보통신대학 분산컴퓨팅 연구실)
  • 투고 : 2013.03.19
  • 심사 : 2013.05.27
  • 발행 : 2013.06.30

초록

본 논문은 기존의 소프트웨어가 멀티코어기반의 모바일 디바이스를 인지할 수 있도록 태스크 병렬화 시스템(BioMP)을 제안한다. 애플리케이션 개발자가 기존의 소프트웨어에 병렬화 규약의 코드를 추가하였을 때, 제안 시스템은 호환성 뿐만 아니라 병렬 쓰레드의 수행을 지원한다. BioMP는 기존의 대용량 애플리케이션 소스코드를 단시일에 멀티코어를 인지하는 소프트웨어로 개선한다. 실험 결과, 우리의 아이디어는 쿼드 코어기반의 멀티코어 환경에서 기존의 시스템 대비 애플리케이션 실행속도를 약 64%까지 개선하였다. 또한, BioMP는 독립적인 컴포넌트이기 때문에 어떠한 플랫폼의 추가적인 수정도 필요로 하지 않는다. 그 결과, 애플리케이션 개발자는 멀티코어향 소프트웨어를 애플리케이션 스토어에 배포하였을 때, 사용자는 모바일 디바이스의 어떠한 수정도 없이 즉시 실행을 할 수 있다.

This paper proposes a task parallelism system (BioMP) to improve applications' execution time of multicore based mobile device. When application developers append the functions of parallel specification into the existing software, our proposed system supports the parallel processing of threads as well as a compatibility. BioMP improves the software in order that an existing large-scale source can recognize the multicore architecture. From our experiment, our idea improved the execution time of application until about 64% against the existing system in multicore environment based on quad core. In addition, BioMP does not require any additional modification of a mobile platform because BioMP is independent component. Consequently, when application developers release multicore-aware applications into the application store, users can immediately run without any modification of the mobile device.

키워드

참고문헌

  1. Y.-H. Chang, C.-B. Kuan, C.-Y. Lin, and T.-F. Su, "Support of software framework for embedded multi-core systems with Android environments," in Proc. 9th IEEE Symp. Embedded Syst. Real-Time Multimedia, pp. 2-8, Oct. 2011.
  2. H. Yoon, "A study on the performance of Android platform," Int. J. Comput. Sci. Eng. (IJCSE), vol. 4, no. 4, pp. 532-537, Apr. 2012.
  3. M. Cho, S. J. Hwang, H. J. Lee, M. Kim, and S. W. Kim, "AndroScope for detailed performance study of the Android platform and its applications," in Proc. IEEE Int. Conf. Consumer Electron. (IEEE ICCE), pp. 408-409, Jan. 2012.
  4. G. Lim, et al, "BioMP: Migrating OpenMP into bionic library for Android platform based on ARM multicore," In Proc. KICS Winter Conf. 2013, Yongpyoung, Korea, Jan. 2013.
  5. O. Cinar, Pro Android C++ with the NDK (Bionic API primer), Apress, Dec. 2012.
  6. Google, Bionic: a Derivation of the BSD Standard C Library, Retrieved Apr., 30, 2013, from https://android.googlesource.com.
  7. L. Dagum and R. Menon, "OpenMP: an industry standard API for shared-memory programming," IEEE Comput. Sci. Eng., vol. 5, no. 1, pp. 46-55, Jan. 1998. https://doi.org/10.1109/99.660313
  8. Y.-S. Lu, C.-H. Lee, H.-Y. Weng, and Y.-M. Huang, "Design and implementation of digital TV widget for Android on multi-core platform," in Proc. Int. Comput. Symp., pp. 576-580, Dec. 2010.
  9. A. Duran, J. M. Perez, E. Ayguade, R. M. Badia, and J. Labarta, "Extending the OpenMP tasking model to allow dependent tasks," Lecture Notes in Computer Science, vol. 5004, pp 111-122, May 2008.
  10. B. Mohr, A. D. Malony, S. Shende, and F. Wolf, "Design and prototype of a performance tool interface for OpenMP," J. Supercomput., vol. 23, no. 1, pp. 105-128, Aug. 2002. https://doi.org/10.1023/A:1015741304337
  11. E. Ayguade, N. Compty, A. Duran, J. Hoeflinger, Y. Lin, F. Massaioli, E. Su, P. Unnikrishnan, and G. Zhang, "A proposal for task parallelism in OpenMP," Lecture Notes in Computer Science, vol. 4935, pp. 1-12, Jun. 2008.
  12. A. Duran, J. Corbalan, and E. Ayguade, "Evaluation of OpenMP task scheduling strategies," Lecture Notes in Computer Science, vol. 5004, pp. 100-110, May 2008.
  13. J. Bircsak, P. Craig, R. Crowell, Z. Cvetanovic, J. Harris, C. A. Nelson, and C. D. Offner, "Extending OpenMP for NUMA machines," in Proc. ACM/IEEE Conf. Supercomput. 2000, no. 48, Nov. 2000.
  14. T. Hubbard, R. Lencevicius, E. Metz, and G. Raghavan, "Performance validation on multicore mobile devices," in Proc. Lecture Notes in Computer Science, vol. 4171, pp. 413-421, Oct. 2008.
  15. M. D. Hill and M. R. Marty, "Amdahl's law in the multicore era," IEEE Comput., vol. 41, no. 7, pp. 33-38, Jul. 2008.
  16. I. Foster, "Task parallelism and high-performance languages," IEEE Parallel Distributed Technol.: Syst. Technol. Archive, vol. 2, no. 3, pp. 27-36, Sep. 1994. https://doi.org/10.1109/M-PDT.1994.329794
  17. M. T. Heath and J. A. Etheridge, "Visualizing the performance of parallel programs," IEEE Software, vol. 8, no. 5, pp. 29-39, Sep. 1991. https://doi.org/10.1109/52.84214