본문으로 건너뛰기

주간보고 — 2026-W22 (5/25 ~ 5/31)

작성자: nayeon 영역: LMCache upstream 기여 (Samsung Storage SW 파트)


▶ 이번주 완료

1. LMCache 아키텍처 종합 리뷰

  • raw_block backend L1~L4 라인 종단 분석 (private/refs/notes/raw_block_line.md)
  • adapter ↔ plugin 파이프라인 연결 메커니즘 분석 (plugin_pipeline.md)
  • L2 adapter 인터페이스 contract 정리

2. 외부 PR 분석 — Ankit 책임 #3274 (NVMe io_uring_cmd)

  • 위키 형태 코드 레벨 분석 (private/refs/pr3274_iouring_nvme.md)
  • 본인 작업(M3, io_uring setup flag 튜닝)이 #3274 머지를 전제로 한다는 점 명시

3. 첫 PR 업로드: #3445 (RawBlockCore cleanup)

  • 대상: lmcache/v1/storage_backend/raw_block/core.py
  • 내용: delete_many의 redundant existed 변수, _is_valid_checkpoint_entry의 도달 불가 slot < 0 조건, _apply_loaded_statedata.get("device_path") 중복 호출 제거
  • 검증: 관련 테스트 53/53 통과, pre-commit clean
  • 5/29 origin push → upstream PR 생성

4. 다음 PR 후보 분석: A1 — batched_remove 락 중복 호출

  • 발견: DAX backend는 이미 단일-lock batch로 override했으나 RustRawBlockBackend/LocalCPUBackend는 abstract의 for-loop fallback 사용 → N키 삭제 시 락 2N회 acquire
  • 영향 범위: in-process mode eviction 경로 한정 (MP path는 L2 adapter가 이미 _core.delete_many 직접 호출)
  • 분석 문서 작성 (private/work/raw_block/candidate_a1_batched_remove.md)

5. S2 — raw_block checkpoint silent overflow 종합 분석

  • _write_full_base에서 base JSON이 payload_capacity 초과 시 warning + return False로 silent skip → 재시작 시 인덱스 유실
  • 박대준 책임 #3226 (base+delta 체크포인트) 머지 후에도 동일 코드 경로 살아있음 확인
  • 재현 스크립트 3종(메커니즘/midscale/real-default) 작성, midscale 실측
  • Daejun 협의용 one-pager 작성 (work/s2_checkpoint_overflow/s2_one_pager.md)

▶ 진행 중

  • #3445 리뷰 대응 대기
  • A1 PR 코드 구현 (분석 → 실제 코드 옮기는 단계)

▶ 다음주 예정

  • A1 PR 코드/테스트 → commit → origin push → upstream PR 업로드
  • M3 (io_uring setup flag) 준비 — Ankit #3274 머지 모니터링
  • S2 Daejun 협의 진행 (영역 분리 + 후속 조율)

※ 비고

  • 박대준 책임 raw_block checkpoint 압축(#3226/#3449)과 본인 작업(cleanup, batched_remove) 영역 겹치지 않음 확인 — 다른 함수
  • 한대규 책임 FDP placement 영역은 본인 작업과 중복 없음 (다른 모듈)
  • 첫 PR 등록 시 GitHub fork 인증 셋업 (SSH key 별도 발급, ~/.ssh/config host alias)