Пакет Microsoft HPC

Завершено

Для управления высокопроизводительной инфраструктурой или для управления облачными и локальными виртуальными машинами рекомендуется использовать пакет Microsoft HPC.

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

Здесь вы узнаете, как пакет HPC может управлять инфраструктурой HPC.

Что такое пакет HPC?

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

Схема гибридного пакета HPC.

HPC Pack — это версия слоя управления пакетной обработкой и планированием, которая предоставляет полный контроль и ответственность. Для развертывания пакета HPC требуется Windows Server 2012 или более поздней версии.

Планирование пакета HPC

Как правило, следует подготовиться к установке пакета HPC с полным обзором требований. Вам нужен SQL Server и контроллер Active Directory. Кроме того, необходимо запланировать топологию. Сколько узлов головного или управляемого узла должно быть, и сколько рабочих узлов? Вам нужно расширить до Azure? В этом случае вы предварительно подготавливаете узлы Azure в составе кластера. Размер основных компьютеров, составляющих плоскость управления (головные и управляющие узлы, контроллер домена SQL Server и Active Directory), зависит от прогнозируемого размера кластера.

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

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

Использование сочетания технологий

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

Развертывание и управление системами HPC

Оркестрация систем HPC

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

Кроме того, оркестратор может выполнять другие задачи, такие как восстановление (управление ошибками), масштабирование и ведение журнала. Оркестраторы, такие как известные Kubernetes или Mesos, могут получить доступ к облачным ресурсам кластера напрямую путем виртуализации.

Развертывание систем HPC

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

  • Azure Resource Manager: позволяет развертывать приложения в кластерах с помощью файлов скриптов или шаблонов.
  • головной узел HPC: Обеспечивает возможность планирования заданий и распределения рабочих нагрузок на рабочие узлы. Это виртуальная машина, которая используется для управления кластерами HPC.
  • виртуальная сеть: позволяет создавать изолированную сеть кластеров и хранилища через безопасные подключения с помощью VPN ExpressRoute или IPsec. Вы можете интегрировать установленные DNS-серверы и IP-адреса в сеть и детализировать трафик между подсетями.
  • Масштабируемые наборы виртуальных машин: позволяют развертывать виртуальные машины в кластерах и включают функции автомасштабирования, развертывания в нескольких зонах и балансировки нагрузки. Масштабируемые наборы можно использовать для запуска нескольких баз данных, включая MongoDB, Cassandra и Hadoop.
  • хранилище: включает подключение постоянных кластеров хранения в виде блоба, дисков, файлов, гибридного хранилища или хранилища озера данных.

Управление развертываниями Azure HPC

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

  • пакет Microsoft HPC: набор служебных программ, позволяющий настраивать кластеры виртуальных машин, отслеживать операции и планировать рабочие нагрузки. Пакет HPC включает функции, помогающие перенести локальные рабочие нагрузки или продолжить работу с гибридным развертыванием. Программа не подготавливает виртуальные машины или сетевую инфраструктуру для вас или управляет ими.
  • Azure CycleCloud: интерфейс для планировщика на ваш выбор. Azure CycleCloud можно использовать с различными собственными и сторонними вариантами, включая пакет HPC, подсистему Grid Engine, Slurm и Симфонию. CycleCloud позволяет управлять рабочими нагрузками, определять элементы управления доступом с помощью Active Directory и настраивать политики кластера.
  • Azure Batch: управляемый инструмент, который можно использовать для автомасштабирования развертываний и задания политик для планирования заданий. Пакетная служба Azure обрабатывает подготовку, назначение, время выполнения и мониторинг рабочих нагрузок. Чтобы воспользоваться этим, достаточно загрузить рабочие задания и настроить пул виртуальных машин.

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

Рекомендации по развертыванию Azure HPC

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

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

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

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

  • Подключитесь к головному узлу с помощью клиентских утилит HPC:
    Клиентские служебные программы пакета HPC — это предпочтительный способ подключения к головному узлу, особенно при выполнении больших заданий. Эти служебные программы можно установить на рабочих станциях пользователей и удаленно получить доступ к головному узлу, а не использовать службы удаленных рабочих столов (RDS). Эти служебные программы особенно полезны, если многие пользователи подключаются одновременно.

Планирование задач

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

  • Свести к минимуму время между отправкой задания и завершением задания. Задание не должно оставаться в очереди в течение длительного периода времени.
  • Оптимизация использования ЦП. Особенно меньше времени простоя ЦП.
  • Максимизация пропускной способности заданий, масштабирование выполнения заданий за единицу времени.

Сведения о планировании задач

Пользователи передают неинтерактивные пакетные задания планировщику. Планировщик хранит пакетные задания, оценивает требования к ресурсам и приоритеты и распределяет задания в подходящие вычислительные узлы. Они составляют большую часть кластеров HPC (около 98%), будучи самыми энергоемкими.

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

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

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

  1. Планировщик завершает задание после истечения выделенного времени, даже в том случае, если задание требует больше времени.
  2. Задание зависает в очереди навсегда, если задание требует больше памяти, чем доступно в системе.

Диаграмма доступа пользователя к пакетной системе.

Иллюстрация

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

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

схема распределения заданий планировщика по узлам.

алгоритмы планирования

Существует две основные стратегии, которые планировщики могут использовать для определения следующего задания. Современные планировщики не придерживаться строго одного из этих алгоритмов, а вместо этого используют сочетание двух. Кроме того, есть много дополнительных аспектов, которые планировщик должен учитывать, например текущую системную нагрузку.

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

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

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

Управление рабочими процессами

  • параллельная обработка задач & автоматизация

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

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

  • средства для управления рабочими процессами

Использование пакетной службы Azure

Используйте пакетную службу Azure для эффективного выполнения крупномасштабных параллельных и высокопроизводительных вычислений (HPC) пакетных заданий в Azure. Пакетная служба Azure создает пул вычислительных узлов (виртуальных машин), устанавливает приложения, которые вы хотите запустить, и планирует выполнение заданий на узлах. Нет необходимости устанавливать, управлять или масштабировать программное обеспечение для планирования кластеров или задач. Вместо этого вы используете API и средства пакетной службы, скрипты командной строки или портал Azure для настройки, управления и мониторинга заданий.

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

Использование Azure CycleCloud

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

Дополнительные сведения о Azure CycleCloud см. в Azure CycleCloud.

Проверка знаний

1.

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

2.

Вы пытаетесь настроить топологию пакета HPC, начиная с локальных ресурсов. Какая версия Windows Server должна использоваться для головного узла?