Методология проектирования рабочих нагрузок HPC в Azure

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

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

Общие сведения о связях рабочей нагрузки и взаимодействии

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

Сосредоточьтесь на связях рабочей нагрузки и шаблонах связи. Поскольку связывание имеет прямое и непропорциональное влияние на выбор сети, размещение узлов и решения проектирования с учетом производительности. Другие характеристики рабочей нагрузки, такие как ускорение рабочей нагрузки GPU, интенсивные данные или высокая пропускная способность, могут привести к ограничениям архитектуры в значительной степени.

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

Шаблон связывания Основные характеристики Руководство по проектированию
Тесно связанная Задачи часто взаимодействуют и выполняются синхронно. Используйте сети с низкой задержкой и высокой пропускной способностью. Совмещать узлы. Приоритет производительности.
Слабо связанные Задачи выполняются независимо или редко взаимодействуют Стандартная сеть достаточна. Используйте экономичные и масштабируемые ресурсы.

Большинство приложений HPC содержат оба типа. Например, ядро имитации может быть тесно связано, а задачи постобработки или создание отчетов могут быть слабо связаны.

Сопоставление вариантов вычислений и сети с шаблонами связи. Используйте высокопроизводительные ресурсы только в том случае, если они обеспечивают реальную выгоду.

Замечание

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

Проектирование масштабируемой оркестрации и расписания

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

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

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

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

Стратегия масштабирования — это не однократное действие. Убедитесь, что вы уточняете пороговые значения на основе наблюдаемого поведения во время пиковой, устойчивой и внепиковой нагрузки.

Создание возможностей отказоустойчивости

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

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

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

Управление затратами с помощью прогнозируемости

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

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

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

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

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

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

Проектирование для наблюдаемости и автоматизации

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

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

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

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

Следующий шаг

Начните путь проектирования, ознакомившись с тем, как принципы Фреймворка Well-Architected применяются к нагрузкам ВЦ.

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