최근 메모리 기술 발전에 따라, 현대 시스템에서 메모리 계층이 점점 다양해지고 있으며 고대역폭 메모리 (HBM) 또는 비휘발성 메모리 (NVM) 와 같은, 성능적으로 차별화된 메모리가 등장하고 있다. 하지만 현재 메모리 관리 기술은 DRAM 에 기반하여 만들어졌기 때문에 최신 메모리 계층 시스템에 적용되지 못 하는 문제점이 있다. 본 논문은 계층화된 메모리가 적용된 최신 리눅스 시스템에서의 메모리 관리 정책을 하드웨어적 관점과 소프트웨어적 관점에서 분석한 내용을 담고 있다. 모든 분석은 실제 Intel 의 영구 메모리인 Optane 메모리가 설치된 시스템에서 진행되었으며, 이 시스템에서는 DRAM 과 Optane 메모리를 각각 빠른 메모리 (Fast Memory), 느린 메모리 (Slow Memory) 라고 칭한다. 기존의 NUMA 시스템과 다르게 계층화 메모리 시스템에서는 지역 (Local) Optane 메모리 때문에 지역 메모리가 원격 (Remote) 메모리보다 성능이 좋지 않다. 이에 따라 지역 메모리 우선 정책을 사용하는 리눅스 시스템에서는 계층화 메모리 시스템을 적용하기에 여러 가지 문제점이 존재한다. 이러한 문제점을 해결하기 위하여 본 논문에서는 계층화 메모리 시스템에서 원활히 사용할 수 있는 지역 메모리와 원격 메모리를 모두 고려한 리눅스 기반 통합형 메모리 배치 정책을 제안한다. 제안된 메모리 배치 정책을 사용하여 실험한 결과, 기존의 메모리 배치 정책보다 월등한 성능을 보였다.
Alternative Abstract
Recent advances in memory technology, memory hierarchy is becoming diverse with performance-differentiated memory such as high bandwidth memory (HBM) and nonvolatile memory (NVM) in modern computer systems. However, the current memory management has been designed with the assumption that all the memory has the same capabilities based on DRAM. In this thesis, we analyze memory management schemes in state-of-the-art Linux systems to tiered memory systems with hardware-assisted and software-managed, respectively. Our analysis is conducted on the real system equipped with Intel’s Optane Persistent Memory, enabling tiered memory with DRAM (fast) and Optane (Slow) memory. Unlike traditional NUMA systems, we observe that tiered memory systems do not exhibit that accessing the local memory provides better performance than that of the remote memory because local Optane memory is slower than remote DRAM. Due to this distinct characteristic, there are several inefficiencies in the state of- the-art Linux kernel, including memory allocation, memory reclamation, and dynamic memory management schemes. To make use of tiered memory systems efficiently, this thesis explores the design space of practical software solutions, which can be currently applicable in the Linux system. Through performance evaluation, we show that our proposed techniques can extract the full performance of tiered memory, compared to the vanilla Linux kernel.