Стиль архитектуры больших вычислений

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

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

Следующие характеристики распространены в больших вычислительных приложениях:

  • Работа может быть разделена на дискретные задачи, которые могут выполняться одновременно между многими ядрами.

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

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

  • Для некоторых приложений задачи независимы и могут выполняться параллельно. В других случаях задачи тесно связаны, что означает, что они должны взаимодействовать или обмениваться промежуточными результатами. В этом случае рекомендуется использовать высокоскоростные сетевые технологии, такие как InfiniBand и удаленный прямой доступ к памяти (RDMA).

  • В зависимости от рабочей нагрузки можно использовать семейства виртуальных машин с интенсивным вычислением, например серии HBv5, серии HC и серии HX.

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

  • Ресурсоемкие вычислительные операции, такие как моделирование и обработка данных

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

  • Имитации, требующие слишком большого объема памяти для одного компьютера и должны быть разделены на несколько компьютеров

  • Длительные вычисления, которые занимают слишком много времени для выполнения на одном компьютере

  • Небольшие вычисления, которые должны выполнять сотни или тысячи раз, например моделирование Монте-Карло

Преимущества

  • Высокая производительность с тривиально параллельной обработкой

  • Возможность использовать сотни или тысячи ядер компьютера для решения больших проблем быстрее

  • Доступ к специализированному высокопроизводительному оборудованию, использующему специальные высокоскоростные сети InfiniBand.

  • Возможность подготовки и удаления виртуальных машин по мере необходимости

Проблемы

  • Управление инфраструктурой виртуальных машин

  • Управление объемом обработки данных

  • Своевременная организация подготовки тысяч процессорных ядер

  • Для тесно связанных задач добавление дополнительных ядер может иметь снижение отдачи. Возможно, вам потребуется поэкспериментировать, чтобы найти оптимальное количество ядер.

Большие вычислительные ресурсы с помощью пакетной службы Azure

Пакетная служба Azure — это управляемая служба для выполнения крупномасштабных высокопроизводительных вычислений (HPC).

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

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

Большие вычислительные ресурсы, выполняющиеся на виртуальных машинах

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

Пакет HPC, развернутый в Azure

В этом сценарии кластер HPC создается полностью в Azure.

Схема, на которую показан пакет HPC, развернутый в Azure.

Головной узел предоставляет службы планирования заданий и управления в кластере. Для тесно связанных задач используйте сеть RDMA, которая обеспечивает высокую пропускную способность, низкую задержку связи между виртуальными машинами. Дополнительные сведения см. в разделе "Обзор пакета Microsoft HPC 2019".

Расширение кластера HPC на Azure

В этом сценарии вы запускаете локальный пакет HPC и используете виртуальные машины Azure для ускорения емкости. Головной узел кластера находится в локальной среде. Azure ExpressRoute или VPN-шлюз Azure подключает локальную сеть к виртуальной сети Azure.

Схема с гибридным большим вычислительным кластером.