[Sensitivity Study - Prefetching]
Hypothesis
- Microservice application에서 하드웨어 prefetcher를 비활성화할 때, Constructivism과 baseline의 LLC miss 증가폭은 동일하게 나타나지만, 병목 서비스에서 slow tier 접근 비중이 큰 baseline의 tail-latency knee를 더 낮은 RPS로 이동한다.
Insight
- Prefetch는 예측 가능한 접근을 미리 캐시로 올려 miss 횟수를 줄이고, tier placement는 miss가 발생한 access latency를 줄인다. AMAT에서 서로 다른 항에 관계된다.
- Constructivism은 캐시 계층에 관여하지 않으므로 miss 횟수는 baseline과 같으나, 병목 서비스의 working set을 fast tier에 유지하여 miss 이후 접근의 평균 access latency를 감소시킨다.
- Prefetch가 꺼져 miss 횟수가 늘면 지연이 큰 접근의 절대량이 증가하고, tail latency 격차가 벌어진다.
Metric
- p99 latency 및 LLC miss count
실험 방법
- Linux memory hotplug로 각 노드의 메모리 블록을 offline 하여 2:3 host-to-CXL 비율 구성
- BIOS 설정 변경을 통해 MSR 0x1A4 prefetcher field를 제어하며 default (enable) 조건, disable 조건에서 순차적으로 구성
- Hotel Reservation - mixed workload, RPS 1700 조건에서 baseline 구성 및 Constructivism에서 순차적으로 tail latency를 측정
- 측정 간 perf event capture를 통해 llc count 기록
실험 결과
