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

Title
Method Signature를 이용한 안드로이드 런타임 성능향상
Author
김원일
Advisor(s)
조인휘
Issue Date
2011-02
Publisher
한양대학교
Degree
Master
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 라이브러리를 미리 컴파일 하여 성능을 개선하는 방법에 대해서 연구를 진행하려 한다.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/140659http://hanyang.dcollection.net/common/orgView/200000415861
Appears in Collections:
GRADUATE SCHOOL OF ENGINEERING[S](공학대학원) > ELECTRONIC & ELECTRICAL ENGINEERING(전기 및 전자공학과) > Theses(Master)
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