안드로이드 응용의 응답 시간 향상을 위한 트레이스 기반 프리컴파일 기법
A Trace-based Precompile Method for Improving the Response Times of Android Applications
0
조회
0
다운로드
1
인용
0
참고문헌
키워드
초록
최근에 안드로이드 응용의 사용자 응답 시간을 향상시키기 위해 JIT 컴파일 방법을 사용하는 달빅 가상 머신에 AOT 컴파일 아이디어를 적용하는 방법들이 제안되었다. 그러나 기존 방법들은 DEX(Dalvik Executable)라는 달빅 실행 파일의 구조를 변경해야 하기 때문에, 이미 시장에배포된 안드로이드 응용들을 대상으로 적용하기 어렵다. 본 논문은 DEX 실행 파일의 구조 변경 없이 달빅 가상 머신에서 핫 트레이스를 미리 컴파일하는 JITwP(JIT with Precompile) 기법을 제안한다. JITwP 기법은 달빅 가상 머신에 프리컴파일 힌트를 제공하여 타겟 응용의 응답 시간을 개선한다. 성능 평가 결과, 웹 브라우저 응용에 대해서 약 4%의 실행 시간을 단축하는 결과를 얻었다.
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.
참고문헌 (11)
- Guillermo A. Perez, "A hybrid just-in-time compiler for android: comparing jit types and the result of cooperation", Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems, pp.41~50 (2012)
- Yeong-Kyu Lim, "A selective ahead-of-Time compiler on android device", Proceedings of the Information Science and Applications (ICISA), 2012 International Conference, pp.1~6 (2012)
- Chih-Sheng Wang, "A method-based ahead-of-time compiler for android applications", Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems, pp.15~24 (2011)
- Yao-Chih Huang, "File-based sharing for dynamically compiled code on dalvik virtual machine", Proceedings of the Computer Symposium (ICS), 2010 International, pp.489~494 (2010)
- "Google Traceview profiling tool"[URL]
- Hiroshi Inoue, "Adaptive multi-level compilation in a trace-based java jit compiler", Proceedings of the OOPSLA '12 in Proceedings of the ACM international conference on Object oriented programming systems languages and applications, pp.179~194 (2012)
- Chandra Krintz, "Using annotations to reduce dynamic optimization time", Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, pp.156~167 (2001)
- Duhee Lee, "Real-time program execution on nand flash memory for portable media players", Proceedings of the Real-Time Systems Symposium, pp.244~255 (2008)
- "ODROID-A"[URL]
- "LLVM: An infrastructure for multi-stage optimization. Technical report"[URL]
- "Monkey"[URL]
