Towards Efficient NVDIMM-based Heterogeneous Storage Hierarchy Management for Big Data Workloads
Abstract
-NVDIMM 기반 아키텍처에 비추어 스토리지 데이터 관리의 솔루션을 제공
-특히 NVDIMM을 메모리버스에 배치함으로 발생하는 Bus Contention문제를 해결하기 위함
-Memory Traffic interferences사용으로 인한 부작용을 최소화 하기위해 NVDIMM-based Lazy Migration 을 소개
Intro
문제점
-Big data applications는 memory 와 storage 간의 I/O에 높은 성능을 요구
-보통 VMDK로(Virtual Machine Disks)로 사용되며, 여러 물리적 디바이스에 분산되어 있다.
-NVDIMM 장치의 I/O 성능을 예측하기 어렵다.(분리된 I/O 경로가 아닌 DIMM 형식이므로 Memory Traffic도 고려해야한다.) VMDK가 과부화된 NVDIMM에 배치된다면 시스템 오버헤드가 증가한다.
-VMDK의 Density는 급격히 증가하므로 I/O Online Balancing 이 중요하다. 큰 데이터 이므로 Memory Traffic에 악영향을 미치며, Data Migration에 관련된 노드의 성능을 저하시킬 수있다.
-NVDIMM 에서/로 Migration된 VMDK의 방대한 데이터는 NVDIMM성능에 중대한 문제를 야기한다.
제안
-초기 데이터 배치시 Load Imbalance Detection를 사용하여 Bus Contention을 해결
-Data Migration시 불필요한 데이터 전송을 줄여 Memory Traffic의 영향을 최소화 하기 위한 Lazy Migration
-NVDIMM-based 아키텍처 최적화 기술은 NVDIMM에서 채널 병렬성을 높이고 Source NVDIMM에서 NVDIMM Buffer Cache를 bypass 하도록 설계되어 데이터 마이그레이션으로 인한 악영향을 완화
4가지 측면
-가상화된 데이터 센터에서 스토리지 리소스를 관리하기 위한 Data Migration을 처리하기 위해 새로운 NVDIMM 기반 스토리지 데이터 관리 기술을 설계
-NVDIMM로 인한 Bus Contention을 해결하기 위해 새로운 NVDIMM 기반 이기종 스토리지 성능 모델
-Memory Traffic 간섭으로 인한 악영향을 최소화 하기 위해 Data Migration Process를 관리하는 Lazy Migration 체계 개발
-NVDIMM이 Data Migration에서 Source 또는 Destination 에서의 악영향을 완화하도록 설계
Background
Server with NVDIMM-based Storage Device
-기존 Storage Device는 I/O Controller Hub를 통해 연결(SATA, PCIe)
-NVDIMM 모듈은 DDR 슬롯에 설치되어 고속 메모리 채널을 통해 데이터를 전송, 동일한 메모리 채널에 배치된다.(Figure 1)
-NVDIMM은 제한된 용량, VMDK는 일반적으로 높은 용량을 필요로 한다. 또한 많은 워크로드가 하나의 NVDIMM에 배치되면 오버헤드가 증가한다. 따라서 이기종 스토리지간의 데이터를 지능적으로 분산하는 것이 중요하다.
Data Management in the Heterogeneous Storage System
-Storage Manager들은 Data placement 및 MIgration을 제공한다. SATA HDD 의 overload 및 NVDIMM의 underload등의 imbalance를 감지하여 relocation을 실행한다.
-Migration을 수행하기위해 Overload를 감지하는 것은 I/O workload 및 Storage 장치의 특성에 크게 의존하기때문에 어려운 일이다.
-기존의 Storage Manager들은 NVDIMM의 특성을 추가하지 않아 오버헤드가 발생 할 수 있다.(Figure2 b)
Motivation
Motivation
-이전의 Storage Management는 Bus contention을 고려하지 않기 때문에 불필요한 데이터 마이그레이션이 트리거 될 수 있다.
-DRAM이 메모리 트래픽을 많이 차지하게 되면 NVDIMM이 overload 되었다는 잘못된 감지를 하고 NVDIMM에서 PCIe SSD로 마이그레이션한다. 이후 DRAM 메모리 트래픽이 감소하게 되면 NVDIMM이 Underload 된 것으로 감지하여 NVDIMM으로 마이그레이션하게 된다.
-Initial placement상황에서 또한 DRAM 트래픽이 많이 차지하면 PCIe SSD에 초기 할당되고 DRAM 트래픽이 감소되면 NVDIMM으로 마이그레이션된다.
-메모리 집약 벤치마크를 사용하고 이전의 Load Balancing을 사용했을 때 39%에서 91%에 해당하는 오버헤드가 관찰된다. 이는 기존 아키텍처를 가정하기 때문에 I/O workload만 고려하기 때문이라고 생각한다.
-NVDIMM의 성능은 메모리 트래픽 변동에 따라 주기적으로 변동한다. 근본적 이유는 memory access와 CPU calc가 인터리빙하게 실행되기 때문이다. 이러한 동작을 식별할 수 있다면 불필요한 마이그레이션과 Bus contention을 피할 수 있을 것이다.
Modeling
Modeling
-이기종 메모리 환경에서 불필요한 마이그레이션을 줄이기 위해서는 Bus contention을 고려한 성능 모델링을 구성하는 것이 중요하다.
Relationship Between Device Performance and Workload Characteristics
-PCIe SSD 성능 : I/O latency 는 처리중인 I/O 작업수가 증가함에 따라 선형적으로 증가한다. 또한 읽기작업이 Randomness가 증가할 수록 I/O Latency도 증가한다.
-HDD 성능 : Randomness가 증가할수록 I/O Latency가 선형적으로 증가한다.
-NVDIMM 성능 : Memory Intensity(the number of memory reads and writes)가 증가함에 따라 I/O Latency가 증가한다. 이는 데이터가 DDR Interface를 사용해 이동하기 때문이다.
Performance Modeling
-장치들의 성능은 여러 요소의 영향을 받고 동일한 요소라도 다른 장치에서 다른 영향을 미칠 수 있으므로 정적인 모델은 성능을 잘 예측할 수 없다.
-따라서 기계학습을 이용한 워크로드 함수 (f)로서 스토리지 장치 성능을 예측한다. 이 모델은 워크로드 특성(WC)를 입력으로 예측된 성능 Metric(PP)를 출력한다.
- wr ratio는 모든 요청 중 읽기 및 쓰기 비율로 정의, OIO는 Outstanding Request(미해결 요청), IOS는 I/O request size, rd rand/wr rand는 각각 I/O request stream에서의 Random read or write의 비율
- free space ratio는 여유 공간 비율을 나타내며 플래시 기반 장치의 Garbage Collection 효과를 반영하는데 사용한다.
Bus Contention Modeling
-Bus contention Modeling은 측정된 Device Performance에서 Predicted Performance를 빼서 추정된다.
Machine-learning-based Implementation
-다중 선형회귀 모델을 사용한다.
Proposed Technic
NVDIMM-BASED HETEROGENEOUS STORAGE MANAGEMENT
-초기데이터 배치, 불균형 감지, candidate 선택 등의 3가지 중요한 bus contention aware migration management를 개발 (1,2,3)
-마이그레이션 오버헤드를 완화하기위한 마이그레이션 프로세스(4)
-아키텍처 서포트(5)
Initial Data Placement
-향후 잠재적인 불균형 문제를 줄이는데 매우 중요하다.
-전체 시스템 오버헤드를 최소화하고 데이터 마이그레이션을 트리거 하지않는 스토리지에 새로운 VMDK를 배치하는 것을 목표로 한다.
Imbalance Detection and Candidate Selection
-식5로 도출된 Pd값을 사용해 max - min 값이 Threshold를 넘게되면 마이그레이션을 트리거하게 된다.
Lazy Data Migration
-이전위치에서 새 위치로 데이터를 직접 복사하는 마이그레이션과 달리, 느리게 리디렉션하는 I/O mirroring 기술이 제안된다.
- 향후 모든 쓰기 요청이 새 위치로 리디렉션 되므로 불필요한 데이터 전송을 줄일 수 있다. 다른 데이터의 경우 Cost/Benefit 함수를 사용하여 마이그레이션을 결정한다.