Browse

효율적인 스왑을 위한 컴파일러 기반의 메모리 사용 힌트 시스템

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors
김문섭
Advisor
염헌영
Major
공과대학 컴퓨터공학부
Issue Date
2019-02
Publisher
서울대학교 대학원
Description
학위논문 (석사)-- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2019. 2. 염헌영.
Abstract
SSD 등의 고성능 저장장치가 발전하면서, 저장장치와 메인 메모리간의 성능 격차가 점점 줄어들고 있다. 또한 최근에 빅 데이터 등 굉장히 많은 양의 메모리를 사용하는 워크로드들이 증가하여, 가까운 미래에 메모리 집약적 워크로드에서 고성능 저장장치를 스왑 디바이스로 활용할 것으로 보인다. 하지만 메인 메모리와 저장 장치간의 성능 격차는 여전히 크기 때문에, 스왑이 발생하는 환경에서 메모리 집약적 워크로드의 수행시간이 크게 느려지게 된다. 본 논문에서는 스왑으로 인한 성능저하를 최소화하기 위해, 정적 및 동적 분석을 통해 워크로드의 데이터 접근 패턴을 프로파일링 하고, 이 정보를 바탕으로 워크로드에서 효율적인 스왑이 발생 할 수 있도록 데이터 접근 패턴에 대한 힌트를 만들어 워크로드가 수행되는 도중에 운영체제에게 힌트를 주도록 하는 시스템을 제안한다. 이를 통해 스왑 힌트 시스템은 메모리 부족 상황에서 SPECCPU2006의 메모리 집약적 워크로드들을 수행될 때, 기존 워크로드 대비 최대 2.66배 빠른 수행시간을 보였다.
Because of high performance gap between main memory and HDD, system administrators are trying to configure their systems to have enough main memory for their workloads However, page reclamation is inevitable for recent trends. The size of the working set for modern workloads including big data and machine learning is exploding so that cannot be accommodated in the main memory. Fortunately, storage devices have evolved continuously. It will be common for high-performance systems to utilize such fast storage as a swap device. For such situation, smarter victim page selection is important. Common page reclamation systems in these days still select least recently used pages as victims, though they cannot handle the rapid change of data access pattern. To help the situation, modern operating systems provide special primitives that allow a program to hint their data access pattern to a system. However, professional experience and exhaustive analysis are required to use the primitives properly. To mitigate such problem, we introduce a compiler extension that provides profiling guided optimization for swap system. Our extension does static and dynamic analysis of a given workload to recognize the data access pattern of each program context of the workload. With the recognition, it injects code inside the workload that invokes primitives which hint the data access pattern to the system. The extension improves the performance of a realistic workload 2.66 times in memory pressure situation.
Language
kor
URI
https://hdl.handle.net/10371/150819
Files in This Item:
Appears in Collections:
College of Engineering/Engineering Practice School (공과대학/대학원)Dept. of Computer Science and Engineering (컴퓨터공학부)Theses (Master's Degree_컴퓨터공학부)
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse