Files
nis2/project-tasks/p29-mooncake.md
T
2026-09-06 19:26:12 +03:00

4.7 KiB
Raw Blame History

P29. Mooncake: глобальный многоуровневый KV-кэш

  • Версия и дата проверки: 1.0, 05.09.2026.
  • Статус: готово к назначению.

Статья и исходные материалы

  • Основная статья: Ruoyu Qin и соавт. — Mooncake: Trading More Storage for Less Computation — A KVCache-centric Architecture for Serving LLM Chatbot. FAST 2025, Best Paper.
  • Кратко о статье: Для длинных диалогов и повторяющихся префиксов повторный prefill расходует дорогие вычисления, хотя готовый KV-кэш можно сохранить и передать. Mooncake отделяет стадии prefill и decode и строит глобальный многоуровневый KV-кэш на памяти и накопителях вычислительных узлов. В проекте сравниваются повторное вычисление, локальный кэш и общее блочное хранилище при разных сетевых ограничениях.
  • Почему результат актуален: Mooncake разделяет prefill и decode и превращает память GPU, DRAM и SSD кластера в общий KV-кэш, управляемый с учётом повторного использования и требований к задержке.
  • Артефакты и данные: kvcache-ai/Mooncake под Apache-2.0 с движком передачи и FAST25-трассами, включая отдельную агентную нагрузку. Зафиксированные ревизии: kvcache-ai/Mooncake@408b831bfeff (Apache-2.0).

Обязательный результат

  • Проверяемый вопрос или утверждение: глобальное хранение KV-блоков может выгодно заменить повторный prefill для длинных общих префиксов, но результат определяется пропускной способностью хранилища, конкуренцией за сеть и политикой допуска в кэш.
  • Технический результат: Построить из нескольких процессов общий блочный кэш поверх RAM и локального SSD с сетевым чтением, вытеснением и предварительной загрузкой. Добавить локальный LRU и модель повторного вычисления, проигрыватель открытых трасс и проверку целостности возвращаемых блоков.
  • Эксперимент: на подготовленном блочном кэше и открытых трассах сравнить глобальную политику с локальным LRU и повторным вычислением по доле попаданий, переданным байтам, задержке и goodput.
  • Границы выводов: стенд проверяет политики блочного кэша на RAM, SSD и локальной сети при заданной стоимости повторного вычисления; он не воспроизводит RDMA, GPU-prefill и конкуренцию производственного кластера Mooncake.
  • Ресурсный профиль: локально, CPU, 8–16 ГБ памяти, несколько процессов; RDMA и GPU не требуются. Стоимость prefill задаётся реальной малой функцией или калиброванной задержкой, а при тяжёлой трассе используется воспроизводимая подвыборка.

Содержательные направления

  • разбор трасс и модель стоимости.
  • реализации кэшей и маршрутизации.
  • SLO, сетевые эксперименты и новая политика.

Возможное продолжение

Добавить объединение одновременных загрузок, ограничение полосы, несколько арендаторов, ошибку предсказания повторного использования либо совместное решение о маршрутизации и вытеснении.