Репортаж от Wedoany,Компания Meta недавно раскрыла детальную архитектуру своего хранилища инфраструктуры, заявив, что её система позволяет исследователям сократить время перемещения данных для обучения ИИ между регионами до 97%. Технологический гигант развивает облачное подразделение и может войти в число крупнейших игроков. В официальном заявлении Meta отмечается, что производительность графических процессоров удваивается примерно каждые два года, но скорость хранения данных не поспевает за этим темпом. Чтобы устранить разрыв и обслуживать кластеры хранения, необходимые для Meta AI, Reality Labs, социальных платформ и будущих облачных клиентов, инженеры перестроили уровень BLOB-хранилища, расположенный поверх многопользовательской структуры хранения Tectonic, охватывающей дата-центры по всему миру и измеряемой эксабайтами.
Традиционная архитектура BLOB от Meta была неэффективна с точки зрения ресурсов при поддержке обучения ИИ. Инженеры-программисты Сидхартх Баджадж и Венкатрагхаван Шринивасан отметили, что старая система содержала избыточное количество сервисных уровней и требовала последовательного поиска метаданных с сохранением состояния на нескольких уровнях, прежде чем можно было сопоставить путь к файлу с фактическим местом хранения, что увеличивало задержки и снижало производительность. Перестроенное хранилище основано на трёх ключевых изменениях: во-первых, разрозненные системы метаданных объединены в единую модель, поддерживаемую базой данных ZippyDB, что обеспечивает практически мгновенный поиск пути; во-вторых, устранён «прокси-уровень данных» и внедрена «толстая клиентская» архитектура, передающая байтовые потоки напрямую от серверов хранения к клиентам, снижая задержки и повышая энергоэффективность; в-третьих, переход от глобальной модели развёртывания к региональной, размещающей хранилище в одном месте с необходимыми GPU.
Помимо полного улучшения общего стека хранения, инженеры Meta использовали свободную память GPU в качестве распределённого кэша для часто одновременно запрашиваемых данных. Команда применила опыт системы Owl, используемой для распределения больших объектов данных, интегрировав её логику однорангового обмена в SDK клиента BLOB-хранилища. Все запросы данных проходят через этот кэш, что снижает частоту обращений GPU к хранилищу. Кроме того, Meta внедрила независимый кэш метаданных «плана чтения», возвращающий адреса часто запрашиваемых файлов за одну-две миллисекунды. Такая комбинация поглощает пики нагрузки, например, когда GPU одновременно перезагружаются и запрашивают одни и те же «горячие» веса моделей, одновременно улучшая задержки.
Финальная версия также устранила проблемы перегрузки и тайм-аутов, вызванные пиками экспорта. Meta реализовала программное решение динамического управления параллелизмом, которое регулирует степень параллелизма на основе сигналов перегрузки на уровне приложения, автоматически уменьшая количество запросов, отправляемых приложением при высоком трафике. По словам Баджаджа и Шринивасана, переработанный стек BLOB-хранилища теперь поддерживает рабочие нагрузки ИИ без простоев GPU, экономя средства и обеспечивая преимущества в производительности.
Для решения проблем доставки данных инженеры создали иерархическую систему кэширования, имитирующую способ, которым CPU компьютера извлекает данные с диска в более быстрые уровни памяти. Память и флеш-накопители на хосте GPU служат самым быстрым уровнем, региональное флеш-хранилище BLOB — следующим, а глобальное хранилище BLOB на HDD — окончательным источником истины. Новая парадигма загрузки данных уже применяется в производственных рабочих нагрузках: среднее время приёма сократилось со 150 минут до 10 минут, то есть на 93%. В максимальном случае Meta наблюдала сокращение времени приёма с 89 часов до 182 минут, то есть на 97%. Meta заявила: «Современные рабочие нагрузки ИИ требуют больших объёмов данных, и узкие места в хранилище напрямую влияют на загрузку GPU и стоимость вычислений. Перестроив подсистему метаданных и внедрив иерархическую архитектуру кэширования с предварительной выборкой/гидратацией по запросу, мы смогли эффективно удовлетворить потребности сегодняшних рабочих нагрузок».










