Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
1 марта 2023 г. мы прекратим поддержку классических виртуальных машин.
Если вы используете ресурсы IaaS из ASM, выполните миграцию к 1 марта 2023 г. Рекомендуем осуществить этот переход как можно раньше, чтобы воспользоваться различными улучшенными функциями в Azure Resource Manager.
Дополнительные сведения см. в статье Перенесите свои ресурсы IaaS в Azure Resource Manager до 1 марта 2023 г.
Настройте кластер Windows RDMA в Azure с помощью пакета MICROSOFT HPC и размеров виртуальных машин с поддержкой RDMA для запуска параллельных приложений интерфейса передачи сообщений (MPI). При настройке узлов с поддержкой RDMA в кластере HPC на основе Windows Server приложения MPI эффективно взаимодействуют по сети Azure с низкой задержкой и высокой пропускной способностью, основанной на технологии удаленного прямого доступа к памяти (RDMA).
Варианты развертывания кластера пакета HPC
Пакет MICROSOFT HPC — это средство, предоставляемое без дополнительных затрат для создания кластеров HPC в локальной среде или в Azure для запуска приложений WINDOWS или Linux HPC. Пакет HPC включает среду выполнения для реализации Microsoft интерфейса передачи сообщений для Windows (MS-MPI). При использовании с экземплярами с поддержкой RDMA под управлением поддерживаемой операционной системы Windows Server пакет HPC обеспечивает эффективный способ запуска приложений Windows MPI, которые обращаются к сети RDMA Azure.
В этой статье приведены два сценария и ссылки на подробные рекомендации по настройке кластера Windows RDMA с пакетом Microsoft HPC 2012 R2.
- Сценарий 1. Развертывание экземпляров рабочей роли с интенсивным вычислением (PaaS)
- Сценарий 2. Развертывание вычислительных узлов на виртуальных машинах с интенсивным вычислением (IaaS)
Сценарий 1. Развертывание экземпляров рабочей роли с интенсивным вычислением (PaaS)
В существующем кластере пакета HPC добавьте дополнительные вычислительные ресурсы в экземпляры рабочей роли Azure (узлы Azure), работающие в облачной службе (PaaS). Эта функция также называется "всплеском в Azure" из пакета HPC, поддерживает диапазон размеров для экземпляров рабочей роли. При добавлении узлов Azure укажите один из размеров, поддерживающих RDMA.
Ниже приведены рекомендации и шаги по переходу к экземплярам Azure с поддержкой RDMA из существующего (обычно локального) кластера. Используйте аналогичные процедуры, чтобы добавить экземпляры рабочей роли в головной узел пакета HPC, развернутый на виртуальной машине Azure.
Замечание
Руководство по подключению к Azure с помощью пакета HPC см. в статье "Настройка гибридного кластера с помощью пакета HPC". Обратите внимание на рекомендации, описанные в следующих шагах, которые применяются специально к узлам Azure с поддержкой RDMA.
Этапы
Развертывание и настройка головного узла ПАКЕТА HPC 2012 R2
Скачайте пакет установки пакета HPC из Центра загрузки Майкрософт. Требования и инструкции для подготовки к развертыванию Azure Burst см. в статье "Burst на рабочие экземпляры Azure" с помощью пакета Microsoft HPC.
Настройка сертификата управления в подписке Azure
Настройте сертификат для защиты подключения между головном узлом и Azure. Параметры и процедуры см. в сценариях настройки сертификата управления Azure для пакета HPC. Для тестовых развертываний пакет HPC устанавливает сертификат управления Microsoft HPC Azure по умолчанию, который можно быстро отправить в подписку Azure.
Создание облачной службы и учетной записи хранения
Используйте портал Azure для создания облачной службы (классической) и учетной записи хранения (классической) для развертывания. Создайте эти ресурсы в регионе, где доступен размер H-series, A8 или A9, который вы хотите использовать. См. продукты Azure по регионам.
Создание шаблона узла Azure
Используйте мастер создания шаблонов узлов в диспетчере кластеров HPC. Инструкции см. в статье "Создание шаблона узла Azure в разделе "Действия по развертыванию узлов Azure с помощью пакета Microsoft HPC".
Для первоначальных тестов мы рекомендуем настроить политику доступности вручную в шаблоне.
Добавление узлов в кластер
Используйте мастер добавления узлов в диспетчере кластеров HPC. Дополнительные сведения см. в разделе "Добавление узлов Azure" в кластер Windows HPC.
При указании размера узлов выберите один из размеров экземпляра, поддерживающего RDMA.
Замечание
В каждом пакетном режиме развертывания на Azure с вычислительно интенсивными экземплярами HPC Pack автоматически развертывает как минимум два экземпляра с поддержкой RDMA (например, A8) в качестве прокси-узлов, в дополнение к указанным экземплярам рабочей роли Azure. Прокси-узлы используют ядра, выделенные для подписки, и плата взимается за них вместе с экземплярами рабочей роли Azure.
Запустите (подготовьте) узлы и перенесите их в режим "в сети" для запуска заданий
Выберите узлы и используйте действие "Пуск " в диспетчере кластеров HPC. После завершения подготовки выберите узлы и используйте команду Запуск в сети в диспетчере кластеров HPC. Узлы готовы к выполнению заданий.
Отправка заданий в кластер
Используйте средства отправки заданий пакета HPC для запуска заданий кластера. См. пакет Microsoft HPC: управление заданиями.
Остановка (отмена предоставления) узлов
Завершив выполнение заданий, переведите узлы в автономный режим и используйте действие Stop в менеджере кластеров HPC.
Сценарий 2. Развертывание вычислительных узлов на виртуальных машинах с интенсивным вычислением (IaaS)
В этом сценарии вы развертываете головной узел пакета HPC и вычислительные узлы кластера на виртуальных машинах в виртуальной сети Azure. Пакет HPC предоставляет несколько вариантов развертывания на виртуальных машинах Azure, включая сценарии автоматического развертывания и шаблоны быстрого запуска Azure. Например, приведенные ниже рекомендации и инструкции по использованию сценария развертывания пакета HPC IaaS для автоматизации развертывания кластера HPC Pack 2012 R2 в Azure.
Этапы
Создание головного узла кластера и виртуальных машин вычислительных узлов с помощью скрипта развертывания IaaS пакета HPC на клиентском компьютере
Скачайте пакет скрипта развертывания IaaS пакета HPC из Центра загрузки Майкрософт.
Чтобы подготовить клиентский компьютер, создайте файл конфигурации скрипта и запустите скрипт, см. статью "Создание кластера HPC с помощью сценария развертывания пакета IaaS пакета HPC".
Рекомендации по развертыванию вычислительных узлов с поддержкой RDMA см. в статье о размерах виртуальных машин с высокой производительностью и обратите внимание на следующее:
Виртуальная сеть: укажите новую виртуальную сеть в регионе, где доступен размер серии H, A8 или A9, который вы хотите использовать. См. продукты Azure по регионам.
Операционная система Windows Server: для поддержки подключения RDMA укажите совместимую операционную систему Windows Server, например Windows Server 2012 R2 для виртуальных машин вычислительного узла.
Облачные службы. Так как сценарий использует классическую модель развертывания, виртуальные машины кластера развертываются с помощью облачных служб Azure (
ServiceNameпараметры в файле конфигурации). Рекомендуется развернуть головной узел в одной облачной службе и вычислительные узлы в другой облачной службе.Размер головного узла: для этого сценария рассмотрим размер по крайней мере A4 (экстра большой) для головного узла.
Расширение HpcVmDrivers: сценарий развертывания устанавливает агент виртуальной машины Azure и расширение HpcVmDrivers автоматически при развертывании вычислительных узлов размера A8 или A9 с операционной системой Windows Server. HpcVmDrivers устанавливает драйверы на виртуальных машинах вычислительных узлов, чтобы они могли подключаться к сети RDMA. На виртуальных машинах серии H с поддержкой RDMA необходимо вручную установить расширение HpcVmDrivers. См. статью о размерах виртуальных машин с высокой производительностью.
Конфигурация сети кластера: скрипт развертывания автоматически настраивает кластер пакета HPC в топологии 5 (все узлы в корпоративной сети). Эта топология необходима для всех развертываний кластеров пакетов HPC на виртуальных машинах. Не изменяйте топологию сети кластера позже.
Перенос вычислительных узлов в режим "в сети" для выполнения заданий
Выберите узлы и используйте действие "Перенос в Интернет " в диспетчере кластеров HPC. Узлы готовы к выполнению заданий.
Отправка заданий в кластер
Подключитесь к головному узлу для отправки заданий или настройте локальный компьютер для этого. Дополнительные сведения см. в разделе "Отправка заданий в кластер HPC" в Azure.
Переключите узлы в оффлайн режим и остановите их (освобождая ресурсы)
Завершив выполнение заданий, переведите узлы в режим офлайн в менеджере кластеров HPC. Затем используйте средства управления Azure, чтобы завершить их работу.
Запуск приложений MPI в кластере
Пример. Запуск mpipingpong в кластере пакетов HPC
Чтобы проверить развертывание пакета HPC экземпляров с поддержкой RDMA, выполните в кластере команду пакета HPC mpipingpong. mpipingpong отправляет пакеты данных между парными узлами многократно для вычисления задержки и измерения пропускной способности и статистики для сети приложений с поддержкой RDMA. В этом примере показан типичный шаблон выполнения задания MPI (в данном случае mpipingpong) с помощью команды mpiexec кластера.
В этом примере предполагается, что узлы Azure добавлены в конфигурацию "всплеска в Azure" ([Сценарий 1](#scenario-1.-deploy-compute-intensive-worker-role-instances-(PaaS) в этой статье. Если вы развернули пакет HPC в кластере виртуальных машин Azure, необходимо изменить синтаксис команды, чтобы указать другую группу узлов и задать дополнительные переменные среды для перенаправления сетевого трафика в сеть RDMA.
Чтобы запустить mpipingpong в кластере, выполните следующие действия:
На головном узле или на правильно настроенном клиентском компьютере откройте командную строку.
Чтобы оценить задержку между парами узлов в развертывании на основе Azure с четырьмя узлами, выполните следующую команду, чтобы отправить задание на выполнение mpipingpong с небольшим размером пакета и многочисленными итерациями:
job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 1:100000 -op -s nulКоманда возвращает идентификатор отправленного задания.
Если вы развернули кластер пакетов HPC, развернутый на виртуальных машинах Azure, укажите группу узлов, содержащую виртуальные машины вычислительных узлов, развернутые в одной облачной службе, и измените команду mpiexec следующим образом:
job submit /nodegroup:vmcomputenodes /numnodes:4 mpiexec -c 1 -affinity -env MSMPI_DISABLE_SOCK 1 -env MSMPI_PRECONNECT all -env MPICH_NETMASK 172.16.0.0/255.255.0.0 mpipingpong -p 1:100000 -op -s nulКогда задание завершится, чтобы просмотреть выходные данные (в данном случае выходные данные задачи 1 задания), введите следующее.
task view <JobID>.1Where <JobID> — это идентификатор отправленного задания.
Выходные данные включают результаты задержки, аналогичные приведенным ниже.
Чтобы оценить пропускную способность между парами всплесковых узлов Azure, введите следующую команду для отправки задания на выполнение mpipingpong с большим размером пакета и небольшим числом итераций.
job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 4000000:1000 -op -s nulКоманда возвращает идентификатор отправленного задания.
В кластере пакета HPC, развернутом на виртуальных машинах Azure, измените команду, как указано на шаге 2.
Когда задание завершится, чтобы просмотреть выходные данные (в данном случае выходные данные задачи 1 задания), введите следующее:
task view <JobID>.1Выходные данные включают результаты пропускной способности, аналогичные приведенным ниже.
Вопросы, которые следует учитывать при работе с приложениями MPI
Ниже приведены рекомендации по запуску приложений MPI с пакетом HPC в Azure. Некоторые применяются только к развертываниям узлов Azure (экземпляры рабочей роли, добавленные в конфигурацию "всплеск в Azure").
Экземпляры рабочих ролей в облачной службе периодически переподготавливаются без уведомления со стороны Azure (например, для обслуживания системы или в случае отказа экземпляра). Если экземпляр перепроектирован во время выполнения задания MPI, экземпляр теряет свои данные и возвращается в состояние при первом развертывании, что может привести к сбою задания MPI. Чем больше узлов вы используете для одного задания MPI, и чем дольше выполняется задание, тем более вероятно, что один из экземпляров будет переподготовлен во время выполнения задания. Кроме того, учитывайте это, если вы назначите один узел в развертывании в качестве файлового сервера.
Для запуска заданий MPI в Azure не требуется использовать экземпляры, поддерживаемые RDMA. Вы можете использовать любой размер экземпляра, поддерживаемый пакетом HPC. Однако экземпляры с поддержкой RDMA рекомендуются для выполнения относительно крупномасштабных заданий MPI, чувствительных к задержке и пропускной способности сети, подключающей узлы. При использовании других размеров для выполнения заданий MPI с учетом задержки и пропускной способности рекомендуется выполнять небольшие задания, в которых одна задача выполняется только на нескольких узлах.
Приложения, развернутые в экземплярах Azure, подчиняются условиям лицензирования, связанным с приложением. Проконсультируйтесь с поставщиками всех коммерческих приложений насчет лицензирования или иных ограничений на запуск приложений в облаке. Не все поставщики предлагают лицензирование с оплатой по мере использования.
Экземпляры Azure нуждаются в дополнительной настройке для доступа к узлам локальной сети, общим папкам и серверам лицензий. Например, чтобы разрешить узлам Azure доступ к локальному серверу лицензирования, можно настроить виртуальную сеть Azure типа "сеть — сеть".
Чтобы запустить приложения MPI на экземплярах Azure, зарегистрируйте каждое приложение MPI в брандмауэре Windows, выполнив команду hpcfwutil. Это позволяет осуществлять обмен данными MPI на порте, который динамически назначается брандмауэром.
Замечание
Для burst-развертывания в Azure можно также настроить команду исключения брандмауэра для автоматического запуска на всех новых узлах Azure, добавленных в кластер. После выполнения команды hpcfwutil и убедитесь, что приложение работает, добавьте команду в скрипт запуска для узлов Azure. Дополнительные сведения см. в статье "Использование скрипта запуска для узлов Azure".
Пакет HPC использует переменную среды кластера CCP_MPI_NETMASK для указания диапазона допустимых адресов для обмена данными MPI. Начиная с пакета HPC 2012 R2 переменная среды кластера CCP_MPI_NETMASK влияет только на взаимодействие MPI между вычислительными узлами, присоединенными к домену (локальными или на виртуальных машинах Azure). Переменная игнорируется узлами, добавленными в конфигурацию Azure одномоментно.
Задания MPI не могут выполняться между экземплярами Azure, развернутыми в разных облачных службах (например, в развертывании Azure с различными шаблонами узлов или вычислительными узлами Azure, развернутыми в нескольких облачных службах). Если у вас несколько развертываний узлов Azure, запущенных с различными шаблонами узлов, задание MPI должно выполняться только на одном наборе узлов Azure.
При добавлении узлов Azure в кластер и их подключении к сети служба планировщика заданий HPC немедленно пытается запустить задания на узлах. Если только часть рабочей нагрузки может выполняться в Azure, убедитесь, что вы обновляете или создаете шаблоны заданий, чтобы определить, какие типы заданий могут выполняться в Azure. Например, чтобы убедиться, что задания, отправленные с помощью шаблона задания, выполняются только на узлах Azure, добавьте свойство "Группы узлов" в шаблон задания и выберите AzureNodes в качестве требуемого значения. Чтобы создать пользовательские группы для узлов Azure, используйте командлет Add-HpcGroup HPC PowerShell.
Дальнейшие шаги
- В качестве альтернативы использованию пакета HPC разрабатывайте с использованием службы Azure Batch, чтобы запускать приложения MPI на управляемых пулах вычислительных узлов в Azure. См. статью "Использование задач с несколькими экземплярами для запуска приложений интерфейса передачи сообщений ( MPI) в пакетной службе Azure.