Принципы проектирования рабочих нагрузок HPC

Проектирование HPC основано на принципах, производных от столпов Azure Well‑Architected Framework (WAF). Эти принципы направляют архитектурные решения в основных областях проектирования HPC, таких как вычисления, хранилище, сеть и оркестрация заданий. Знакомство с этими принципами помогает понять их влияние и компромиссы, возникающие, когда их не соблюдают.

Эти рекомендации наиболее важны для крупномасштабных длительных рабочих нагрузок HPC и могут быть скорректированы для небольших или поисковых рабочих нагрузок. Эта методология помогает архитекторам и инженерам разрабатывать среды HPC, которые являются эффективными, масштабируемыми, надежными и экономичными, сохраняя усложнение работы.

Компромисс. Максимизация производительности и надежности часто увеличивает затраты. Решения по проектированию должны быть основаны на бизнес-требованиях и четко определенных компромиссах между производительностью, надежностью и стоимостью.

Reliability

Для создания надежных сред HPC в Azure требуется планирование сбоев на нескольких уровнях от отдельных вычислительных узлов до всех регионов. Эфемерный характер облачных ресурсов и длительные характеристики задач HPC требуют преднамеренных стратегий обеспечения сохранности и восстановления состояния.

Рекомендации

  • Сохранение состояния задания: Длительные задания HPC уязвимы для сбоев инфраструктуры, точечных вытеснений и событий обслуживания. Без систематической контрольной точки прерывания могут принудительно перезапустить все задания, тратить вычислительные часы и откладывать результаты.

  • Отказоустойчивость узлов: В крупномасштабных развертываниях ожидаются отдельные сбои виртуальных машин. Уровень планирования и оркестрации должен быстро обнаруживать сбои и либо перераспределить задачи работоспособным узлам, либо сохранить состояние для восстановления.

  • Стратегия защиты данных: Рабочие процессы HPC создают данные с различными требованиями к устойчивости, начиная от одноразовых файлов царапин до неизменяемых результатов моделирования. Механизмы защиты должны соответствовать важности данных без создания лишних накладных расходов на временные рабочие данные.

  • Непрерывность между регионами: Критически важные рабочие нагрузки могут потребовать возобновления вычислений в альтернативном регионе Azure после регионального сбоя. Эта возможность требует предварительного планирования репликации данных и воспроизведения среды.

Рекомендации

Recommendation Преимущества
Реализуйте контрольные точки на уровне приложения в службе хранилища BLOB-объектов Azure или Azure Managed Lustre.
Выравнивайте частоту контрольных точек с целевыми объектами RPO и критическими значениями заданий.
Защищает длительные задания от полного перезапуска после сбоев. Задания возобновляют работу с последней контрольной точки, а не начинаются, экономя вычислительные ресурсы и затраты.
Используйте Azure CycleCloud или политики автоматического повтора Azure Batch для обработки временных сбоев узлов и перепланировки неудавшихся задач без ручного вмешательства. Поддерживает ход выполнения задания во время временных проблем инфраструктуры. Автоматическое перепланирование устраняет необходимость ручного мониторинга и сокращает время до завершения.
Репликация критически важных наборов данных и конечных результатов в геоизбыточное хранилище (GRS) или в парный регион Azure. Используйте локально избыточное хранилище для высокопроизводительных данных с нуля. Балансирует защиту данных с потребностями в производительности. Критически важные данные остаются доступными при региональных сбоях, а временные данные поддерживают высокую пропускную способность во время вычислений.

Безопасность

Среды HPC часто обрабатывают конфиденциальные данные, включая частные исследования, регулируемые сведения и конкурентоспособную интеллектуальную собственность, при этом требуется широкий доступ для законных пользователей. Архитектура безопасности должна защищать ресурсы без создания барьеров, которые препятствуют вычислительным рабочим процессам.

Рекомендации

  • Принудительное применение границ сети: Управление кластерами HPC в определенных периметрах сети, которые ограничивают несанкционированный доступ, разрешая необходимую связь между вычислительными узлами, системами хранения и конечными точками отправки заданий.

  • Управление удостоверениями, доступом и средствами защиты данных: Доступ к ресурсам HPC должен регулироваться принципами наименьших привилегий, предоставляя пользователям только разрешения, необходимые для ролей, начиная от отправки заданий к администрированию кластера и интегрированным с системами удостоверений организации. Конфиденциальные данные должны быть защищены шифрованием как в состоянии покоя, так и при передаче, с применением политик, обеспечивающих доступ к защищённым наборам данных только авторизованным пользователям и процессам.

  • Соответствие нормативным требованиям: Организации, обрабатывающие данные, относящиеся к нормативным требованиям, таким как HIPAA, ITAR или FedRAMP, должны реализовывать определенные элементы управления и поддерживать доказательства аудита, чтобы продемонстрировать соответствие.

  • Изоляция рабочей нагрузки: Мультитенантные среды HPC или кластеры, обрабатывающие конфиденциальные данные, требуют механизмов предотвращения несанкционированного доступа между пользователями или заданиями, как на уровне вычислений, так и в общих системах хранения.

Рекомендации

Recommendation Преимущества
Развертывание кластеров HPC в изолированных виртуальных сетях с помощью групп безопасности сети Сокращает область атаки, ограничив сетевой доступ только к необходимым конечным точкам, позволяя обеспечить необходимую связь между узлами и хранилищем.
Использование идентификатора Microsoft Entra для проверки подлинности и интеграции роли Azure RBAC Обеспечивает минимальный доступ к привилегированным пользователям и обеспечивает централизованное управление удостоверениями в ресурсах HPC.
Использование безопасного административного доступа с помощью Azure Bastion Защищает от прямого воздействия на порты управления и снижает риск несанкционированного доступа.
Включение шифрования неактивных данных для всех служб хранилища Azure Обеспечивает видимость состояния безопасности, поддерживает аудит соответствия требованиям и обеспечивает быстрое обнаружение неправильных конфигураций или угроз. Обеспечивает согласованные элементы управления безопасностью в кластерах и предотвращает смещение конфигурации с течением времени.
Применение политики Azure для принудительного применения базовых показателей безопасности и отчетов о соответствии политик в кластерах HPC Уменьшает неправильные конфигурации и смещение конфигурации, улучшает видимость состояния соответствия требованиям, поддерживает требования аудита и нормативных требований, а также позволяет ускорить обнаружение и устранение пробелов безопасности в масштабе и без ручного вмешательства.

Оптимизация затрат

Облачная система HPC обеспечивает эластичное масштабирование, но затраты могут быстро увеличиваться без преднамеренного контроля. Максимизация бизнес-ценности требует балансировки расходов с требованиями к производительности и надежности.

Рекомендации

  • Управление затратами на хранение: Рабочие процессы HPC создают большие объемы данных с различными шаблонами доступа. Сохранение холодных данных на уровнях высокой производительности увеличивает затраты без повышения производительности.

  • Оптимизация вычислительных ресурсов: Избыточно оснащенные виртуальные машины тратят ресурсы, в то время как недостаточно оснащенные увеличивают время выполнения заданий и повышают общие затраты. Точное профилирование рабочей нагрузки поддерживает эффективное определение размера.

  • Выравнивание эластичного масштабирования: Подготовка статического кластера не соответствует затратам на рабочую нагрузку. Инфраструктура должна расширяться в зависимости от количества ожидающих заданий и сокращаться, когда спрос уменьшается.

  • Экономика прерываемых нагрузок: Многие рабочие нагрузки HPC допускают прерывание с контрольными точками, что делает их подходящими для скидок на ресурсы.

  • Учет операционных накладных расходов: Общая стоимость включает инфраструктуру и операционные усилия. Управляемые службы могут снизить административные издержки, даже если затраты на единицу выше.

Рекомендации

Recommendation Преимущества
Используйте управление жизненным циклом хранилища BLOB-объектов Azure для перемещения данных из горячего в холодные или архивные уровни. Снижает затраты на хранение при сохранении доступности данных.
Анализ использования ресурсов с помощью Azure CycleCloud или пакетной аналитики Azure для выбора соответствующих размеров виртуальных машин. Избегает неиспользуемой емкости и балансирует производительность с затратами.
Настройте автомасштабирование Azure CycleCloud для выделения вычислительных узлов на основе глубины очереди планировщика и освобождения неактивных узлов. Сопоставляет вычислительную мощность с потребностями и исключает ненужные траты.
Разверните виртуальные машины Azure Spot для отказоустойчивых рабочих нагрузок с контрольными точками и резервным переключением на стандартные виртуальные машины. Снижает затраты на вычисления для отказоустойчивых рабочих нагрузок.

Операционная эффективность

Операционная зрелость в средах HPC требует балансировки автономности пользователей с надежностью системы. Пользователи ожидают знакомые инструменты и рабочие процессы, в то время как команды операций нуждаются в автоматизации, видимости и повторяемости для управления инфраструктурой в большом масштабе.

Рекомендации

  • Воспроизводимость инфраструктуры: Подготовка вручную кластеров вызывает несоответствия и задержки. Среды HPC следует развертывать с помощью автоматизированных управляемых версий процессов, которые дают согласованные результаты в разных средах.

  • Интеграция планировщика: Пользователи HPC используют установленные планировщики заданий. Принудительное применение новых моделей подачи увеличивает сопротивление и замедляет внедрение облачных HPC.

  • Автоматизация рабочих процессов: Конвейеры HPC часто охватывают промежуточные данные, предварительную обработку, вычисления, после обработки и доставку результатов. Координация вручную увеличивает частоту ошибок и ограничивает пропускную способность.

  • Наблюдаемость и диагностика: Сбои в крупномасштабных заданиях HPC могут быть трудно диагностировать без комплексной телеметрии. Операторы нуждаются в видимости состояния задания, использования ресурсов и работоспособности системы.

  • Процессы управления изменениями: Обновления программного стека, планировщиков или инфраструктуры могут привести к регрессии. Изменения должны быть проверены и развернуты с помощью контролируемых, повторяемых процессов.

Рекомендации

Recommendation Преимущества
Определите инфраструктуру кластера HPC с помощью шаблонов Bicep или Terraform с помощью Azure Resource Manager для управления развертыванием как кодом. Обеспечивает согласованность, воспроизводимые развертывания и предотвращает смещение конфигурации. Инфраструктура как код также обеспечивает более быстрые сценарии восстановления.
Разверните Azure CycleCloud с собственной поддержкой Slurm, PBS Pro, Grid Engine или других планировщиков, которые соответствуют существующим рабочим процессам. Сохраняет производительность пользователей, позволяя существующим сценариям заданий и моделям отправки выполняться без изменений.
Используйте пакетную службу Azure для планирования управляемых заданий с зависимостями задач или интегрируйте кластеры CycleCloud с средствами оркестрации рабочих процессов для многоэтапных конвейеров. Автоматизирует сложные рабочие процессы и гарантирует выполнение этапов конвейера в правильном порядке без ручной координации.
Включите Azure Monitor для журналов диагностики и метрик. Настройте рабочие области Log Analytics для создания операционных панелей мониторинга. Улучшает видимость работоспособности кластера и хода выполнения заданий, что позволяет быстрее устранять неполадки и упреждающие операции.
Поддержание определений инфраструктуры как кода (IaC) с помощью Bicep или Terraform в Azure DevOps или GitHub, чтобы обеспечить возможность повторного развертывания кластера в других регионах при аварийном восстановлении. Обеспечивает быстрое восстановление после катастрофических сбоев, уменьшая перенастройку вручную и повышая согласованность развертывания.

Эффективность работы

Рабочие нагрузки HPC требуют максимальной вычислительной пропускной способности, что делает выбор оборудования и выравнивание архитектуры критически важным. Azure предоставляет специально созданную инфраструктуру HPC, но достижение оптимальной производительности зависит от сопоставления характеристик рабочей нагрузки с конфигурациями вычислений, сети и хранилища.

Рекомендации

  • Выравнивание оборудования рабочей нагрузки: Приложения HPC сильно зависят от требований к ресурсам, включая моделирование, связанное с ЦП, аналитику с интенсивным объемом памяти, вычисления с ускорением GPU и рабочие процессы ввода-вывода. Неподходящие размеры виртуальных машин ограничивают достижимую производительность.

  • Производительность взаимодействия: Тесно связанные параллельные задачи очень чувствительны к сетевой задержке и полосе пропускания. Стандартные Ethernet-сети могут привести к узким местам, которые нивелируют преимущества горизонтального масштабирования.

  • Пропускная способность параллельного хранилища: Крупномасштабные задания HPC создают параллельные шаблоны доступа, которые перегружены традиционными файловыми серверами. Системы хранения должны поддерживать высокую агрегированную пропускную способность во многих узлах.

  • Оптимизация топологии кластера: Близость физической виртуальной машины напрямую влияет на производительность MPI. Распределенное размещение увеличивает задержку и снижает эффективность тесно связанной рабочей нагрузки.

  • Согласованность среды: Смещение конфигурации, несоответствия библиотеки или несоответствия версий программного обеспечения на узлах приводят к изменчивости и усложняют настройку и устранение неполадок.

Рекомендации

Recommendation Преимущества
Выберите виртуальные машины серии HB для рабочих нагрузок с большим объемом ЦП, виртуальные машины серии ND для рабочих нагрузок с ускорением GPU и семейства оптимизированных для памяти виртуальных машин для аналитики с большим объемом данных. Выравнивание возможностей оборудования с требованиями к приложению обеспечивает максимальную эффективность и ценность производительности.
Развертывание серии виртуальных машин с поддержкой InfiniBand (HB, HC, ND) для рабочих нагрузок MPI с низкой задержкой, высокой пропускной способностью связи между узлами. Сводит к минимуму затраты на обмен данными и обеспечивает эффективное масштабирование для тесно связанных параллельных рабочих нагрузок.
Используйте Azure Managed Lustre для временного хранилища с высокой пропускной способностью или Azure NetApp Files для совместного доступа к файлам с поддержкой POSIX и постоянной производительностью. Предотвращает узкие места хранилища, поддерживая одновременный доступ из большого количества вычислительных узлов.
Настройте группы проксимального размещения для размещения вычислительных узлов в одном сегменте сети центра обработки данных. Уменьшает задержку между узлами и повышает производительность передачи сообщений для рабочих нагрузок с интенсивным взаимодействием.

Упрощение функций Azure

Azure предоставляет полный набор служб, поддерживающих рабочие нагрузки HPC во всех столпах Архитектурных принципов Well-Architected. Следующие службы позволяют организациям создавать устойчивые, безопасные, экономичные, операционные и высокопроизводительные среды HPC.

Надежность: хранилище BLOB-объектов Azure, управляемое Lustre, пакетная служба и CycleCloud используют GRS, IaC, контрольные точки, повторные попытки и быстрое восстановление для защиты длительных заданий. Эти сервисы гарантируют, что нагрузки HPC быстро восстанавливаются после сбоев и сохраняют прогресс выполнения.

Дополнительные сведения см. в разделе "Принципы проектирования надежности".

Безопасность: сеть Azure, идентификация, управление доступом и управление секретами обеспечивают глубокую защиту для сред HPC. Эти службы обеспечивают сетевую изоляцию, управление доступом на основе удостоверений, частное подключение и комплексное шифрование для защиты конфиденциальных вычислительных рабочих нагрузок и исследовательских данных от несанкционированного доступа.

Дополнительную информацию можно найти в принципах проектирования безопасности.

Оптимизация затрат: управление жизненным циклом хранилища BLOB-объектов Azure, аналитика Azure Batch, автомасштабирование CycleCloud, точечные виртуальные машины и управление затратами Azure помогают сократить затраты HPC путем автоматизации, масштабирования и предоставления скидок на вычислительные ресурсы. Эти возможности обеспечивают максимальное значение ресурсов HPC без ненужных расходов.

Дополнительные сведения см. в разделе "Принципы проектирования оптимизации затрат".

Операционное превосходство: Azure Resource Manager, Bicep, Terraform, Azure CycleCloud, Пакетная служба Azure и Azure Monitor автоматизируют развертывания HPC, планирование и мониторинг, сокращают эксплуатационные расходы и повышают надежность кластера.

Дополнительные сведения см. в разделе "Принципы проектирования операционного превосходства".

Эффективность производительности: виртуальные машины HBv4, HBv5 и NDv5 с InfiniBand, Azure Managed Lustre, Azure NetApp Files и Proximity Placement Groups предоставляют специализированные вычислительные ресурсы, хранилище и сети с низкой задержкой, необходимые для высокопроизводительных HPC-нагрузок.

Дополнительные сведения см. в разделе "Принципы проектирования эффективности производительности".

Дальнейшие шаги

Области проектирования связаны между собой и изменения в одной области могут повлиять на другие. Начните с наиболее важной области для рабочей нагрузки, а затем просмотрите, как варианты создают компромиссы в архитектуре.