저자: Hasan AL Maruf. 등 @미시간 주립대, NVIDIA, Meta
[Abstract]
- CXL 덕분에 메모리 Tiering 수월해졌고, Meta의 Server Fleet을 통해 Data Center의 Memory Access Pattern 분류
- CXL 기반 Memory Tiering System에선 Management가 중요. TPP는 Cold Page를 Slower Tiered memory로 offload해서 Local에 headroom 만들 것
- migration과 sampling overhead 최소화 했고 특정 domain에서 local only 수준을 달성했고 Existed system보다는 훨씬 좋음을 보임
[Introduction]
-
DRAM 챌린지는 증가하는데 수요는 급증하면서 Data Center Cost가 증가했고, Non-DRAM Tiering은 속도와 성능 문제 & App Specific 어려움
-
CXL Protocol 덕분에 CXL은 CPU에서 활용할 수 있는 메모리가 되었고, 또한 Cache-line granularity를 가진 Access임
-
SW 관점에서 보면 CXL은 단순히 like CPU 없는 Remote Node라서 유연하게 Memory system 설계할 수 있음
-
기존 Linux’s 시스템의 메모리 관리는 Local memory에만 focus되어 있어서 CXL을 효율적으로 못씀
-
Application별로 memory 사용 중 hot/warm/cold 비중이 어떤지랑 얼마나 유지되는지 (short-lived or long-lived)를 알아야 함
-
Tracking할 때 Kernel 수정 없이 User-level에서 쓸 수 있게 하고자 했음
-
PTE 모니터는 Overhead큼. 또한 Working Set 커지면 모니터 효율 떨어지며 어떤 Workload에서는 PTE 모니터 방식 자체가 잘못되었을 수 있음
→ CPU의 PEBS 기반의 User Application, 카멜레온 만들었음
- 카멜레온으로 Memory-bounded application들 profile 진행한 후의 Observation
- 꽤 많은 Working set이 warm이나 cold가 될 수 있고, lower migration해도 성능 유지될 수 있음
- anons. type(Stack, heap, mmap. 호출 등으로 생성) 접근은 file type 기반의 page보다 더 hot이 되는 경향 있음
- page access pattern이 실시간으로 급변하지 않음 → kernel 공간에서 page placement를 결정해도 됨
- 새로 할당되거나 해제된 memory는 static 할당보다 hot ↔ cold transition이 빨리 발생한다 (?)
- 기본 TPP component
- Page Reclamation Mechanism (page temperature 파악하고 CXL로 Cold offloading)
- Allocation과 Reclamation logic의 decoupling
- hot page는 다시 local로 올리는 reactive page promotion mechanism (LRU list 기반?)
- 또한 page type aware의 placement 제안했고 Evaluation의 baseline은 NUMA Balancing, AutoTiering 등
- Contribution
- Chameleon - memory characterization tool
- TPP - memory management
- Datacenter workload에서의 개선 Evaluation
[Motivation]