모바일 플랫폼의 실행 엔진 설계 및 성능 분석

Title
모바일 플랫폼의 실행 엔진 설계 및 성능 분석
Other Titles
Design of WIPI Runtime Engine and Performance Analysis
Author
이상윤
Alternative Author(s)
Lee, Sang-Yun
Advisor(s)
최병욱
Issue Date
2007-08
Publisher
한양대학교
Degree
Doctor
Abstract
본 논문에서는 효율적인 구동을 위한 모바일 플랫폼의 실행 엔진과 실행 엔진의 성능 향상을 위한 메모리 관리기를 제안한다. 제안된 위피 실행 엔진은 REX OS, Qplus, 윈도우즈 등 다양한 플랫폼을 지원하는데 각 플랫폼에 따른 위피 실행 엔진의 설계 방식을 기술하고, 중복 개발을 피하기 위한 설계 방안을 제시하였다. 또한, 동적으로 다운로드 받은 프로그램을 실행시키기 위해 필요한 링커와 로더를 REX OS 상에서 구현하고, 임베디드 리눅스인 Qplus에서의 실행 엔진 구조를 설계한다. 구현된 위피-C API는 플랫폼 인증 툴킷을 통해 검증한 결과 높은 성공률을 보였으며 게임 등 여러 가지 콘텐츠를 동작시키는데 성공하였다. 위피 표준 규격에는 자바 프로그램을 바이너리 코드로 변환해서 실행시키도록 규정하고 있다. 이 기능을 제공하기 위해 Java2C 컴파일러를 구현하였다. 실험 결과 기존의 자바 가상 머신에 의한 수행보다 Java2C에 의해 변환된 코드의 실행 속도가 대폭 향상되었다. 또한, 실행 엔진의 성능을 향상시키기 위해서 효율적인 실행 엔진의 메모리 관리기를 제안하였다. 빠른 메모리 할당과 해제가 가능하기 위해 제안한 셀 기반 메모리 관리기는 힙을 다양한 크기의 셀로 분할한 후 동일한 셀의 집단인 블록 단위로 관리한다. 이 방식은 작은 객체이든 큰 객체이든 메모리 단편화율이 일정 범위 이내였으며 객체 수가 증가하더라도 거의 일정한 단편화율 이내로 유지됨을 실험을 통해 확인할 수 있었다. 메모리가 제약되어 있고 빠른 응답이 요구되는 모바일 및 임베디드 환경에서 이를 충족시키기 위해 점진적 메모리 관리기를 제안하였다. 점진적 메모리 관리기는 힙이라고 불리는 메모리 영역을 신세대와 구세대의 두 부분으로 나누어서 관리한다. 각 세대는 그 특성과 요구사항에 적합하도록 각기 다른 기법을 적용한다. 더불어 가비지 식별 검색 속도를 향상시키기 위한 쓰기 장벽과 이중 필터링 기법을 기술한다. 성능 실험 결과, 제안된 기법이 기존 방식보다 힙 크기 조정에 따라 가비지 컬렉션 수행 시간을 조정할 수 있었고 가비지 컬렉션 수행 시간 또한 대폭 향상되었다. 따라서 효율적인 메모리 관리기의 설계로 인하여 메모리가 작은 상황에서도 빠른 응답이 가능한 효과가 있다.; This paper proposes a runtime engine for a mobile platform that allows efficient derivation and a memory manager for enhancing the performance of the runtime engine. The proposed WIPI runtime engine supports various platforms, such as REX OS, Qplus, and Windows. This paper describes the architecture of the WIPI runtime engine suitable for each platform, and introduces a design method for avoiding repetitive development. In addition, this paper explains the implementation of a linker and loader in the REX OS and describes the runtime engine structure in Qplus, a kind of embedded Linux. The implemented WIPI-C API succeeded in executing various forms of content including a game, with a high success rate, when verified using the platform certification toolkit. The WIPI specification requires that a Java program be executed as binary code. This paper proposes a Java2C compiler that translates Java programs into binary. The experimental result showed that the proposed technique outperformed the existing Java virtual machine. This paper also proposes an efficient memory manager for enhancing the performance of the runtime engine. The memory manager, based on cells, divides a heap into cells of various sizes and manages the heap as blocks of same-sized cells. The memory fragmentation ratio was relatively consistent, regardless of the object size, and it varied regularly as the number of objects increased. This paper proposes an incremental memory manager in order to obtain a fast response in a restricted memory environment. The incremental memory manager manages the heap memory area by dividing it into young and old generations, and it applies individual techniques to each generation to utilize the different characteristics of each generation. In addition, this paper proposes a write barrier and double filtering techniques for efficient garbage recognition. Based on the performance tests, the execution time of the proposed technique resulted in extensive performance improvement, as compared to the existing method. Therefore, by designing an efficient memory manager, a fast response is possible, despite of a restricted memory.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/148492http://hanyang.dcollection.net/common/orgView/200000407220
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONIC COMMUNICATION ENGINEERING(전자통신공학과) > Theses (Ph.D.)
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