96 0

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

Title
Method Signature를 이용한 안드로이드 런타임 성능향상
Other Titles
Performance enhancement for android funtime by using method signature
Author
조인휘
Issue Date
2011-11
Publisher
한국통신학회
Citation
한국통신학회지, 2011, 36(11), P.1323-1328(6)
Abstract
애플의 iPhone에 의해 시작된 스마트폰의 급격한 수요증가로 대부분의 휴대폰 생산업체들이 스마트폰 개발에 힘쓰고 있다. 현재 iPhone, BlackBerry 등을 제외한 많은 수의 스마트폰에서 구글의 Android 기반 운영체제를 이용하고 있다. Android는 Dalvik이라는 Virtual Machine을 응용프로그램을 실행시키기 위한 런타임 환경으로 제공한다. Dalvik은 Android v2.1 까지는 인터프리터만 제공하였으나 v2.2 부터는 JIT (Just-in-Time) 컴파일러를 제공하여 응용프로그램의 수행 성능을 향상시켰다. Android v2.2가 제공한 JIT 컴파일러는 Trace 기반의 JIT 컴파일러 방식을 따르고 있다. Trace 기반 방식은 for, while 문과 같이 반복적으로 실행되는 코드 부분을 실행 시간에 프로파일링 하여 동적으로 컴파일 하는 방식이다. 본 논문에서는 Android Dalvik 런타임의 Trace 기반 JIT 컴파일러를 수정하여 특정 메쏘드의 수행 성능을 향상시키는 방법에 대해 연구하였다. 응용프로그램 개발자가 성능에 민감한 특정 메쏘드에 대해 성능을 향상시키고자 원하면 해당 메쏘드를 미리 정의한 형태의 이름을 가지도록 변경한다. Dalvik Virtual Machine은 특정 이름을 가진 메쏘드에 대해서는 프로파일링 과정을 거치지 않고 바로 JIT 컴파일을 수행하여 성능을 향상시킬 수 있다. 본 논문에서는 Android Dalvik VM의 DEX Conversion 도구, Dalvik 인터프리터, Dalvik JIT 컴파일러 모듈의 소스 코드를 수정하고 기존 Dalvik VM과 수정한 Dalvik VM간에 성능차이가 있는지 테스트 프로그램을 작성하여 측정하였다. 측정결과 테스트 목적의 프로그램에서 메쏘드 이름 방식을 이용하여 개선한 Dalvik VM의 성능이 약 30% 정도 성능이 향상되는 결과를 보였다. 후속 연구에서는 Dalvik VM의 메쏘드 단위 JIT 컴파일러를 개선하여 복잡한 메쏘드에 대해서도 JIT 컴파일이 가능하도록 개선할 예정이며 AOT (Ahead Of Time) 컴파일러를 구현하여 성능에 중요한 Java 라이브러리를 미리 컴파일 하여 성능을 개선하는 방법에 대해서 연구를 진행하려 한다. 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.
URI
http://koreascience.or.kr/article/ArticleFullRecord.jsp?cn=GCSHCI_2011_v36n11B_1323
ISSN
1226-4717; 1226-4725
DOI
10.7840/KICS.2011.36B.11.1323
Appears in Collections:
COLLEGE OF ENGINEERING[S](공과대학) > COMPUTER SCIENCE AND ENGINEERING(컴퓨터공학부) > Articles
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE