DOI QR코드

DOI QR Code

A Trace-based Precompile Method for Improving the Response Times of Android Applications

안드로이드 응용의 응답 시간 향상을 위한 트레이스 기반 프리컴파일 기법

  • 홍성길 (숭실대학교 정보통신공학과) ;
  • 김강희 (숭실대학교 정보통신전자공학부)
  • Received : 2013.03.26
  • Accepted : 2013.05.06
  • Published : 2013.06.30

Abstract

Recently, to improve the user response times of Android applications, several studies have been proposed to combine the idea of Ahead-of-Time compilation into Dalvik virtual machine, which uses Just-in-Time compilation. The studies, however, require modifications of the Dalvik executables of target applications, thus are difficult to be adopted for legacy applications already deployed. This paper proposes a JITwP(JIT with Precompile) technique that precompiles hot traces at application launch time with no modification of the Dalvik executable. It improves the user response times of target applications by providing precompile hints prepared offline. Our experimental results demonstrate a 4% improvement in terms of execution time for the Web browser application.

최근에 안드로이드 응용의 사용자 응답 시간을 향상시키기 위해 JIT 컴파일 방법을 사용하는 달빅 가상 머신에 AOT 컴파일 아이디어를 적용하는 방법들이 제안되었다. 그러나 기존 방법들은 DEX(Dalvik Executable)라는 달빅 실행 파일의 구조를 변경해야 하기 때문에, 이미 시장에 배포된 안드로이드 응용들을 대상으로 적용하기 어렵다. 본 논문은 DEX 실행 파일의 구조 변경 없이 달빅 가상 머신에서 핫 트레이스를 미리 컴파일하는 JITwP(JIT with Precompile) 기법을 제안한다. JITwP 기법은 달빅 가상 머신에 프리컴파일 힌트를 제공하여 타겟 응용의 응답 시간을 개선한다. 성능 평가 결과, 웹 브라우저 응용에 대해서 약 4%의 실행 시간을 단축하는 결과를 얻었다.

Keywords

References

  1. Guillermo A. Perez, Chung-Min Kao, Yeh-Ching Chung, Wei-Chung Hsu, "A hybrid just-in-time compiler for android: comparing jit types and the result of cooperation," in Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems, Finland, 2012, pp.41-50.
  2. Yeong-Kyu Lim, Parambil, S., Cheong-Ghil Kim, See-Hyung Lee, "A selective ahead-of-Time compiler on android device," in Proceedings of the Information Science and Applications (ICISA), 2012 International Conference, Brazil, 2012, pp.1-6.
  3. Chih-Sheng Wang, Perez, G.A., Yeh-Ching Chung, Wei- Chung Hsu, Wei-Kuan Shih, Hong-Rong Hsu, "A method-based ahead-of-time compiler for android applications," in Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems, Taiwan, 2011, pp.15-24.
  4. Yao-Chih Huang, Yu-Sheng Chen, Wuu Yang, Shann, J.J.-J., "File-based sharing for dynamically compiled code on dalvik virtual machine," in Proceedings of the Computer Symposium (ICS), 2010 International ,Taiwan, 2010, pp.489-494.
  5. Google Traceview profiling tool. [Internet] http://developer.android.com/
  6. Hiroshi Inoue, Hiroshige Hayashizaki, Peng Wu, Toshio Nakatani, "Adaptive multi-level compilation in a trace-based java jit compiler", in Proceedings of the OOPSLA '12 in Proceedings of the ACM international conference on Object oriented programming systems languages and applications, US, 2012, pp.179-194.
  7. Chandra Krintz, Brad Calder "Using annotations to reduce dynamic optimization time", in Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, U.S, 2001, pp.156-167.
  8. Duhee Lee, Chang-Gun Lee, Kanghee Kim, Eun Yong Ha, "Real-time program execution on nand flash memory for portable media players", in Proceedings of the Real-Time Systems Symposium, Spain, 2008, pp244-255.
  9. Hardkernel Inc. ODROID-A. [Internet] http://www.hard kernel.com
  10. C. A. Lattner(2002). LLVM: An infrastructure for multi-stage optimization. Technical report. [Internet] http://llvm.org/pubs/2002-12-LattnerMSThesis.html
  11. Monkey [Internet] http://developer.android.com/tools/help/monkey.html