본문으로 건너뛰기

private/ — Storage Stack 분석 작업 공간

이 디렉터리는 LMCache 의 SSD I/O 스택을 FDP / HC-SSD / io_uring 활용 관점에서 분석하기 위한 개인 작업 폴더이다. 코드 수정은 하지 않고 분석/노트만 쌓는다.

출발점 (먼저 읽어라)

  1. goal.txt — 회사 입장과 업무 정의 ("우리 = Storage 회사, LMCache = AI 인프라 접점")
  2. architecture-review.md — LMCache 4-tier 구조, 256-token chunk 와 FDP RU 정합, use_odirect 의 의미 등 핵심 인사이트
  3. docs/lmcache_overview.md — 코드베이스 지도. storage_backend/distributed/l2_adapters/ 의 관계 정리.
  4. docs/TODO.md — 분석 순서. TODO 1~4 완료, TODO 4.5 (raw_block 후속 검증) 가 다음.

디렉터리 구조

private/
├── README.md ← (이 파일)
├── goal.txt ← 회사 입장 / 업무 정의
├── architecture-review.md ← 아키텍처 Q&A 정리
├── docs/
│ ├── TODO.md ← 분석 TODO (권위 있는 버전)
│ ├── lmcache_overview.md ← 코드베이스 지도
│ └── notes/ ← 모듈별 분석 노트 (L1~L4 렌즈)
│ ├── l2_adapters_overall.md ← TODO 1 산출
│ ├── l2_adapters_overall_KR.md
│ ├── l2_adapters_contract.md ← TODO 2 산출
│ ├── plugin_pipeline.md ← TODO 3 산출
│ ├── raw_block_line.md ← TODO 4 산출
│ ├── raw-block-perf-findings.md ← TODO 4 사전 메모 (성능 관점)
│ └── mp_vs_non_mp.md ← 보충: MP / Non-MP 모드 정의·차이
└── _archive/ ← 폐기된 초기 작업 (참조용)
├── README.md
├── storage-perf-plan.md
└── TODO.md

분석 렌즈 (L1~L4)

모든 모듈 노트는 다음 4개 섹션으로 작성한다 (자세한 내용은 docs/TODO.md §0):

#렌즈묻는 질문
L1Contract인터페이스/추상 클래스, 입출력, invariant, 호출 순서
L2I/O 경로read/write 발생 지점, host buffer ↔ device ↔ disk 흐름
L3FDP / HC-SSD 삽입 지점placement_id, RUH, stream hint, offload hook 후보
L4io_uring 활용 방식ring 위치, queue depth, 배치 정책, op 종류, registered buffer

다음 작업

TODO 4.5: raw_block 분석 후속 검증 (docs/TODO.md §2 TODO 4.5) 산출 위치: private/docs/notes/raw_block_line.md 의 해당 섹션 inline 갱신 주요 검증: register_fixed_buffers 호출자 / L1 memory pool ↔ PLID 풀 / _snapshot_state lock hold / _free_slots O(n) / meta_total_bytes 충분성