Сегодня мы с радостью анонсируем постоянную панель мониторинга задач Ray (Ray Task Dashboard) в Anyscale, которая обеспечивает масштабируемый мониторинг и отладку рабочих нагрузок Ray с сохранением видимости даже после завершения работы кластера. Полностью управляемая панель мониторинга в Anyscale использует новый фреймворк экспорта событий Ray (Ray Event Export), доступный начиная с версии Ray 2.49.
Задачи — это функции, выполняемые удаленно и параллельно, которые лежат в основе распределенных вычислений в Ray. Без четкого мониторинга задач диагностика узких мест, отладка сбоев или оптимизация производительности быстро превращаются в гадание на кофейной гуще, что замедляет итерации и увеличивает затраты.
Существующий просмотр задач на панели мониторинга Ray был популярным инструментом среди разработчиков, но у него есть два критических ограничения:
- Лимит в 10 тыс. задач. Данные о задачах хранятся в оперативной памяти глобальной службы контроля Ray (GCS). Во избежание перегрузки системы отображаются только последние 10 тыс. задач, что значительно ниже потребностей масштабных рабочих нагрузок данных и ИИ. Ограничения GCS также снижают частоту отчетов о событиях, из-за чего некоторые данные мониторинга могут теряться.
Лимит в 10 тыс. задач. Данные о задачах хранятся в оперативной памяти глобальной службы контроля Ray (GCS). Во избежание перегрузки системы отображаются только последние 10 тыс. задач, что значительно ниже потребностей масштабных рабочих нагрузок данных и ИИ. Ограничения GCS также снижают частоту отчетов о событиях, из-за чего некоторые данные мониторинга могут теряться.
- Отсутствие персистентности. Панель мониторинга запускается с головного узла и исчезает после его завершения. Единственным обходным путем на сегодняшний день является поддержание головного узла в активном состоянии после завершения заданий, но это неэкономично.
Отсутствие персистентности. Панель мониторинга запускается с головного узла и исчезает после его завершения. Единственным обходным путем на сегодняшний день является поддержание головного узла в активном состоянии после завершения заданий, но это неэкономично.
Благодаря персистентности задач в Anyscale, созданной на базе фреймворка экспорта событий Ray, разработчики теперь имеют масштабируемый и экономичный способ сбора и анализа событий задач с помощью управляемых панелей мониторинга.
Инструкции по включению панели мониторинга см. в документации.
LinkAnyscale Task Dashboard
LinkFeature Overview
Панель мониторинга задач Anyscale особенно полезна для пользователей Ray Core, поэтому давайте рассмотрим пример рабочей нагрузки Core, где задачи выполняют определенный объем работы, настраиваемый их входными данными. Панель мониторинга обновляется практически в реальном времени, позволяя пользователям следить за ходом выполнения задания или анализировать результаты после его завершения.
Общий обзор: Первый раздел панели мониторинга дает пользователям быстрый обзор хода выполнения их задания. Сводная панель вверху предоставляет общую сводку количества задач по состояниям (например, завершенные, неудачные, выполняющиеся и т.д.).
Рисунок 1: Представление сводки задач на панели мониторинга Anyscale
Агрегированные представления: За ней следует ряд панелей агрегированного представления, которые группируют задачи по имени функции, типу ошибки и ID задания Ray. Помимо счетчиков состояния задач, эти панели включают распределения длительности, помогающие выявить отклонения.
Рисунок 2: Агрегированные представления задач на панели мониторинга Anyscale
Анализ отдельных задач: Таблица задач в нижней части панели мониторинга предоставляет подробную информацию об отдельных задачах для дальнейшего анализа.
Рисунок 3: Подробный вид таблицы задач на панели мониторинга Anyscale
- Все приведенные выше агрегированные представления включают кликабельные счетчики, которые соответствующим образом фильтруют таблицу задач.
Все приведенные выше агрегированные представления включают кликабельные счетчики, которые соответствующим образом фильтруют таблицу задач.
- Каждая строка содержит полные метаданные задачи, такие как ID узлов и воркеров, которые также можно использовать для фильтрации метрик на панелях мониторинга Grafana.
Каждая строка содержит полные метаданные задачи, такие как ID узлов и воркеров, которые также можно использовать для фильтрации метрик на панелях мониторинга Grafana.
- Трассировки стека (stack traces), имена функций и различные ID можно запрашивать напрямую через строку поиска.
Трассировки стека (stack traces), имена функций и различные ID можно запрашивать напрямую через строку поиска.
Контекстуализированная информация: Поскольку эта панель мониторинга встроена в управляемую платформу Anyscale, мы можем дополнять данные рабочих нагрузок Ray соответствующей информацией из инфраструктуры Anyscale. Например, когда задача застревает в состоянии планирования Pending, панель мониторинга может выводить связанные логи автомасштабировщика Anyscale Cloud, чтобы помочь диагностировать потенциальные задержки планирования.
Рисунок 4: Представление логов автомасштабировщика Anyscale Cloud для предоставления контекстуализированной информации о состоянии задачи
LinkArchitecture
При создании постоянной панели мониторинга на управляемой платформе Anyscale сохранение конфиденциальности данных является ключевым фактором проектирования. Чтобы быть действительно полезной, панель мониторинга должна включать подробную информацию, такую как трассировки стека и имена функций, которые могут содержать конфиденциальные пользовательские данные. Чтобы соблюсти требования по хранению клиентских данных в их собственном облачном аккаунте и при этом обеспечить отзывчивый и масштабируемый пользовательский интерфейс, мы создали выделенный системный кластер для работы панели мониторинга задач Anyscale.
Рисунок 5: Архитектура панели мониторинга задач Anyscale, которая хранит клиентские данные в их собственном облачном аккаунте
Системный кластер представляет собой один эфемерный экземпляр для каждого облака Anyscale, который запускается в аккаунте клиента и остается активным во время просмотра пользовательского интерфейса панели мониторинга задач. Такой подход дает несколько ключевых преимуществ:
- Масштабируемый бэкенд: Системный кластер позволяет нам выбирать лучшие инструменты для обеспечения эффективного масштабирования бэкенда панели мониторинга задач в соответствии с рабочими нагрузками пользователей. В результате мы протестировали панель мониторинга на бесперебойную обработку миллионов задач.
Масштабируемый бэкенд: Системный кластер позволяет нам выбирать лучшие инструменты для обеспечения эффективного масштабирования бэкенда панели мониторинга задач в соответствии с рабочими нагрузками пользователей. В результате мы протестировали панель мониторинга на бесперебойную обработку миллионов задач.
- Сохранение конфиденциальности данных: Пользовательские данные, обеспечивающие работу панели мониторинга задач, не сохраняются и не передаются через плоскость управления (control plane) Anyscale, поскольку пользовательский интерфейс выполняет запросы напрямую из облака клиента.
Сохранение конфиденциальности данных: Пользовательские данные, обеспечивающие работу панели мониторинга задач, не сохраняются и не передаются через плоскость управления (control plane) Anyscale, поскольку пользовательский интерфейс выполняет запросы напрямую из облака клиента.
- Экономичность: Дополнительные расходы остаются минимальными благодаря политике автозавершения, которая автоматически отключает системный кластер, когда панель мониторинга задач простаивает.
Экономичность: Дополнительные расходы остаются минимальными благодаря политике автозавершения, которая автоматически отключает системный кластер, когда панель мониторинга задач простаивает.
LinkRay Event Export Framework
Откуда берутся данные для панели мониторинга задач?
Ray всегда генерировал метрики и логи, которые пользователи могли собирать и сохранять с помощью внешних систем. Хотя это полезно, эти источники данных недостаточны для поддержки всех подробных представлений, показанных на панели мониторинга задач. Логи часто не имеют структурированной информации, что затрудняет их преобразование и выполнение запросов. С другой стороны, метрики лучше подходят для агрегированной аналитики, но добавление высококардинальных меток, таких как ID задач, может повлиять на производительность запросов. Из-за этих ограничений метрики Ray не обеспечивают уровень детализации, необходимый для видимости на уровне отдельных задач на панели мониторинга.
Чтобы решить эту проблему, мы представляем Event Export — новую систему с открытым исходным кодом, которая генерирует структурированные события, описывающие ход выполнения рабочей нагрузки Ray. В настоящее время она поддерживает события задач, и в ближайшем будущем мы планируем расширить покрытие на другие сущности Ray.
Во избежание перегрузки GCS трафиком событий задач мы обновили архитектуру генерации событий Ray, опираясь на существующий фреймворк событий задач. Вместо того чтобы каждый основной воркер отправлял события задач напрямую в GCS, мы внедрили агент-агрегатор для каждого узла. Этот агент собирает события от всех основных воркеров на своем узле и пересылает их на указанные пользователем HTTP-эндпоинты. В случае Anyscale эти события отправляются в приемник, который записывает их в хранилище объектов, что обеспечивает работу панели задач.
Рисунок 6: Архитектура экспорта событий Ray, представляющая агент-агрегатор для каждого узла
Пользователи с открытым исходным кодом также могут воспользоваться преимуществами фреймворка Event Export, настроив потребителей для потоковой передачи этих данных в любое выбранное ими место назначения. Каждое сгенерированное событие задачи включает в себя все метаданные и изменения состояний, необходимые для воссоздания представления задач на панели мониторинга, поэтому любой пользователь Ray может создать настраиваемую постоянную панель мониторинга с учетом своих потребностей.
Фреймворк Event Export доступен в Ray 2.49 и более поздних версиях. Инструкции по установке и примеры можно найти в официальной документации.
Ссылка: Планы на будущее
Фреймворк Event Export и архитектура кластера системы служат основой для создания полностью персистентной панели мониторинга Ray на платформе Anyscale, что улучшит возможности пользователей по мониторингу, отладке и оптимизации рабочих нагрузок Ray. В конечном итоге эти данные также могут обеспечить автоматическое обнаружение проблем и оптимизацию рабочих нагрузок.
Мы активно работаем над добавлением событий из других ресурсов Ray Core и компонентов библиотек во фреймворк Event Export и планируем внедрить дополнительные персистентные панели мониторинга в Anyscale. Панели мониторинга Ray Train и Data также были недавно выпущены (см. запись в блоге), и мы планируем дополнить их ссылками на сохраненные подробные данные о задачах для каждого оператора Ray Data или воркера Train.
Ссылка: Попробуйте сегодня
Оцените более масштабируемую, экономичную и полностью персистентную панель задач "из коробки" на платформе Anyscale.
- Попробуйте сегодня: начните работу на Anyscale с кредитами в размере 100 долларов США
Попробуйте сегодня: начните работу на Anyscale с кредитами в размере 100 долларов США
- Документация панели задач Anyscale
Документация панели задач Anyscale
- Документация по экспорту событий Ray
Документация по экспорту событий управляемых задач Ray
- Поделитесь отзывом об Anyscale, отправив тикет через консоль Anyscale
Поделитесь отзывом об Anyscale, отправив тикет через консоль Anyscale
- Поделитесь отзывом или помогите внести свой вклад в проект экспорта событий Ray
Поделитесь отзывом или помогите внести свой вклад в проект экспорта событий Ray
Присоединяйтесь к нам на Ray Summit 2025
Ознакомьтесь с реальными примерами и анонсами продуктов Ray и Anyscale на двухдневной конференции сообщества, которая объединяет лучших инженеров и исследователей, работающих с технологиями с открытым исходным кодом для развития ИИ.
Сан-Франциско | 3-5 ноября 2025 г. Узнать больше.








