본문으로 건너뛰기

FDP PoC 단계 3 — build + sanity runbook

이 디렉터리는 smrc에서 PoC 브랜치를 빌드하고 raw_block/FDP sanity를 확인하기 위한 실행 파일 묶음이다.

사용 순서

smrc에서:

export REPO=/home/ny/work/LMCache-fdp-poc-src
export NVME_IO_DEV=/dev/ng0n1
export NVME_DEV=/dev/nvme0
export NVME_NS=/dev/nvme0n1
export FDP_RUHS=0,1,2,3
export OUT=$HOME/fdp_build_test

cd /path/to/copied/03_build_test
bash build_and_test.sh

결과 회수:

tar czf fdp_build_test.tar.gz -C "$HOME" fdp_build_test

로컬로 가져온 뒤 fdp/03_build_test/raw/ 또는 이 디렉터리 아래에 풀어두면 된다.

산출물

  • build_log.txt: venv 생성, pip install, maturin develop, import smoke 로그
  • pytest_raw_block.txt: raw_block 관련 pytest 로그
  • sanity_write_chunk.log: 최소 FDP write/read smoke 스크립트 로그
  • sanity_before_fdp_stats.txt, sanity_after_fdp_stats.txt: sanity 전후 FDP stats
  • sanity_before_smart.txt, sanity_after_smart.txt: sanity 전후 SMART
  • sanity_stats_delta.diff: FDP stats 텍스트 diff
  • sanity_smoke.md: 사람이 읽는 요약

주의

NVME_IO_DEV는 PoC의 io_uring_cmd 경로가 요구하는 NVMe namespace character device(/dev/ng0n1 같은 형태)다. NVME_NSnvme smart-log / nvme fdp stats 수집에 쓰는 block namespace(/dev/nvme0n1)다.

sanity_write_chunk.py는 실제 PoC Rust 모듈(lmcache_rust_raw_block_io.RawBlockDevice)을 직접 열어 write_uring(..., dtype=2, dspec=<RUH>)를 1회 호출한다. 실패하면 sanity_write_chunk.log의 에러와 pytest_raw_block.txt를 같이 보면 된다.