Samsung LMCache 팀
[!tldr] 업무 관점 takeaway FDP/io_uring 관련 작업은 **한대규(FDP 설계·non-MP eviction #3394)·Ankit Kumar(io_uring+NVMe passthrough #3274)**가 주도 중이다. S1(non-MP eviction)은 한대규가 가져감 → 착수 금지. 빈 자리: builder setup flag(M2), HC-SSD 스케일 검증, S2 fix. 삼성 Committer는 서동주(@DongDongJu) 단 1명.
멤버 구성
| 이름 | GitHub | 주요 담당 영역 |
|---|---|---|
| 서동주 (Dongjoo Seo) | @DongDongJu | Rust raw block 전체, DAX MP — 유일한 Committer |
| 진원원 (Wenwen Chen) | @Wenwen-Chen | 3FS 스토리지 백엔드 |
| 권상윤 (Sangyoon Kwon) | @2xdevv | Raw block sharding/복구 |
| 박재형 (JaeHyeong Park) | — | DAX 백엔드 최초 구현 |
| Ankit Kumar | @ankit-sam | Raw block io_uring, NVMe passthrough |
| 박대준 (Daejun Park) | — | RawBlock TP>1, checkpoint 포맷 incremental #3226 |
| 김동진 (Dongjin Kim) | — | RawBlock TP>1 |
| 한대규 (Daegyu Han) | @daegyu94 | Raw block 무결성/LRU, non-MP eviction #3394, FDP 설계 |
기여 영역 구도
Samsung LMCache 기여 영역
│
├── Rust raw block backend (NVMe 직접 I/O)
│ ├── 설계/주도: Dongjoo Seo ← 유일한 Committer
│ ├── io_uring: Ankit Kumar
│ ├── TP>1: Daejun Park + Dongjin Kim
│ ├── sharding/복구: Sangyoon Kwon
│ ├── checkpoint 포맷: Daejun Park (#3226 incremental base+delta)
│ ├── 무결성/LRU + FDP 설계: Daegyu Han
│ └── non-MP eviction 복구: Daegyu Han (#3394, 2026-05-27~)
│
├── DAX backend (/dev/dax, CXL memory)
│ ├── 최초 구현: JaeHyeong Park
│ └── MP 확장: Dongjoo Seo
│
└── 3FS backend (DeepSeek 분산 파일시스템)
└── 전담: Wenwen Chen
FDP/io_uring 관련 — 우리 미션과 교차점
한대규 (@daegyu94) — non-MP eviction + FDP 설계
| PR/이슈 | 내용 | 상태 |
|---|---|---|
| [[Issue-3394-NonMP-Eviction|#3394]] | non-MP raw-block eviction 복구 (DongDongJu regression 인정, daegyu94가 fix 가져감) | 오픈, 후속 PR 예정 |
| [[PR-3305-Checksum|#3305]] | raw-block payload 체크섬 검증 | Draft |
| #2726 | RustRawBlockBackend LRU 처리 개선 | stale (#3394로 흡수) |
#3394 핵심: "#3119 MP refactor로 non-MP eviction이 사라진 거 아닌가?" → DongDongJu "It was my fault" → daegyu94 "I'll revive it on the in-process mode side." → S1(non-MP eviction) 착수 금지.
NVMe FDP 설계 진행 중 (PR 미공개). FDP 정책 영역 → 중복 착수 금지.
박대준 (Daejun Park) — checkpoint 포맷
| PR | 내용 | 상태 |
|---|---|---|
| [[PR-3226-Incremental-Checkpoint|#3226]] | raw_block incremental base+delta checkpoint 포맷 | APPROVED (DongDongJu, 2026-05-26) |
| #2948 | RawBlock TP>1 (Dongjin Kim 공동) | 머지됨 |
#3226 S2와의 관계: delta+base 구조로 write 비용 감소가 목적. base는 여전히 JSON 전체 직렬화 → S2(base payload overflow at HC SSD scale)는 이 PR과 직교, 미해결. S2 착수 전 박대준에게 범위 확인 필요 (
raw/daejun_question_draft.md참고).
Ankit Kumar (@ankit-sam) — io_uring + NVMe passthrough
| PR | 내용 | 상태 |
|---|---|---|
| [[PR-3274-IoUring-NVMe|#3274]] | io_uring_cmd NVMe passthrough + fixed buffer 등록(register_fixed_buffers_from_allocator) + IoUring::builder() 전환 | 활발히 갱신 중 |
| #2635 | Rust raw block에 io_uring 지원 추가 | 머지됨 |
#3274는 FDP의 전제가 되는 "배관" 작업. 단, builder의 setup flag(SINGLE_ISSUER 등)는 미포함 → 그 부분은 빈 자리.
주요 오픈 PR 전체 (2026-05-20 기준)
서동주
| PR | 내용 | 규모 |
|---|---|---|
| #3330 | [Core][MP] Add native C++ MP server | 대형 |
| #3264 | DAX hotplug HTTP API | 중형 |
| #3203 | raw-block CI 테스트 추가 | 소형 |
| #3189 | LocalCPUBackend 복구 버그픽스 | 소형 |
| #2964 | raw block plugin name 문서 보완 | 소형 |
| #2734 | 디스크 캐시 재시작 후 재사용 버그픽스 | 소형 |
[[Issue-3262-Distributed-MP-RFC|#3262 (RFC: Distributed MP design)]] — 크로스노드 KV 캐시 공유 설계 토론 (Design A~D). Samsung NVMe 공유 L2(Design A) 기여 진입점. 일관성 프로토콜은 @DongDongJu 영역, 우리는 백엔드 wiring + 의견 제시.
권상윤
| PR | 내용 | 상태 |
|---|---|---|
| #3260 | raw-block device cleanup & alignment 강화 | 오픈 |
| #3210 | 단일 노드 raw-block L2 device sharding 테스트 | 오픈 |
진원원
| PR | 내용 | 상태 |
|---|---|---|
| #3283 | 3FS 및 fs 백엔드 I/O 벤치마크 도구 추가 | 오픈 |
빈 자리 — 기여 가능한 영역
| 영역 | 현재 상태 | 우리가 할 수 있는 것 |
|---|---|---|
| io_uring builder setup flag | #3274에서 미포함 | SINGLE_ISSUER 등 flag 추가 |
| HC-SSD 스케일 검증 | 없음 | raw_block + HC-SSD 조합 벤치마크 |
| FDP hint 정책 | 한대규 설계 중 (PR 미공개) | 설계 공개 후 협력 or 보완 |
| raw_block + FDP 통합 | 전무 | FDP hint를 io_uring_cmd로 전달하는 경로 |
관련 페이지
- [[LMCache-기여-가이드]] — PR 형식, 코드 규칙, 이슈 등록 기준
- [[raw_block-개선-Task]] — H1/H2/M1/M2/S2 우리 진행 중 Task
- [[Issue-3394-NonMP-Eviction]] — daegyu94 #3394 (S1 착수 금지 근거)
- [[PR-3226-Incremental-Checkpoint]] — Daejun #3226 (S2와 직교)
- [[PR-3274-IoUring-NVMe]] — ankit-sam #3274 (M1/M2 선행 PR)
팀원별 raw_block PR 카탈로그 (work/reviews/)
- 우리(Nayeon): [[raw_block-batched-remove-PR]] (#3494) · [[raw_block-put_many-lock-PR]] (L1) · [[raw_block-put_many-batching-PR]] (L2)
- 권상윤: [[raw_block-delete-toctou-PR]] (T1 정산 버그) · [[raw_block-blkdiscard-PR]] (init trim)
- daegyu94: [[raw_block-checkpoint-recovery-PR]] (partial recovery) · [[raw_block-LRU-eviction-PR]] (S1 eviction)