주간보고 — 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의 redundantexisted변수,_is_valid_checkpoint_entry의 도달 불가slot < 0조건,_apply_loaded_state의data.get("device_path")중복 호출 제거 - 검증: 관련 테스트 53/53 통과,
pre-commitclean - 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/confighost alias)