๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“š ny-wiki โ€” ์ „์ฒด ๋ชฉ์ฐจ

Storage ํšŒ์‚ฌ System SW ํŒ€์˜ NVMe FDP/HC-SSD ร— LMCache ์ตœ์ ํ™” ๋ฏธ์…˜ ์œ„ํ‚ค. ์šด์˜ ๊ทœ์น™์€ CLAUDE.md ์ฐธ์กฐ. ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ์ฒซ ์ฝœ์•„์›ƒ์— ์—…๋ฌด ๊ด€์  takeaway๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค. ์œ„ํ‚ค๋งํฌ [[ํŽ˜์ด์ง€๋ช…]]์€ ํด๋” ์œ„์น˜์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋™์ž‘ (Obsidian์ด ์ด๋ฆ„์œผ๋กœ resolve).


๐Ÿ—‚๏ธ ์ง„ํ–‰ ์ค‘์ธ ์—…๋ฌด โ€” work/โ€‹

์ง€๊ธˆ ์†๋Œ€๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค. ์™„๋ฃŒ๋˜๋ฉด ํŒŒ์ผ๋ช… ์•ž์— [Done] ํ‘œ์‹œ.

  • [[๋‹จ๊ธฐ-Task-๋ชฉ๋ก]] โ€” ์ง„ํ–‰ ์ค‘ยท์˜ˆ์ • 5๊ฐœ Task (L2 latency histogram ์™ธ).
  • [[raw_block-๊ฐœ์„ -Task]] โ€” H1/H2/M1/M2/S2 ๋…๋ฆฝ PR ๋ชฉ๋ก (S1 ์ฐฉ์ˆ˜ ๊ธˆ์ง€).
  • [[raw_block-Cleanup-PR]] โ€” ์ฒซ PR ํ›„๋ณด: dead code ์ •๋ฆฌ 3๊ฑด, 53/53 ํ…Œ์ŠคํŠธ ํ†ต๊ณผ.

raw_block PR ์นดํƒˆ๋กœ๊ทธ โ€” work/reviews/ (PR ๋ณ€๊ฒฝ๋‚ด์šฉ + ์•„ํ‚คํ…์ฒ˜ ๊ด€์ )

PR/์ปค๋ฐ‹์ž‘์„ฑ์ž๋‚ด์šฉ
[[raw_block-batched-remove-PR|batched_remove #3494]]์šฐ๋ฆฌ์‚ญ์ œ ๊ฒฝ๋กœ ๋ฝ Nโ†’2 (OPEN)
[[raw_block-put_many-lock-PR|L1 put_many lock]]์šฐ๋ฆฌput_many ๋ฝ 4Nโ†’2N
[[raw_block-put_many-batching-PR|L2 put_many batching]]์šฐ๋ฆฌper-key fan-out โ†’ ๋ฐฐ์น˜
[[raw_block-delete-toctou-PR|delete TOCTOU]]๊ถŒ์ƒ์œค์ •์‚ฐ race ์ˆ˜์ • (T1)
[[raw_block-checkpoint-recovery-PR|checkpoint recovery]]daegyu94partial recovery
[[raw_block-LRU-eviction-PR|LRU eviction]]daegyu94์Šฌ๋กฏ ๋ถ€์กฑ evict ์žฌ์‹œ๋„
[[raw_block-blkdiscard-PR|blkdiscard]]๊ถŒ์ƒ์œคinit ์‹œ BLKDISCARD
[[raw_block-checkpoint-compression-PR|checkpoint compression #3449]]Daejunzlib ์••์ถ•, Std SSD S2 ํ•ด์†Œ

ํŒ€ ์ด์Šˆ/PR ๋ชจ๋‹ˆํ„ฐ๋ง โ€” work/issues/

#์ž‘์„ฑ์ž์ œ๋ชฉ์ƒํƒœ
[[Issue-3394-NonMP-Eviction|#3394]]daegyu94non-MP eviction ๋ณต๊ตฌIssue open, PR ์—†์Œ
[[Issue-3392-Dynamic-Slot-Allocation|#3392]]daegyu94Dynamic Slot AllocationIssue open
[[PR-3305-Checksum|#3305]]daegyu94payload ์ฒดํฌ์„ฌ ๊ฒ€์ฆDraft PR
[[PR-3226-Incremental-Checkpoint|#3226]]Daejunincremental checkpointAPPROVED, ๋จธ์ง€ ๋Œ€๊ธฐ
[[PR-3274-IoUring-NVMe|#3274]]ankit-samio_uring_cmd NVMe passthrough๊ฐฑ์‹  ์ค‘
[[Issue-3262-Distributed-MP-RFC|#3262]]DongDongJuRFC: Distributed MP ์„ค๊ณ„ํ† ๋ก  ์ค‘

๐ŸŽฏ ๋ฏธ์…˜ & ๋ฐฉํ–ฅ์„ฑ โ€” 00-mission/โ€‹

  • [[Mission]] โ€” ์œ„ํ‚ค ์ „์ฒด์˜ ์ขŒํ‘œ์ถ•. 3๋Œ€ ๋ฐฉํ–ฅ(๊ฒ€์ฆ/์ตœ์ ํ™”/๊ธฐ์—ฌ)๊ณผ ํšŒ์‚ฌ ํฌ์ง€์…”๋‹.
  • [[๊ธฐ์—ฌ-ํฌ์ธํŠธ-๋งต]] โ€” Storage Stack 5๊ฐœ ๋ ˆ์ด์–ด, 11๊ฐœ ๊ธฐ์—ฌ ํฌ์ธํŠธ ๋งˆ์Šคํ„ฐ ์ธ๋ฑ์Šค.
  • [[Samsung-LMCache-ํŒ€]] โ€” ์‚ผ์„ฑ ํŒ€์› ๊ตฌ์„ฑ, ๊ธฐ์—ฌ ์˜์—ญ, ์˜คํ”ˆ PR, ์šฐ๋ฆฌ๊ฐ€ ๋…ธ๋ฆด ๋นˆ ์ž๋ฆฌ.
  • [[LMCache-๊ธฐ์—ฌ-๊ฐ€์ด๋“œ]] โ€” ์ฝ”๋“œ ๊ทœ์น™, PR ํ˜•์‹, ์ด์Šˆ ๋“ฑ๋ก ๊ธฐ์ค€, ์šฐ๋ฆฌ ํŒ€ ํŒจ์น˜ ํŒจํ„ด.
  • [[LMCache-Claude-Skills]] โ€” /pre-pr-checkยท/create-prยท/pr-review ์‚ฌ์šฉ๋ฒ• ๋ฐ ์›Œํฌํ”Œ๋กœ์šฐ.

๐Ÿง  LMCache (AI Cache SW) โ€” 10-lmcache/โ€‹

  • [[LMCache-๊ฐœ์š”]] โ€” ๋…ผ๋ฌธ ๊ธฐ๋ฐ˜ motivation/contribution. chunk batching์ด ํ•ต์‹ฌ.
  • [[LMCache-์•„ํ‚คํ…์ฒ˜]] โ€” 4-tier ร— 2-mode ร— 5-component ์ „์ฒด ๊ทธ๋ฆผ. ์šฐ๋ฆฌ๊ฐ€ ์†๋Œˆ ์ž๋ฆฌ.
  • [[LMCache-Local-Disk-Backend]] โ€” NVMe์™€ ๋งŒ๋‚˜๋Š” ์ •ํ™•ํ•œ ์ฝ”๋“œ. ์ฒญํฌ=ํŒŒ์ผ, async write, O_DIRECT.
  • [[LMCache-Async-Loading]] โ€” I/Oโ€“Compute Overlap, batched_async_contains.
  • [[LMCache-MP-NonMP-๋ชจ๋“œ]] โ€” MP(๋ณ„๋„ ์„œ๋ฒ„/ZMQ) vs Non-MP(vLLM ์ž„๋ฒ ๋“œ). FDP plugin์€ MP์˜ L2AdapterInterface๋งŒ ๊ตฌํ˜„.
  • [[LMCache-๋™์‹œ์„ฑ-๋น„๋™๊ธฐ-๊ธฐ์ดˆ]] โ€” Lock(์ถœ์ž…์ฆ)/Future(์ง„๋™๋ฒจ)/eventfd(๋„์–ด๋ฒจ). ๋ฝ ์ž‘์—…์˜ ์ „์ œ ๊ฐœ๋….
  • [[L2-์–ด๋Œ‘ํ„ฐ]] โ€” L2AdapterInterface ๊ณ„์•ฝ, Store/Prefetch ํ๋ฆ„, FDP placement ์‚ฝ์ž… ์ง€์ .
  • [[Plugin-Pipeline]] โ€” ์™ธ๋ถ€ ๋ฐฑ์—”๋“œ(FDP ํฌํ•จ)๋ฅผ LMCache์— ๋“ฑ๋กํ•˜๋Š” plugin ๋ฉ”์ปค๋‹ˆ์ฆ˜.
  • [[AI-Memory-ํ”Œ๋žซํผ]] โ€” Tensormesh(ํด๋Ÿฌ์Šคํ„ฐ KV ๊ณต์œ )ยทWEKA(distributed NVMe) + Samsung FDP์˜ ์œ„์น˜.

raw_block (์šฐ๋ฆฌ ํ•ต์‹ฌ ์˜์—ญ) โ€” 10-lmcache/raw_block/

  • [[raw_block-๋‚ด๋ถ€๊ตฌ์กฐ]] โ€” ๋””๋ฐ”์ด์Šค ๋ ˆ์ด์•„์›ƒ, ์Šฌ๋กฏ ๊ตฌ์กฐ, write/read path, checkpoint ์กฐ๊ฑด Q&A.
  • [[raw_block-์ข…๋‹จ-๋ถ„์„]] โ€” raw_block L1~L4 ์ „๊ณ„์ธต. FDP ์‚ฝ์ž… ์ง€์  H1-H8, io_uring ํ˜„ํ™ฉ, HC-SSD ์Šค์ผ€์ผ ์œ„ํ—˜.
  • [[raw_block-io_uring-cmd]] โ€” PR #3274 ๋ถ„์„. io_uring_cmd passthrough ๊ตฌํ˜„, big SQE 128B, FDP ์—ฐ๋™ ๊ธฐ๋ฐ˜.
  • [[raw_block-์„ฑ๋Šฅ-์šฐ์„ ์ˆœ์œ„]] โ€” ์ข…ํ•ฉ ์„ฑ๋Šฅ ๋ถ„์„ ์šฐ์„ ์ˆœ์œ„(T1/L1/L2/P0โ€ฆ). raw_block ๊ธฐ์—ฌ PR๋“ค์˜ ์ถœ์ฒ˜.
  • [[raw_block-PR-Landscape]] โ€” ์—ด๋ฆฐ PR 12๊ฐœ โ†” ์šฐ์„ ์ˆœ์œ„ ๋งคํ•‘, #3274 ์ปค๋ฒ„ ๋ฒ”์œ„, ๋ฏธ์ฐฉ์ˆ˜ Gap(G1~G4) (2026-06-05).
  • [[raw_block-CI-์ปค๋ฒ„๋ฆฌ์ง€]] โ€” PR CI ์‚ฌ๊ฐ์ง€๋Œ€(O_DIRECTยท๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šคยท์ฃผ๊ธฐ์  ์ฒดํฌํฌ์ธํŠธ), ์‹ค์žฅ ํ…Œ์ŠคํŠธ ํ•„์š” ์กฐ๊ฑด.
  • [[S2-checkpoint-overflow]] โ€” checkpoint silent fail ๋ฒ„๊ทธ. #3449 zlib ์••์ถ•์œผ๋กœ Std SSD ํ•ด์†Œ, HC SSD(15/30TB) ์ž”์กด.

๐Ÿค– AI ์ถ”๋ก  ๊ธฐ์ดˆ โ€” 20-ai-inference/โ€‹

  • [[KV-Cache]] โ€” ์šฐ๋ฆฌ ๋ฏธ์…˜์˜ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด. lifetime ๋ถˆ๊ท ์ผ์ด WAF ์›์ธ.
  • [[vLLM-PagedAttention]] โ€” page scatter ๋น„ํšจ์œจ โ†’ LMCache chunk batching์˜ ๋™๊ธฐ.
  • [[PD-Disaggregation]] โ€” Prefill โ†” Decode ๋ถ„๋ฆฌ. Transport Mode์˜ ๋ฐฐ๊ฒฝ.
  • [[TTFT-ITL]] โ€” ์‚ฌ์šฉ์ž ์ฒด๊ฐ KPI. SSD โ†’ ์‚ฌ์šฉ์ž ์ธ๊ณผ ์‚ฌ์Šฌ์˜ ๋.

๐Ÿ’พ NVMe / SSD ๊ธฐ์ดˆ โ€” 30-nvme-ssd/โ€‹

  • [[NAND-Flash-๊ธฐ์ดˆ]] โ€” Page/Block, erase-before-write, Append Point.
  • [[WAF]] โ€” Write Amplification Factor. ๊ฐ€์žฅ ์ •๋Ÿ‰์ ์ธ KPI.
  • [[Garbage-Collection]] โ€” WAF์˜ ์ง์ ‘ ๋ฉ”์ปค๋‹ˆ์ฆ˜.
  • [[NVMe-FDP]] โ€” ์šฐ๋ฆฌ ํ•ต์‹ฌ HW ๊ธฐ์ˆ . RU/RUH/RG/PH/EG.
  • [[HC-SSD]] โ€” QLC ๊ธฐ๋ฐ˜ ๋Œ€์šฉ๋Ÿ‰. FDP ํšจ๊ณผ๊ฐ€ ๊ฐ€์žฅ ํฐ ๋ฏธ๋””์–ด.
  • [[๋ฐ์ดํ„ฐ-๋ฐฐ์น˜-๊ธฐ์ˆ -์—ญ์‚ฌ]] โ€” OCSSD/Streams/ZNS/FDP. ์‹คํŒจ์—์„œ ๋ฐฐ์šด ์„ค๊ณ„.
  • [[CacheLib-FDP-์‚ฌ๋ก€]] โ€” Meta ์‚ฌ๋ก€: WAF 3.5 โ†’ ~1.0. ์šฐ๋ฆฌ ๊ฐ€์„ค์˜ ์™ธ๋ถ€ ์ฆ๊ฑฐ.
  • [[FDP-SSD-LMCache-PoC]] โ€” LMCache์—์„œ FDP ๋ฐฐ์น˜ ์ „๋žต 3๊ฐ€์ง€ (prompt๋ณ„/๋‹จ๊ณ„๋ณ„/TP ์›Œ์ปค๋ณ„).

๐Ÿ› ๏ธ Storage Stack & System SW โ€” 40-storage-stack/โ€‹

  • [[Storage-Stack]] โ€” FS โ†’ Block โ†’ NVMe โ†’ SSD 4๋ ˆ์ด์–ด ์ขŒํ‘œ๊ณ„.
  • [[O_DIRECT]] โ€” Page Cache ์šฐํšŒ. ์ธก์ •์˜ ๋ช…๋ฃŒ์„ฑ.
  • [[io_uring]] โ€” ์ง„์งœ async I/O + FDP hint ์ „๋‹ฌ ๊ฒฝ๋กœ.

๐ŸŽฎ GPU ร— Storage ์—ฐ๋™ โ€” 50-gpu-storage/โ€‹

  • [[GPU-Direct-Storage]] โ€” CPU ์šฐํšŒ. FDP์™€ ๊ฒฐํ•ฉ ์‹œ ๊ฐ€์žฅ ๊นŠ์€ ์ง๊ฒฐ ๊ฒฝ๋กœ.

๐Ÿ“ ์ž‘์—… ์ด๋ ฅโ€‹

  • log.md โ€” ์ž๋ฃŒ ์ถ”๊ฐ€ / ํŽ˜์ด์ง€ ์ž‘์„ฑยท๊ฐฑ์‹  / ๊ฑด๊ฐ•๊ฒ€์ง„ ์ด๋ ฅ.

๐Ÿ”ญ ์•„์ง ๋น„์–ด์žˆ๋Š” ์˜์—ญ (์•ž์œผ๋กœ ์ฑ„์šธ ํ›„๋ณด)โ€‹

  • [[๊ธฐ์—ฌ-ํฌ์ธํŠธ-๋งต]] [4] FS ์„ ํƒ โ€” ext4/xfs/f2fs ๋น„๊ต โ†’ 40-storage-stack/
  • [[๊ธฐ์—ฌ-ํฌ์ธํŠธ-๋งต]] [6] I/O Scheduler ํŠœ๋‹ โ†’ 40-storage-stack/
  • LMCache GDS Backend ๊ตฌํ˜„ ๋ถ„์„ (FDP Backend ๋ ˆํผ๋Ÿฐ์Šค์šฉ) โ†’ 10-lmcache/
  • vLLM ํ†ตํ•ฉ ์–ด๋Œ‘ํ„ฐ ์ฝ”๋“œ (integration/vllm/) โ†’ 10-lmcache/
  • NIXL / Mooncake (Transport Mode ๋ฐฑ์—”๋“œ) โ†’ 10-lmcache/
  • xNVMe ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (FDP-aware ์ถ”์ƒํ™”) โ†’ 40-storage-stack/
  • SPDK FDP ๊ฒฝ๋กœ (์ปค๋„ ์šฐํšŒ๊นŒ์ง€) โ†’ 40-storage-stack/