Files
nis2/project-tasks/p30-pollux.md
T

6.2 KiB
Raw Blame History

P30. Pollux: совместная адаптация обучения и кластерного планировщика

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

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

  • Основная статья: Aurick Qiao и соавт. — Pollux: Co-adaptive Cluster Scheduling for Goodput-Optimized Deep Learning. OSDI 2021, Best Paper.
  • Кратко о статье: Скорость обучения зависит от числа выделенных ускорителей и размера пакета. Размер пакета меняет системную производительность и статистическую эффективность оптимизации. Pollux объединяет эти факторы в метрике goodput и совместно адаптирует конфигурацию задания и распределение ресурсов кластера. В проекте такая политика сравнивается с планированием только по throughput на симуляции CPU.
  • Почему результат актуален: ветка AdaptDL в основном сохранилась как снимок статьи, но совместная оптимизация размещения и goodput получила прямое развитие в Sia, учитывающей неоднородные кластеры. Базовый проект использует Pollux как понятный исходный механизм и сравнивает его с современным продолжением постановки.
  • Артефакты и данные: ветка petuum/adaptdl для OSDI 2021 под Apache-2.0 содержит реализацию и дискретный симулятор кластера. Зафиксированные ревизии: petuum/adaptdl@542e123e50e9 (Apache-2.0).
  • Что уже предоставляет артефакт: Закреплённая версия AdaptDL предоставляет планировщик заданий и библиотеку адаптивного обучения. Код и опубликованные профили можно использовать как основу упрощённого Pollux и для сопоставления; обязательный исполнитель малых CPU-задач создаёт команда.

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

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

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

  • профили и модель прогресса.
  • планировщики и симулятор.
  • справедливость, чувствительность и новая целевая функция.

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

Добавить неоднородные ускорители, ошибку профиля, стоимость перераспределения, приоритеты либо новую цель, объединяющую JCT и справедливость.