검색 상세

영구 메모리를 통해 확장되는 대용량 주소 공간의 효율적인 활용을 위한 운영체제 기술연구

초록/요약

영구 메모리 (Persistent Memory)는 기존의 메모리가 가진 바이트 단위 접근성 (byte-addressable)과 저장장치의 비휘발성 (non-volatile)의 특성을 모두 가진 새로운 형태의 매체로 일반적인 메모리보다 훨씬 큰 용량을 가지면서 동시에 저장장치보다 높은 I/O 퍼포먼스를 보여주기 때문에 메모리 집약적인 작업을 수행하는 컴퓨터들에게 새로운 기회를 제공할 수 있다. 하지만 많은 어플리케이션은 영구 메모리의 특성을 제대로 고려하지 않아 이를 그저 큰 용량을 지닌 메모리나 기존의 저장장치와 동일하게 파일 시스템을 통해 사용하고 있다. 영구 메모리는 그 특성상 메모리 시스템과 파일 시스템을 통합한 형태의 새로운 형태의 차세대 컴퓨터의 가능성을 보여주며, 또한 상대적으로 작은 크기의 메모리에서 동작하도록 구현된 기존의 메모리 시스템이 확장된 대용량 주소 공간에서 수행될 때 고려해야 할 사항들이 있음을 알려준다. 본 논문에서는 영구 메모리의 특성을 이해하고, 이를 통해 확장된 대용량 주소 공간을 효율적으로 활용하기 위한 운영체제 수준에서의 기술들을 제시하고 있다. 영구 메모리를 사용하여 구현된 커널 영역 키-밸류 저장소인 InK는 차세대 컴퓨터가 가질 수 있는 통합된 형태의 파일 시스템의 가능성을 보여주며, 커버리지를 활용한 지역성 기반 Copy-on-Write 기법인 CCoW는 대용량 주소 공간에서 메모리 집약적인 작업이 수행될 때 발생할 수 있는 기존 copy-on-write 기법의 문제점을 지적하고 이를 개선할 수 있는 방법에 대한 고찰을 보여준다. InK와 CCoW는 모두 커널 영역에서 구현되어 어떤 어플리케이션이라도 별다른 수정을 가하지 않거나 간단한 시스템 콜을 통해 이를 이용할 수 있으며, Yahoo Cloud Service Benchmark (YCSB), Redis, RocksDB와 같은 산업 표준 수준의 벤치마크와 키-밸류 저장소들을 통해 성능을 측정함으로써 이러한 방식의 접근이 기존의 방식보다 효과적임을 보여준다.

more

초록/요약

Persistent Memory (PM) is the new emerging media that has byte-addressable and non-volatile characteristics from main memory and storage device. Since PM has larger capacity than traditional DRAM with higher I/O performance than storage device, it could provide new opportunities for the computers performing memory-intensive workloads. However many existing applications do not consider the characteristics of PM and usually apt to indirectly utilize PM as a storage device on top of file system or the extended form of main memory. PM shows the posibility for the next generation computer system having unified memory-file system, and points out there are the features should consider for the traditional memory system to utilize in large scale address space by PM. In this paper, we understand and analysis the characteristics of PM, then propose the operating system-level approaches for the large scale address space. InK, which is the in-kernel key-value storage with persistent memory, shows the posibilities of unified memory-file system for next generation computer system. And CCoW, optimizing copy-on-write considering the spatial locality with the concept of the coverage, considers the way that improve the copy-on-write technique when it performs memory-intensive workload in large scale address space. We implement both InK and CCoW in kernel area, so that any application could utilize them without any modification or using simple system calls. We also evaluate the performance of InK and CCoW through the industry-standard applications such as Yahoo Cloud Service Benchmark (YCSB), Redis, and RockDB. It confirms their approaches are more efficient than traditional methods.

more

목차

1. 서론 1
2. 배경지식 및 관련연구 5
2.1 B+ Tree 5
2.2 Log-Structured Merge Tree 8
2.3 영구 메모리 (Persistent Memory) 10
2.4 페이징과 가상 메모리 (Paging and Virtual Memory) 12
2.5 포크와 카피-온-라이트 (Fork and Copy-on-Write) 16
3. InK: 비휘발성 메모리를 활용한 커널 영역 키-값 저장소 17
3.1 InK 디자인 17
3.1.1 DCPM 공간 관리 18
3.1.2 키-밸류 쌍 인덱싱 21
3.1.3 기본 키-밸류 동작 23
3.1.4 키-밸류 쌍 제거 25
3.1.5 DCPM 주소 공간 관리 26
3.1.6 일치성 (Consistency) 28
3.2 InK 평가 29
3.2.1 InK 성능 분석 30
3.2.2 다양한 워크로드에서의 성능 36
4. CCoW: 커버리지를 활용한 로컬리티 기반 Copy-on-Write 기법 43
4.1 CCoW 디자인 43
4.1.1 모티베이션 (Motivation) 43
4.1.2 공간적 지역성 식별 45
4.1.3 프리카피 페이지 추적 48
4.1.4 지역성 포착 49
4.2 CCoW 평가 51
4.2.1 CCoW 성능 특성 51
4.2.2 리얼 워크로드에서의 성능 59
5. 결론 61
6. 참고문헌 62

more