서지주요정보
Rental memory management for embedded systems = 내장형 기기에서의 대여 메모리 관리 연구
서명 / 저자 Rental memory management for embedded systems = 내장형 기기에서의 대여 메모리 관리 연구 / Jin-Kyu Jeong.
저자명 Jeong, Jin-Kyu ; 정진규
발행사항 [대전 : 한국과학기술원, 2013].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8024892

소장위치/청구기호

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

DCS 13008

휴대폰 전송

도서상태

이용가능

대출가능

반납예정일

리뷰정보

초록정보

Memory reservation in embedded systems is a prevalent approach to provide a physically contiguous memory region to its acceleration devices, such as a camera device and a video decoder. Inefficiency of the memory reservation becomes a more significant problem in emerging embedded systems, such as smartphones and smart TVs. Many ways of using the systems increase the idle time of their integrated devices, and eventually decrease the utilization of their reserved memory. Firstly, this dissertation proposes a rental memory management scheme to minimize the memory inefficiency caused by the memory reservation. The memory space reserved for a device can be rented for other purposes when the device is not active. For this scheme to be viable, latencies associated with reallocating the memory space should be minimal. Volatile pages are good candidates for such page reallocation since they can be reclaimed immediately as the original device needs them. We implemented our scheme on a smartphone development board with the Android Linux kernel. Our prototype has shown that the time for the return operation is less than 0.3 seconds in the tested cases. We believe that this time is acceptable to end-users in terms of transparency since the time can be hidden in application initialization time. The rental memory also brings throughput increases by from 2% to 200% based on the available memory and the applications’ memory intensiveness. Secondly, this dissertation proposes an eviction-based rental memory management scheme. This scheme complements the first scheme in terms of the memory efficiency and the high unit cost of the reallocation. To this end, this scheme uses the rental memory as a secondary file cache called eCache. The eCache provides contiguous reallocation for devices and secondary caching for system performance. Since the eCache stores only evicted data from in-kernel page cache, memory efficiency is preserved and allocation time for devices is greatly minimized. Cost-based region selection also alleviates additional read I/Os by carefully discarding cached data in the eCache. In addition, by integrating the eCache and the in-kernel page cache, unnecessary CPU consumption for traversing duplicated indexing structures is eliminated. The prototype is implemented on the Nexus S smartphone and is evaluated with popular Android applications. The evaluation results show that 54%-89% of flash read I/Os are reduced when the size of eCache is 30% of the system memory. Application launch performance is also improved by 2%-16% in the tested cases while the device memory reallocation time is limited to a few milliseconds.

스마트폰과 같은 내장형 기기는 물리메모리의 일부분을 예약하여 비디오 디코더, 카메라 장치등과 같은 가속 장치가 독점적으로 사용할 수 있도록 제공한다. Scatter/gather DMA를 지원하지 않는 가속 장치들의 특성상 수 십 메가의 연속된 메모리 할당을 필요로 하고, 이러한 요구사항은 시스템 구동 중 에는 메모리 단편화로 인해 할당이 보장되지 않는다. 메모리 예약은 장치에 메모리 할당을 보장하고자, 시스템 부팅 시 메인 메모리의 일부를 예약하여 장치들에 할당하는 기능을 제공한다. 그러나 스마트 폰과 같은 범용성 기기에서는 웹 브라우징, 소셜 네트웍 접근 등 다양한 동작을 수행하는 반면, 예약된 메모리는 비디오 재생 등 특정 기능에서만 활용되고 나머지 시간에는 낭비되는 비효율성을 가진다. 본 논문은 예약된 메모리를 대여 메모리라는 특정 메모리 형태로 운영체제에게 제공함으로써 가속 장치의 유휴 시간에 시스템 성능을 향상시키는 방법을 제공한다. 대여 메모리의 사용 조건은 빠른 반납 으로, 이는 비디오 재생과 같은 시스템 서비스의 질을 보장해주기 위한 조건이다. 즉 장치가 구동되기 위해서는 대여메모리에 할당된 데이터들이 회수된 후, 대여 메모리는 장치에게 재 할당되어야 하고, 회수 시간은 장치 구동의 시간을 결정짓기 때문이다. 메모리 자원은 그에 할당된 데이터의 특징에 따라 다양한 회수 시간을 가진다. 가상 메모리 페이지들은 스왑 공간의 부재 시 메모리 카피를 수반하는 오버헤드로 인해 수백 밀리초의 회수시간을 가진다. 또한 대여 메모리의 특징은 임시 메모리로서, 가상 메모리의 할당으로 인해 증가된 메모리 공간에 추가적인 응용프로그램의 할당은 대여 메모리의 반납 시 추가적인 프로그램 종료를 수반하여 시스템의 신뢰성을 저하시키게 된다. 또한 대여 메모리는 버퍼링 용도로 사용될 수 없다. 버퍼링으로 생성되는 더티(dirty) 데이터는 회수 시 추가적인 쓰기 입출력을 유발시키고 이러한 시간은 디바이스의 구동을 수초 이상 지연시키는 단점을 가지고 온다. 또한 대여 메모리의 반납은 비동기적 동작으로 이때 대여메모리에 할당된 중요한(hot) 페이지들은 대여 메모리 의반납시추가적인I/O혹은페이지이주라는상대적으로큰비용의작업을요하게된다. 이러한 문제점들을 해결하고자, 본 논문에서는 대여 메모리를 퇴거 기반 2차 페이지 캐시로 활용하는 방법을 제안한다. 퇴거기반 할당 정책으로 인해 대여 메모리에는 덜 중요한(cold) 페이지들만이 할당된다. 또한 캐싱 용도로 쓰이기 때문에 대여 메모리의 반납 시 캐싱된 데이터를 버리더라도, 버려진 데이터는 하위 저장장치에서 다시 불러들일 수 있기 때문에 시스템의 신뢰성 저하는 일어나지 않는다. 마지막으로 캐싱된 데이터를 버리는 작업은 다른 메모리 회수 기법 대비 수 밀리초 이내의 빠른 메모리 회수 시간을 제공하는장점을가진다. 또한코스트에기반한영역선택을통해디바이스의메모리재할당요구시 대여 메모리 내에서도 추가적인 입출력을 최소화 하는 영역을 회수하여 디바이스에게 제공함으로 인해 대여 메모리 반납으로 인한 성능 저하를 최소화 하였다. 본 연구는 안드로이드 기반의 구글 넥서스S 스마트폰에서 구현되었고, 실제 사용자와 유사한 응용 프로그램 구동 시나리오에서 실험되었다. 약 310MB의 메모리에 90MB의 대여 메모리를 추가함으로써 시스템의 읽기 입력은 약 54%-89% 줄어들었고, 응용 프로그램의 구동 성능은 약 2-16% 향상되는 것을 확인하였다. 또한 디바이스에게 메모리를 재할당 하는 대여 메모리 반납 시간은 요구되는 메모리 공 간이 가장 큰 비디오 디코더(약 70MB)의 경우에서도 약 10밀리초의 인간이 인지 불가능한 시간 안에 제공되는 것을 확인하였다.

서지기타정보

서지기타정보
청구기호 {DCS 13008
형태사항 vii, 86 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 정진규
지도교수의 영문표기 : Seung-Ryoul Maeng
지도교수의 한글표기 : 맹승렬
수록잡지명 : "Rigorous Rental Memory Management for Embedded Systems". ACM Transactions on Embedded Computing Systems, in print, (2013)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학전공,
서지주기 References : p. 77-81
주제 memory management
memory hotplug
memory reservation
메모리 관리
메모리 핫플러그
메모리 예약
QR CODE qr code