Рабочие нагрузки HPC в Azure

В этой статье рассматриваются архитектурные проблемы разработки рабочих нагрузок высокопроизводительных вычислений (HPC). В нем рассматриваются стратегии проектирования для всех характеристик рабочих нагрузок HPC. Рекомендации основаны на принципах Azure Well-Architected Framework и включают аналитические сведения из успешных реализаций Azure HPC в Azure.

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

Замечание

Здесь не рассматриваются определенные службы Azure и их возможности. Мы рекомендуем ссылаться на соответствующую документацию по продукту для этой информации.

Что такое рабочая нагрузка HPC?

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

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

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

Характеристики рабочих нагрузок HPC позволяют их обработку:

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

  • Параллельная эффективность: распределение работы между сотнями или тысячами вычислительных ресурсов одновременно, обеспечивая прорывные открытия в науке и инженерии.

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

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

Распространенные проблемы

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

  • Более высокие затраты на инфраструктуру: специализированное оборудование, например ЦП с высоким числом ядер, GPU и сети с низкой задержкой (InfiniBand, RoCE) значительно увеличивает расходы на ресурсы по сравнению со стандартными вычислительными ресурсами.

  • Операционная сложность. Для обеспечения высокой сложности работы требуются сложные диспетчеры рабочих нагрузок (Slurm, PBS, LSF), параллельные файловые системы и специализированные политики планирования, требующие знаний экспертов для настройки и обслуживания.

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

  • Требования к хранилищу. Массовые объемы данных и шаблоны параллельного доступа требуют дорогостоящих параллельных файловых систем и хранилища с высоким числом операций ввода-вывода в секунду, которые не могут предоставлять стандартные решения.

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

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

Широкие категории рабочих нагрузок HPC

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

Тип рабочей нагрузки Описание Вариант использования Рекомендуется
Тесно связан (постоянное взаимодействие) Все компьютеры должны постоянно взаимодействовать друг с другом при решении проблемы. Имитация того, как воздух обтекает крыло самолета, прогнозирование погоды на завтра, тестирование того, как автомобиль мнётся при аварии, или моделирование того, как молекулы взаимодействуют при разработке лекарств. Чрезвычайно быстрые сетевые подключения между компьютерами, поддержание физического взаимодействия компьютеров и специализированное высокопроизводительное оборудование.
Слабо связаны (работают независимо) Работа делится на отдельные части, которые не нужно координировать. Запуск тысяч сценариев "что если" для инвестиционных портфелей, рендеринга кадров для анимационных фильмов, анализа последовательностей ДНК или тестирования различных вариантов дизайна для продукта. Стандартные сетевые подключения как правило, функциональны, можно использовать более дешевые вычислительные ресурсы, которые могут иногда прерываться, и легко добавлять больше компьютеров по мере необходимости.
Ускоряемый с помощью GPU Использует графические процессоры, так как они исключительно хорошо выполняют миллионы простых вычислений одновременно. Обучение систем ИИ, обработка сейсмических данных для поиска нефтяных месторождений, выполнения моделирования химии, анализа медицинских изображений или создания инженерных визуализаций. Компьютеры с мощными графическими процессорами, специализированным программным обеспечением, которое знает, как использовать эти процессоры и системы хранения достаточно быстро, чтобы обеспечить скорость обработки.
Интенсивное использование памяти Должен одновременно хранить большие объемы информации в активной памяти. Сборка полных последовательностей генома из фрагментов, выполнение моделирования в масштабе города, анализ целых наборов данных в памяти для мгновенных запросов или обработка данных в режиме реального времени с тысяч датчиков. Компьютеры с исключительно большой емкостью памяти (часто 1–4 терабайт), конфигурации, предоставляющие большую память на процессор, а иногда и специальные параметры для управления очень большим выделением памяти.
Интенсивные операции ввода-вывода (узкие места по данным) Тратит больше времени на чтение и запись данных, чем на фактические вычисления результатов. Обработка спутниковых изображений, охватывающих целые континенты, преобразовывая массивные видеотеки между форматами, анализируя годы системных журналов для поиска шаблонов или обработки генетических данных из крупных исследований населения. Системы хранения, которые могут считывать и записывать данные на очень высокой скорости, файловые системы, способные одновременно обслуживать доступ от множества компьютеров, и стратегии, обеспечивающие хранение данных в непосредственной близости от места их обработки.

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

Как использовать это руководство

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

Перейдите к принципам проектирования , чтобы узнать, как методология проектирования соответствует основным принципам Well-Architected Framework. Рассмотрим траекторию роста и потребности масштабирования. Оцените базовые принципы для всех основных принципов коллективно, включая компромиссы между производительностью, затратами, безопасностью и операционной сложностью.

Подсказка

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

Дальнейшие действия

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