Москва, Центральный административный округ, район Хамовники, квартал Красная Роза
Мы развиваем внутреннее контейнерное облако (Runtime Cloud — RTC), в котором запущены все сервисы, создаваемые тысячами разработчиков Яндекса. Наша цель — сделать удобное облако для сервисов различного масштаба, от единиц до десятков тысяч контейнеров в сервисе, и при этом рационально использовать все имеющиеся в нашем распоряжении аппаратные ресурсы. Сейчас под управлением внутреннего облака находится более 100 000 железных серверов, из которых 10 000 — это серверы с GPU. На них заведено более 50 000 сервисов, а счёт контейнеров идёт на миллионы. В нашем облаке живут также InfiniBand-кластеры для распределённого обучения, которые включены в рейтинг суперкомпьютеров TOP500.
Мы не только позволяем настраивать и запускать сервисы, но и даём пользователю всё, что нужно, чтобы их эксплуатировать: настраиваем балансировку, предоставляем мониторинг поднятых сервисов, собираем логи, поддерживаем интеграцию с CI/CD, даём удобные способы ad-hoc- и fleet-wide-профилирования и не только. Мы стремимся сделать из облака единую тесно интегрированную платформу (PaaS), которая обеспечит удобство и надёжность разработки и эксплуатации сервисов, позволив разработчикам использовать как стандартные API/UI-механизмы, так и подход Infrastructure as Code.
Помимо этого, мы разрабатываем внутренние инструменты для управления железом, сертификатами, доступами, чтобы минимизировать нагрузку на эксплуатацию облака и поддержку наших пользователей.
Группа GPU-инфраструктуры отвечает за разработку сервисов для работоспособности GPU-инфраструктуры всего Яндекса, ML/HPC-компонентов для распределённого инференса и обучения, которые позволяют эффективно использовать современные ускорители и RDMA-сеть. Мы активно участвуем не только в разработке системного ПО и фреймворков распределённых вычислений для тренировки и инференса ML-моделей, но и в дизайне наших RDMA-кластеров, их конфигурировании, мониторинге, оптимизации на протяжении всего жизненного цикла.
Наши внутренние разработки, которыми пользуются тысячи ML-инженеров Яндекса:
Мы активно участвуем в разработке и улучшении опенсорс-решений, которые сами активно используем внутри. Вот список лишь некоторых из них:
Какие задачи вас ждут
Поддерживать и развивать системное программное обеспечение, которое отвечает за конфигурирование, мониторинг, выделение в пользовательские контейнеры GPU- и RDMA-устройств на серверах
Внутреннее облако состоит из серверов с разными моделями GPU- и RDMA-устройств, которые должны быть выделены под заказ сервисов в Porto-контейнере в YP-кластере или в другие CRI-совместимые контейнерные рантаймы в K8s-кластере. Устройства должны быть правильно сконфигурированы, чтобы отвечать пользовательским требованиям, должны доставлять в контейнер необходимые драйверозависимые библиотеки для удобства сервисов. Во время работы в пользовательском контейнере сервисы должны получать метрики об утилизации, вероятных проблемах и так далее. Эти и другие задачи решаются нашим сервисом, который должен работать безотказно и постоянно дорабатываться для решения новых вызовов. К примеру, одной из последних задач была «раскраска» InfiniBand-трафика с помощью eBPF для реализации гарантий.
Поддерживать и развивать fleet-wide GPU-профилирование для всех сервисов Яндекса
Современные серверы, а тем более оснащённые ускорителями и высокоскоростными сетями RDMA, стоят больших денег. Это ставит новые вызовы перед облаками и сервисами, запускаемыми в них, чтобы как можно эффективнее использовать предоставляемое железо. Один из способов оптимизации — это профилирование приложений в то время, когда они запущены в облаке. В нашем облаке реализован и интегрирован профилировщик на основе CUPTI, который позволяет с минимальными накладными расходами профилировать приложения на всём флоте постоянно и тем самым давать сервисам актуальную информацию о проблемах с утилизацией.
Развивать сервисы автоматизированного управления GPU-инфраструктурой
В нашем облаке около 10 000 серверов с GPU, и все они требуют эффективного управления без участия человека: они должны проходить необходимое тестирование GPU-устройств, RDMA-сети и других компонентов перед попаданием в продакшн после ремонта или других регламентных работ. Мы решаем эту задачу, интегрируя и разрабатывая современные бенчмарки, нагрузочные, регрессионные тесты. Новые технологии, которые интегрируются в наше облако, к примеру одна из последних IBGDA, должны быть обязательно покрыты регрессионными тестами. Также наши сервисы выполняют мониторинг состояния флота, чтобы находить серверы с различными проблемами и гарантировать высокую доступность аппаратных ресурсов, сравнимую с уровнем других компаний или превышающую его. Эти и другие методы позволяют нам гарантировать обнаружение проблем на ранних стадиях до того, как на эти серверы заедут сервисы.
Развивать и оптимизировать инфраструктуру распределённого disaggregated-инференса и обучений
Мы считаем, что ML-инженеры должны решать задачи организации обучений и деплоить новые LLM в продакшн. А наше облако предоставляет базовые компоненты для организации эффективного распределённого инференса и обучений, которые доработаны и протестированы с учётом наших особенностей. Мы в нашем облаке участвуем в исследовании, разработке, развитии и эксплуатации cutting-edge-задачи: к примеру, мы предоставляем технологию распределённого disaggregated-инференса, которую любой сервис может развернуть буквально за один клик.
Участвовать в дизайне и внедрении нового оборудования в нашем облаке
Современные облачные решения должны быть эффективными и высокопроизводительными с точки зрения утилизации железа. И этот процесс начинается с дизайна, конфигурирования и надёжных HW-мониторингов железа. Мы внедряем современное аппаратное обеспечение в нашем облаке, дорабатываем все уровни системного ПО — от пользовательских библиотек до контейнерного рантайма и драйверов вендора, чтобы наши пользователи могли использовать новое железо без каких-либо изменений в своих приложениях. Каждый раз перед нами встают всё новые и новые задачи, к примеру внедрение новых RDMA-сетей, новых ускорителей, поддержка ARM.
Мы ждем, что вы
Будет плюсом, если вы