FDP PoC steady-state / overprovisioning 평가 계획
작성일: 2026-06-25
관련 문서:
00_source_verify.md../reports/2026-06-19_repeated_trials_host_write_reinterpretation.md../reports/2026-06-15_waf_r0_window32g_readme8_result.md../04_measure/runbook.md
한 줄 결론
기존 32GiB window-local R0 결과는 PoC harness 동작 검증으로는 충분하지만, FDP가 WAF를 낮춘다는 결론에는 부족하다. 다음 평가는 FDP mode 비교 전에 overprovisioning/free-block headroom이 너무 큰 조건인지 확인하고, WAF가 관측 가능한 steady-state 조건을 만든 뒤 3-mode 비교를 수행한다.
왜 다시 잡는가
기존 정식 batch는 다음 조건을 만족했다.
no_fdp,mixed,separated모두 실행 성공- OCP media counter로 WAF 산출 가능
- process/replay failure 0
- README 기준
stress,warmup=2,measurement=8충족
하지만 반복실험 재해석에서 세 mode의 replay operation 수가 동일했고, WAF ratio는 세 mode가 거의 같았다. 따라서 host/media write volume 차이는 FDP가 application write를 줄인 증거가 아니라, controller counter window, precondition 잔여 상태, free-block headroom 영향일 가능성이 크다.
핵심 가설은 다음과 같다.
SSD usable capacity 대비 free block / OP 여유가 너무 크면,
synthetic trace가 raw-block window 안에서 slot reuse를 많이 만들어도
device-level valid-copy GC가 충분히 발생하지 않아 WAF가 1 근처에 붙는다.
이 상태에서는 FDP placement 효과를 관측하기 어렵다.
따라서 다음 실험은 "FDP가 이기는가"보다 먼저 "싸움이 열릴 만큼 SSD가 찼는가"를 검증해야 한다.
현재 코드가 실제로 평가하는 것
PoC harness가 검증하는 정책은 원문 PoC의 per-prompt나 per-vLLM-worker placement가 아니다. 현재 구현은 synthetic workload class를 lifetime proxy로 보는 class-aware placement다.
| Mode | FDP | 의미 |
|---|---|---|
no_fdp | off | placement hint 없는 baseline |
mixed | on | FDP는 켜지만 hot/cold/metadata workload가 같은 RUH pool을 공유 |
separated | on | hot/small/random, cold/RAG/large, metadata-heavy를 다른 RUH group으로 분리 |
mode 간 write path는 거의 같다. 차이는 FDP directive dtype/dspec와 RUH mapping이다.
그러므로 mode별 logical operation 수는 같아야 하며, 효과 판단은 host write volume 단독이 아니라
WAF ratio와 tail latency를 중심으로 해야 한다.
평가 목표
- Overprovisioning gate: 현재 usable capacity / OP / free-block headroom이 너무 커서 WAF가 1 근처에 붙는지 확인한다.
- Steady-state gate:
no_fdp만 먼저 실행해서 WAF가 1보다 충분히 커지는 최소 조건을 찾는다. - 3-mode 비교: steady-state gate를 통과한 조건에서
no_fdp,mixed,separated를 반복 비교한다. - tensormesh 진입 판단: storage-level WAF 신호가 재현될 때만 TTFT/serving 평가로 넘어간다.
Overprovisioning gate
확인 항목
| 항목 | 확인 이유 |
|---|---|
| SSD physical/namespace usable capacity | usable capacity가 너무 크면 clean/free block이 많아 WAF가 낮게 보임 |
| FDP reclaim unit nominal size | 실험 span이 RU geometry 대비 너무 작으면 RUH 효과가 흐려질 수 있음 |
| RUH count와 실제 사용 RUH | mixed/separated mapping이 device capability와 맞는지 확인 |
| harness total raw window size | 현재 stress 기준 약 9.5GiB window |
| measurement logical store volume | stress measurement 8회 기준 약 688GiB logical store |
| precondition span | R0가 harness window와 device free space를 얼마나 덮는지 확인 |
no_fdp WAF | WAF가 1 근처면 FDP 비교 전에 pressure 부족으로 판단 |
판정
| 관측 | 해석 | 다음 행동 |
|---|---|---|
no_fdp WAF가 계속 1.00~1.02 | OP/free-block headroom이 너무 커서 GC pressure 부족 가능성 큼 | usable span 축소 또는 precondition span 확대 |
no_fdp WAF가 반복적으로 > 1.05 | WAF 관측 가능 조건으로 진입 | 3-mode 비교 진행 |
| WAF가 run마다 크게 흔들림 | counter capture/settle/precondition 조건 불안정 | settle 고정, 실행 순서 rotate, invalid run 분리 |
| host write만 줄고 WAF ratio는 동일 | FDP 효과 아님. counter/window artifact 가능성 | WAF 중심으로 재해석 |
정확한 threshold는 장치/firmware에 의존한다. 다만 기존 결과처럼 세 mode가 모두 약 1.0159에 붙으면
"FDP 효과 없음"이 아니라 "관측 pressure 부족"을 먼저 의심한다.
Steady-state 실험 축
우선순위는 namespace 축소 또는 equivalent limited-capacity setup이다. namespace 재구성이 불가능하면 더 큰 full-span precondition으로 fallback한다.
| 단계 | usable span / precondition 조건 | 목적 |
|---|---|---|
| S0 | 기존 32GiB window-local R0 | 이미 완료. harness 동작 검증 baseline |
| S1 | 64GiB limited span | 가장 빠른 OP/headroom 민감도 확인 |
| S2 | 128GiB limited span | stress measurement 688GiB 대비 높은 overwrite pressure |
| S3 | 256GiB limited span | 더 완만한 steady-state 후보 |
| S4 | 512GiB 또는 full-span R0 | namespace 축소가 어렵거나 최종 주장 강화 필요 시 |
각 단계는 no_fdp gate를 먼저 통과해야 한다. no_fdp WAF가 1 근처면 해당 조건에서
mixed/separated를 돌리지 않는다.
정식 실행 조건
공통 조건:
TRACE_SCALE=stress
WARMUP_ITERATIONS=2
MEASUREMENT_ITERATIONS=8
REPLAY_SETTLE_SECONDS=30
POST_MEASURE_SETTLE_SECONDS=360
DISABLE_MODE_WINDOW_SHIFT=1
FDP_RUH_COUNT=8
VENDOR_MEDIA_WRITE_COMMAND="nvme ocp smart-add-log /dev/nvme0n1 -o json"
steady-state gate:
R0/precondition for selected usable span
→ no_fdp
→ parse/report
→ WAF gate 판정
3-mode comparison:
for trial in repeated trials:
rotate mode order
for mode in no_fdp,mixed,separated:
R0/precondition for selected usable span
run mode
parse/report
aggregate repeated_summary.csv
권장 반복 설정:
REPEATS=3
ORDER_STRATEGY=rotate
RUN_R0_EACH_MODE=1
성공 기준
Gate pass
no_fdpWAF가 1보다 충분히 높고 반복 run에서 안정적이다.host_write_bytes_delta > 0media_write_bytes_delta > 0waf_status=available- process failure 0
- replay record failure 0
- measurement op count가 기대값과 일치한다.
FDP 효과 주장 가능
separatedWAF ratio가no_fdp와mixed보다 반복적으로 낮다.- 세 mode의 operation count와 failure count가 같다.
- p99 write/read latency가 악화되지 않거나, 악화가 있으면 WAF gain과 trade-off로 명시 가능하다.
- 결과가 실행 순서에 의존하지 않는다.
FDP 효과 미입증
- 세 mode WAF ratio가 거의 같다.
- trial별 우열 방향이 흔들린다.
- host/media write volume만 다르고 WAF ratio가 분리되지 않는다.
no_fdpWAF 자체가 1 근처라면 "FDP 효과 없음"이 아니라 "OP/headroom이 너무 커서 관측 실패"로 먼저 해석한다.
산출물
| 산출물 | 내용 |
|---|---|
overprovisioning_gate_report.md | capacity/span/OP 가정, no_fdp WAF gate 결과 |
steady_state_3mode_report.md | gate 통과 조건에서 3-mode 반복 비교 |
repeated_summary.csv | mode별 per-run + aggregate 결과 |
run_config.resolved.yaml | 각 run의 device/window/RUH 설정 원본 |
summary.json / measurement_*.json | WAF/counter 원본 |
tensormesh 진입 조건
storage-level PoC에서 아래를 만족할 때만 tensormesh로 넘어간다.
- steady-state gate 통과
separatedWAF ratio 개선이 반복 재현- p99 latency 악화가 없거나 수용 가능한 trade-off
- failure 0
tensormesh 단계에서는 storage WAF 외에 TTFT, request latency, throughput, LMCache hit ratio를 추가한다. 단, storage-level에서 WAF 신호가 없으면 tensormesh는 원인 분석보다 변수가 많아지므로 후순위로 둔다.
기본 입장
다음 결과 보고에서 문장을 분리한다.
- 말할 수 있음: "PoC harness는 FDP SSD에서 실행 가능하고, OCP counter로 WAF를 산출할 수 있다."
- 아직 말하면 안 됨: "FDP separated가 WAF를 낮춘다."
- 다음에 검증할 것: "OP/free-block headroom을 줄인 steady-state 조건에서 WAF ratio가 mode별로 분리되는가."