DOI QR코드

DOI QR Code

Enhancement of Android Runtime Performance using Method Signature

Method Signature를 이용한 안드로이드 런타임 성능 향상

  • 조인휘 (한양대학교 컴퓨터공학부 이동네트워크 연구실) ;
  • 김원일 (Nokia Siemens Networks 스마트랩)
  • Received : 2011.11.09
  • Published : 2011.11.30

Abstract

In this paper, we have shown Dalvik virtual machine implementation to reduce the profiling overhead from the trace of the JIT compiler for the specific method. By running the same Java method on the original Dalvik VM and the modified Dalvik VM, we have achieved around 30% performance improvement with this algorithm. In this paper, to increase the reader's understanding of Android Dalvik virtual machine, we will explain the architecture of Dalvik JIT compiler and we will provide the detailed explanation with source codes for modified parts of Dalvik virtual machine. From the industry perspective, we can expect competitive benefits over the competitors with performance improvement in Android core.

본 논문에서는 Android Dalvik 가상머신의 trace JIT 구현 코드를 수정하여 특정 Java 메소드를 별도의 프로 파일링 과정 없이 바로 JIT 컴파일이 이루어지도록 구현하였다. 동일한 Java 메소드에 대해 원본 Dalvik 가상머신과 본 논문의 방식을 적용한 가상머신에서 각각 실행하여 수행 시간을 측정하였고 본 논문이 제안한 방식을 이용하면 약 30% 정도의 성능 향상을 가져올 수 있음을 확인하였다. 본 논문에서는 Android Dalvik의 구조를 살펴보아 Dalvik 가상머신에 대한 이해를 돕고 변경한 Dalvik 가상머신 부분을 코드 수준에서 자세히 설명한다. 산업체에서는 Dalvik 가상머신의 수행 성능 최적화와 같은 Android의 핵심 기술 부분을 향상하여 Android를 사용하고 있는 타 경쟁사와 차별점을 가진 제품을 만드는데 도움이 될 수 있을 것이다.

Keywords

References

  1. A HT Compiler for Android's Dalvik VM - Goog/e 10 2010
  2. A code compression system based on pipelined interpreters - Software Practice and Experience Sept. 1999
  3. Levels of representation of programs and the architectur of universal host machines - Proc. 11th Annu. Workshop Microprogramming, 1978
  4. Design of a LISP-based microprocessor - Communication of ACM vol. 23
  5. Threaded code - Communication of ACM, vol.16
  6. A Survey of Adaptive Optimization in Virtual Machines - Proceedings of the IEEE, vol. 93
  7. An empirical study of FORTRAN programs - Softw. Pract. Exper., 1971, vol. 1, pp. 105-133. https://doi.org/10.1002/spe.4380010203
  8. GNU Compiler Collection Internals - 15.1 Basic Block