서지주요정보
Improving swap I/O performance for android smartphone with eMMC = eMMC를 가진 안드로이드 스마트폰에서의 스왑 I/O 성능 향상에 관한 연구
서명 / 저자 Improving swap I/O performance for android smartphone with eMMC = eMMC를 가진 안드로이드 스마트폰에서의 스왑 I/O 성능 향상에 관한 연구 / Seong-Min Kim.
발행사항 [대전 : 한국과학기술원, 2014].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8026433

소장위치/청구기호

학술문화관(문화관) 보존서고

MEE 14025

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

For the last decade, market share of Android smartphone has been gradually increased by the development of smartphone technology. As the number of cores, memory size and storage size are increased, sizes of applications which are executed in smartphones are also increased. However, current Android OS terminates one of the processes by force while the lack of memory situation is happened. This means that user loses the previous state of victim process which is selected to terminate when user excessively executes multiple applications. Because of this problem, user has to repeat the progress to roll back the previous state of victim application. Meanwhile, Using swap area is one of the solutions to prevent the lack of memory situation for the desktop PC or server in general. By making swap partition in the storage, more process can be executed as if machine has more memory space. Previously, swap mechanism is not adapted to the Android smartphones because the application working set size is small because the limited cpu performance. Also, performance gap between memory and disk was too huge to use swap mechanism. But the situation is changed by the occurrence of eMMC which is the newest storage for the smartphone. So we consider the swap mechanism for Android by using eMMC to solve the lack of memory problems of current Android. There are several researches for swap mechanism for smartphone for NAND flash memory as a secondary storage. However, their improvements were proved by simulation, not in real implementation and they assume that OS knows whole information about read/write request for block of NAND flash. But case of eMMC, OS doesn`t know that information because the FTL layer is included in the storage itself. So it is impossible to adopt their policy into current eMMC. It means that there is no appropriate approach for managing swap area for eMMC currently. In this thesis, we propose three swap I/O management techniques for Android smartphone to improve the performance of the previous swap system while enlarging the memory space. Firstly, we suggest bulk swap-out method by wisely selecting the swap-out pages. From this method, many pages are reclaimed for the out-of-memory situation than previous approach to reduce the small random write I/O requests. Secondly, our approach selects the victim pages which are in rarely used background process address space by monitoring the user process execution pattern. It minimizes the frequent swap-in operations of pages which were swap-out not selecting pages from the previous LRU list. Finally, we suggest bulk swap-in-ahead method when the swap-in operation is occurred by the page fault. Since we swap-out pages by considering the process address space of them, pages are spatially adjacent while they have temporal locality. From this, swap-in-ahead of unavailable pages is reduced and average block size of swap-in request is increased. Thus, we have decreased average application reloading time by 19.4% by improving swap I/O latency to 29.9% for write and 35.9% for read, compared to previous Linux swap system.

현재 세계 시장에서 안드로이드용 스마트폰이 차지하는 비율은 점점 늘어나고 있으며, 시장에 새롭게 출시되는 스마트폰 기술의 발전은 날로 가속화되고 있다. 코어 수와 메모리 크기, 디스크 사이즈 등이 증가하면서, 스마트폰에서 사용되는 어플리케이션의 크기 역시 증가하였다. 하지만 현재 스마트폰의 경우, 여러 개의 앱이 실행되어 메모리가 부족할 경우 프로세스 자체를 강제로 종료해버리게 된다. 이는 사용자가 메모리 부족 상황을 일으킬 만큼 많은 어플리케이션을 실행하였을 때 희생양으로 선택된 백그라운드 앱의 기존 상태를 잃게 됨을 의미하며, 사용자가 다시 백그라운드 앱을 켰을 때 이전 상태까지 해두었던 작업을 다시 반복해야한다는 큰 문제가 있다. 한 편, 통상적으로 일반 PC에서 메모리 부족 현상을 막기 위해 사용하는 기술이 디스크에 스왑 영역을 두어 사용자 입장에서 더 많은 메모리 영역이 있는 것처럼 보이게 하는 것이다. 하지만 기존의 스마트폰에서 스왑 영역이 사용되지 않았던 이유는 메모리와 디스크 사이의 성능 차이 자체가 워낙 컸으며, 스마트 폰의 경우 cpu의 성능이 PC보다 제한적인 상황이다 보니 어플리케이션의 데이터 사이즈 역시 상대적으로 작았다. 하지만 스마트폰 용 SSD인 eMMC가 등장함에 따라, 이러한 성능 갭 자체가 해소될 수 있게 되었다. 따라서 위에서 언급한 문제를 해결하기 위해 본 연구는 eMMC를 사용한 안드로이드용 스왑 시스템을 제안하였다. 기존 연구들은 eMMC를 타겟으로 한 것이 아니라 NAND 플래시 메모리를 타겟으로 어떻게 스왑 영역을 사용할 것인지에 대해 초점을 맞추었다. 또한 이 역시 실제 시스템에서 구현한 것이 아닌, FTL 단에서 모든 읽기/쓰기 요청에 대한 정보를 OS가 알고 있다는 가정에서 시뮬레이션을 통해 성능 개선을 얻어내었다. 하지만 eMMC의 경우 FTL 단 자체가 디바이스 내에 존재하기 때문에 OS에서 이러한 정보들을 알 수가 없으며, 기존 연구들을 실제로 eMMC에 적용하기에 불가능한 상황이다. 따라서 eMMC에 적합한 스왑 영역 관리에 관한 연구가 실질적으로 기존에 진행되지 않은 상황이라고 볼 수 있다. 이와 같은 문제를 해결하기 위해서 본 논문에서는 첫째로, 스왑-아웃되는 페이지들을 프로세스 단위로 모니터링하여 기존 스왑-아웃 방식보다 큰 단위로 관리하는 인터페이스를 구축하였다. 이를 통해 한 번에 많은 페이지들이 회수되어 사용자가 새로운 프로세스를 실행하였을 때, 빈번하게 페이지 회수 메카니즘이 발생하지 않도록 하였다. 두 번째로, 스왑-아웃시킬 때 사용자의 프로세스 실행 패턴을 모니터링하여 가장 오랫동안 사용되지 않은 백그라운드 프로세스의 페이지들을 회수 대상으로 선택하도록 하였다. 기존 LRU 리스트에서 회수될 페이지를 선택하는 것이 아니라, 희생양으로 선택된 프로세스의 페이지들을 회수의 대상으로 삼아 스왑-아웃된 프로세스가 빈번하게 스왑-인되는 상황을 최소화하였다. 세 번째로, 스왑-인 요청이 이루어졌을 때 기존 스왑-인 방식보다 큰 단위로 페이지들을 스왑-인 시키는 인터페이스를 구축하였다. 스왑-아웃 시에 데이터들을 프로세스 단위로 묶어 데이터가 지역성을 가지기 때문에, 하나의 페이지 스왑-인 요청에 대해 많은 페이지들을 스왑-인시킴으로써 스왑-인 요청 횟수 자체를 감소시키고 불필요한 데이터들이 메모리로 함께 올라오는 경우를 최소화하였다. 이 결과 기존 스왑 시스템 대비 평균 19.4%의 성능 향상을 얻을 수 있었다.

서지기타정보

서지기타정보
청구기호 {MEE 14025
형태사항 ⅵ, 56 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 김성민
지도교수의 영문표기 : Kyu-Ho Park
지도교수의 한글표기 : 박규호
학위논문 학위논문(석사) - 한국과학기술원 : 전기및전자공학과,
서지주기 References : p. 50-54
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서