Files
nis2/project-tasks/p22-dctcp.md
T

38 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P22. DCTCP: управление перегрузкой в сети дата-центра через ECN
- **Версия и дата проверки:** 1.1, 07.09.2026.
- **Статус:** готово к назначению.
## Статья и исходные материалы
- **Основная статья:** Mohammad Alizadeh и соавт. — [Data Center TCP (DCTCP)](https://people.csail.mit.edu/alizadeh/papers/dctcp-sigcomm10.pdf). SIGCOMM 2010, Test of Time Award 2021.
- **Кратко о статье:** В сети дата-центра обычный TCP реагирует на перегрузку только после потерь или грубых сигналов, поэтому короткие очереди трудно сочетать с высокой загрузкой канала. DCTCP использует ECN и оценивает долю помеченных пакетов, пропорционально изменяя окно передачи. В проекте этот механизм сравнивается с обычным TCP при смешении коротких и длинных потоков.
- **Почему результат актуален:** работа получила Test of Time Award за долговременное влияние на сети дата-центров; алгоритм также описан в [RFC 8257](https://datatracker.ietf.org/doc/html/rfc8257). Поддерживаемая модель ns-3 снимает зависимость от старого исследовательского артефакта и специализированного оборудования.
- **Артефакты и данные:** [пример DCTCP в ns-3.45](https://github.com/nsnam/ns-3-dev-git/blob/4059af204636298c061df368e241941fa3ff97bf/examples/tcp/dctcp-example.cc) под GPL-2.0 моделирует ECN-коммутаторы, 40 конкурирующих потоков, несколько узких мест и собирает пропускную способность, справедливость и длину очередей. Зафиксированная ревизия: `nsnam/ns-3-dev-git@4059af204636298c061df368e241941fa3ff97bf` (ns-3.45, GPL-2.0). Для дополнительных зависимостей и данных также фиксируются версии.
- **Что уже предоставляет артефакт:** В закреплённом примере ns-3 уже есть ECN-очереди, выбор TCP, топология, долгоживущие потоки, throughput, fairness и длина очередей. Пример и реализации TCP можно использовать как основу; собственная работа охватывает конечные потоки, анализ чувствительности и проверку механизма. Проверенные исходные материалы: [пример ns-3.45](https://github.com/nsnam/ns-3-dev-git/blob/4059af204636298c061df368e241941fa3ff97bf/examples/tcp/dctcp-example.cc).
## Обязательный результат
- **Проверяемый вопрос или утверждение:** пропорциональная реакция на ECN позволяет DCTCP поддерживать меньшие очереди и хвостовые задержки, чем обычный TCP, сохраняя высокую загрузку канала при смешанных потоках.
- **Технический результат:** Подготовить параметризованный сценарий ns-3 с ECN-коммутатором, DCTCP и TCP Cubic или NewReno, собственными генераторами incast и смешанных конечных потоков. Проверять доставку заданного объёма, собирать время завершения, загрузку и справедливость, а также синхронизированные трассы отметок ECN, окна TCP и длины очереди для независимой проверки механизма.
- **Обязательное приращение команды:** Создать генераторы incast и смешанных конечных потоков, измерение времени завершения и проверку доставки. Провести анализ чувствительности к порогу ECN и интенсивности incast; независимо сопоставить отметки ECN, изменение окна TCP и динамику очереди на общем времени по собранным трассам.
- **Эксперимент:** Воспроизвести пример ns-3 для проверки стенда, затем сравнить DCTCP с TCP Cubic или NewReno при incast и смеси коротких и длинных потоков по времени завершения, p95/p99, длине очереди, загрузке и справедливости. Обязательно варьировать порог ECN и интенсивность incast; по трассам независимо проверить связь отметок, реакции окна и изменения очереди и разобрать отклонения.
- **Границы выводов:** эксперимент проверяет поведение модели DCTCP в ns-3 для заданной топологии и потоков; он не воспроизводит особенности конкретных сетевых карт, коммутаторов и трафика крупного дата-центра.
- **Ресурсный профиль:** Локальная имитация, CPU, 4–8 ГБ памяти. При длинных сериях уменьшить число потоков и длительность, сохранив два режима нагрузки, несколько повторов, изменение порога ECN и интенсивности incast и проверку механизма по трассам.
## Содержательные направления
- топология и независимая проверка механизма ECN по трассам.
- генераторы конечных потоков и базовые варианты TCP.
- метрики и чувствительность к порогу ECN и интенсивности incast.
## Возможное продолжение
Исследовать чувствительность к размеру буфера, неоднородным RTT или сосуществованию DCTCP и обычного TCP.
## История уточнений
| Дата | Версия | Основание | Изменение обязательного результата |
|---|---|---|---|
| 07.09.2026 | 1.1 | Статический просмотр закреплённого артефакта: готовые сценарии частично покрывают задание. | Закреплена ns-3.45; добавлены чувствительность к порогу ECN и интенсивности incast и независимая проверка механизма. |