티스토리 뷰
Virtual Memory Partitioning for Enhancing Application Performance in Mobile Platforms
덕쑤 2014. 4. 8. 20:04Virtual 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
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
'논문 요약' 카테고리의 다른 글
Selfish-LRU: Preemption-Aware Caching for Predictability and Performance (0) | 2014.04.25 |
---|---|
Precise shared cache analysis using optimal interference placement (0) | 2014.04.25 |
Engineering of complex avionics systems simulations using a model based approach (0) | 2014.03.25 |
Medical Cyber Physical Systems (0) | 2014.03.19 |
ARINC 653 HYPERVISOR (0) | 2014.01.07 |