티스토리 뷰

Virtual Memory Partitioning for Enhancing Application Performance in Mobile Platforms

Geunsik Lim


Abstract

Mobile devices have limited memory capacity and, unlike server and desktop systems, due to their mobility they do not have a memory slot that can expand the memory capacity. Low memory killer (LMK) and out-of-memory killer (OOMK) are widely used memory management solutions in mobile systems.

before the forced termination, the memory shortage incurs thrashing and fragmentation, thus slowing down application performance. Although the existing page reclamation mechanism is designed to secure available memory, it could seriously degrade user responsiveness due to the thrashing.

This paper presents a new memory partitioning technique that resolves the deterioration of the existing application life cycle induced by LMK and OOMK. It provides a completely isolated virtual memory node at the operating system level. 


Introduction

memory management of downloaded applications cannot be controlled or tested at the time of manufacturing. Therefore, memory shortage is likely to occur more frequently.

LMK는 유저모드에서 동작하는 activity manager에 의해 관리된다. The goal of the activity manager is to balance activity priorities and system resources to optimize the user's experience. 

빈번하 LKM은 두가지 문제를 발생한다. 첫째 유저가 인식하는 성능이 하락한다. 제거된 애플리케이션은 완전 메모리에서 내려가야 하기 때문에 재 실행시 전부 다시 로드 해야하기 때문이며 제거 대상을 찾는 과정도 만만한것이 아니다. 둘때로 핸드폰의 코어 기능인 통화 문자 들이 강제 종료될 수 있는 문제가 존제한다. 그렇다고 이문제는 그냥 내비두면 빈반한 메모리 폴트로 쓰레싱이 발생하여 성능이 나빠진다[6][7]. 

그래서 본 논문은 OS수준의 새로운 메모리 관리 기법을 제안한다. 잘 정의된 애플리케이션 중요도에 따라 메모리 교체범위를 제한 하는 것이다. (안 중요하면 페이지 교체가 많이 일어나며 중요하면 페이지 교체가 일어 나지 않는다. )


MEMORY MANAGEMENT IN MOBILE PLATFORMS

A. Conventional Memory Management 

LRU 프로세스의 의지와는 상관없이 운영체제 단계에서 강제적으로 처리 된다는 점은 유념하자( 전체 효율성을 좋아지지만, 단일 프로세스의 효율성도 향상된다고 말 할 수 있을까?)
swap in/out  대다수의 모발일 디바이스 swap in/out을 지원하지 않는다. 성능 예측을 할 수 없기 때문이다. 

process container 시스템의 자원을 분할 하는 방법인데 이것도 메모리 단편화와 메모리 분리성을 제공하지는 못한다. 

B. Memory Management of LMK

동작원리

The original role of LMK is to automatically terminate the applications in an LRU list [1], [3]-[5] when the available memory reaches a specified threshold of the system.

단점 : 단편화

However, the memory fragmentation gradually increases because the operating system reclaims the memory blocks of unimportant processes with the unit of page from a physical memory. As the memory fragmentation becomes more severe, the small size memory blocks increase further, resulting in additional memory management costs such as the merging of small blocks by a memory allocator [25], the time required to read all the nonadjacent memory blocks at once, and the scheduling cost between the memory blocks because there are 

too many small blocks. The many small blocks increase the memory scheduling cost to determine whether the higher priority processes are waiting or running during the allocation and the release of the small blocks in the preemptive operating system. 


C. Memory Management of OOMK

동작원리
The original role of OOMK is to kill unimportant processes based on the memory score of processes heuristically when the memory capacity is deficient. 

기존 모바일 메모리 관리 방법말고 특화된 방법이 필요하다. 
In summary, the existing mobile platforms provide various kernel features for running new applications under the 
memory shortage: 
conventional memory management schemes, memory management of LMK, and memory management of OOMK. However, these kernel features frequently induce thrashing, page fault, and page replacement, and thus result in low speed applications. It is very important that the mobile devices are used to run the user application instantly. Especially, core built-in applications must be executed within the specified responsive time, even though the available size of the physical memory is very short. 

VIRTUAL MEMORY NODES TO AVOID LMK/OOMK OPERATIONS 
This section describes the design and implementation of the virtual memory partitioning framework at the perating system level to solve the problem of the lack of available physical memory space of the application that results in poor user responsiveness of the time-critical core applications.







공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함