Files
nis2/project-tasks/README.md
T

87 lines
12 KiB
Markdown
Raw Normal View History

2026-09-06 19:26:12 +03:00
# Банк проектных заданий
Банк содержит 40 готовых проектных заданий по 32 основным статьям; отложенных вариантов сейчас нет. По одному заданию подготовлено для каждой статьи; для восьми широких работ выделены по две независимые постановки. Варианты A и B различаются центральным вопросом, техническим результатом и обязательным экспериментом. Изменение только нагрузки, параметра или типа отказа оставлено как возможное продолжение одного задания.
Одно проектное задание назначается одной команде. Если по одной статье назначены две команды, они работают независимо: используют разные репозитории и не передают друг другу код, экспериментальные данные или результаты до завершения оценивания. Общими остаются только опубликованные статья и исходный артефакт.
Во всех заданиях исходный обязательный путь рассчитан на CPU и бесплатную инфраструктуру. Команда с подтверждённым доступом к GPU может по согласованию включить GPU-реализацию и эксперименты в обязательный план по [общим правилам проекта](../project.md#ресурсы-данные-и-лицензии). Ссылки, закреплённые ревизии и лицензии документально проверены 5 сентября 2026 года; известных блокеров для назначения нет. Технические предпосылки команда проверяет по [правилам первой контрольной точки](../project-checkpoints/01-project-plan.md).
Наличие опубликованного артефакта в задании не означает, что команда обязательно строит проект на его коде. В зависимости от проверяемого вопроса допустимым путём может быть работа с авторским артефактом, самостоятельная реализация центрального механизма, собственный симулятор или их сочетание. Конкретные варианты задаются формулировкой технического результата либо отдельным полем «Допустимый технический путь». Если разрешено несколько путей, они равноправны и оцениваются по полученному результату, корректности эксперимента и обоснованности выводов.
Общий порядок выбора, контрольные точки и требования к результатам описаны в [правилах проекта](../project.md), а место `ТР`, `Э` и `ВО` в итоговой оценке — в [правилах оценивания](../grading.md).
## Тематические группы
- [Проверка корректности и надёжности](#проверка-корректности-и-надёжности) — спецификации, тестирование, поиск ошибок и проверка поведения при отказах.
- [Хранилища, базы данных и потоковая обработка](#хранилища-базы-данных-и-потоковая-обработка) — транзакции, кэширование, хранение и обработка данных.
- [Облачные, edge- и serverless-системы](#облачные-edge--и-serverless-системы) — микросервисы, оркестрация, размещение и бессерверные вычисления.
- [Сети и распределённые протоколы](#сети-и-распределённые-протоколы) — передача данных, управление перегрузкой и отказоустойчивое согласование.
- [Распределённое выполнение и управление ресурсами](#распределённое-выполнение-и-управление-ресурсами) — графы задач, планирование, восстановление и коллективные операции.
- [Инфраструктура инференса LLM](#инфраструктура-инференса-llm) — память, планирование и раздельное выполнение запросов к большим языковым моделям.
Группировка помогает ориентироваться в банке и не влияет на требования или оценивание. Некоторые задания относятся сразу к нескольким областям; в перечне они помещены в основную группу по центральному вопросу проекта.
## Проверка корректности и надёжности
- [P01. Remix: спецификации разной гранулярности для проверки распределённых систем](p01-remix.md)
- [P02. DUPChecker: статическая проверка совместимости форматов при обновлении](p02-dupchecker.md)
- [P03-A. Acto: поиск состояний](p03-a-acto-state-search.md)
- [P03-B. Acto: проверки и уменьшение](p03-b-acto-oracles-and-shrinking.md)
- [P04. Legolas: поиск ошибок частичных отказов по состояниям системы](p04-legolas.md)
- [P06. SuperBench: упреждающая проверка вычислительной инфраструктуры](p06-superbench.md)
- [P08. PGVal: сквозная проверка гарантий потоковой обработки](p08-pgval.md)
- [P09-B. FoundationDB: детерминированная имитация](p09-b-foundationdb-simulation.md)
## Хранилища, базы данных и потоковая обработка
- [P05. SIEVE: простая политика вытеснения веб-кэша](p05-sieve.md)
- [P09-A. FoundationDB: транзакции и отказы](p09-a-foundationdb-transactions.md)
- [P10. Detock: транзакции между регионами без глобального упорядочивания](p10-detock.md)
- [P11. Clay Codes: восстановление данных с меньшим сетевым обменом](p11-clay-codes.md)
- [P12-A. ClickHouse: отсечение данных](p12-a-clickhouse-data-skipping.md)
- [P12-B. ClickHouse: векторизованный конвейер](p12-b-clickhouse-vectorized-pipeline.md)
- [P13. Noria: частично материализованный потоковый граф для веб-приложений](p13-noria.md)
- [P14-A. Flink: режимы контрольных точек](p14-a-flink-checkpoints.md)
- [P14-B. Flink: rescaling и восстановление](p14-b-flink-rescaling-recovery.md)
- [P21. DBSP/Feldera: инкрементальное выполнение запросов](p21-dbsp-feldera.md)
## Облачные, edge- и serverless-системы
- [P07-A. DeathStarBench: хвостовая задержка](p07-a-deathstarbench-tail-latency.md)
- [P07-B. DeathStarBench: размещение и интерференция](p07-b-deathstarbench-placement.md)
- [P15. Autothrottle: двухуровневое управление ресурсами микросервисов](p15-autothrottle.md)
- [P16. Oakestra: иерархическая оркестрация edge-кластера](p16-oakestra.md)
- [P17. SkyPilot: планирование заданий между облаками](p17-skypilot.md)
- [P18. Faasm: WebAssembly-изоляция для stateful serverless](p18-faasm.md)
- [P19. Serverless Cold Starts: проверка обобщений на производственных трассах](p19-serverless-cold-starts.md)
## Сети и распределённые протоколы
- [P20. Cloudcast: стоимость и скорость многоадресной передачи между облаками](p20-cloudcast.md)
- [P22. DCTCP: управление перегрузкой в сети дата-центра через ECN](p22-dctcp.md)
- [P32. Alea-BFT: асинхронная репликация с византийскими отказами](p32-alea-bft.md)
## Распределённое выполнение и управление ресурсами
- [P25-A. Ray: динамические графы задач](p25-a-ray-task-graphs.md)
- [P25-B. Ray: акторы и восстановление](p25-b-ray-actors-recovery.md)
- [P27. DeDe: декомпозиция задач распределения ресурсов](p27-dede.md)
- [P30. Pollux: совместная адаптация обучения и кластерного планировщика](p30-pollux.md)
- [P31-A. GC3: корректность расписаний](p31-a-gc3-correctness.md)
- [P31-B. GC3: оптимизация под топологию](p31-b-gc3-topology-optimization.md)
## Инфраструктура инференса LLM
- [P23. PagedAttention: управление памятью KV-кэша](p23-pagedattention.md)
- [P24. Llumnix: динамическое перепланирование LLM-запросов](p24-llumnix.md)
- [P26-A. Parrot: планирование графа](p26-a-parrot-graph-scheduling.md)
- [P26-B. Parrot: префиксы и локальность](p26-b-parrot-prefix-locality.md)
- [P28. DistServe: раздельное выполнение prefill и decode](p28-distserve.md)
- [P29. Mooncake: глобальный многоуровневый KV-кэш](p29-mooncake.md)
## Как читать проектное задание
Поле «Кратко о статье» объясняет решаемую авторами проблему, основную идею работы и связь с конкретным проектом; поле «Почему результат актуален» описывает современное состояние и сохраняющееся значение результата. «Артефакты и данные» фиксируют доступные исходные материалы, но не определяют способ реализации. Раздел «Обязательный результат» задаёт минимальный содержательный объём и допустимый технический путь, а «Содержательные направления» помогают команде распределить работу без назначения готовых персональных ролей. «Возможное продолжение» не входит в обязательную часть и высокой оценки не гарантирует.
Общие [итоговые материалы](../project.md#итоговые-материалы-и-защита) и [шкала `ТР`, `Э` и `ВО`](../grading.md#материалы-проекта) действуют для всех заданий. Оценивается новое приращение относительно опубликованных кода, данных и результатов.