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

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

Рекомендации по проектированию

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

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

Характеристика Ключевые вопросы Последствия проектирования
Тип рабочей нагрузки Является ли рабочая нагрузка тесно связанной (требует взаимодействия с низкой задержкой), слабо связанной (независимые задачи без взаимодействия между узлами), с использованием ускорения GPU, интенсивным использованием памяти или данных? Определяет, следует ли использовать кластеры на основе MPI, планировщики высокой пропускной способности, виртуальные машины с поддержкой GPU или архитектуры, ориентированные на данные, и определить целевую операционную систему (например, Linux или Windows Server) на основе совместимости приложений.
Требования к масштабированию Какова ожидаемая пропускная способность для вычислительных ресурсов, хранилища и сети? Сколько параллельных заданий необходимо выполнить? Что такое пиковый спрос? Влияет на размер кластера, стратегию автомасштабирования и планирование квот.
Требования к производительности Каковы требования к задержке для взаимодействия между узлами? Какая пропускная способность хранилища необходима? Что такое допустимое время завершения задания? Обеспечивает выбор сети (например, InfiniBand), выбор хранилища и семейство виртуальных машин.
Жизненный цикл данных Сколько данных создается на каждую задачу? Сколько времени должны храниться результаты? Каковы шаблоны доступа для входных и выходных данных? Влияет на иерархию хранения, надёжность и оптимизацию затрат.
ограничения затрат Что такое бюджет вычислительных ресурсов? Можно ли использовать точечные экземпляры или предопределенную емкость? Каковы компромиссы между производительностью и затратами? Руководства по использованию точечных экземпляров, политики планирования и стратегии повторных попыток выполнения заданий.
Требования к соответствию требованиям Существуют ли требования к месту проживания или независимости данных? Какие возможности аудита и ведения журнала необходимы? Какие средства управления безопасностью должны применяться? Определяет выбор региона, шифрование, ведение журнала и элементы управления доступом.

Базовая архитектура

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

Снимок экрана: типичная архитектура рабочей нагрузки HPC.

Архитектурный процесс

  1. Пользователи могут отправлять задания через веб-порталы, интерфейсы командной строки или API
  2. Системы проверки подлинности проверяют удостоверения и авторизуют доступ к ресурсам
  3. Планировщики заданий получают запросы и определяют оптимальное размещение на основе доступности ресурсов и политик
  4. Вычислительные узлы выполняют рабочую нагрузку, взаимодействуя через высокопроизводительные соединения
  5. Системы хранения предоставляют данные для выполнения заданий и сохранения результатов
  6. Мониторинг инфраструктуры отслеживает производительность, затраты и работоспособность системы во время выполнения

Компоненты архитектуры

Архитектура состоит из шести основных уровней:

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

Компонент Описание
Веб-портал Интерфейс на основе браузера для отправки заданий, мониторинга и управления файлами.
Командная строка Прямой доступ к терминалу для сценариев и автоматизации через SSH или локальные оболочки.
API Программный доступ через REST или GraphQL для интеграции с внешними системами и рабочими процессами.

Оркестрация и планирование

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

Высокопроизводительное соединение

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

Архитектура хранилища

Компонент Описание
Параллельная файловая система Общее хранилище с высокой пропускной способностью, оптимизированное для параллельного доступа многими узлами.
Хранилище объектов Масштабируемое хранилище для больших наборов данных, промежуточных результатов и рабочих данных.
Холодный уровень хранения Недорогое архивное хранение для долгосрочного хранения и соблюдения нормативных требований.

Управление и мониторинг

Компонент Описание
Provisioning Автоматическое развертывание и настройка вычислительных узлов и инфраструктуры.
Телеметрия Сбор данных о производительности, журналов и системных метрик в среде.
Monitoring Отслеживание использования ресурсов в режиме реального времени, состояния задания и работоспособности системы.
Alerting Автоматические уведомления о сбоях, нарушениях пороговых значений и операционных проблемах.
Обнаружение ошибок Идентификация сбоев узлов, ошибок задания и проблем инфраструктуры.

Основные архитектурные шаблоны

Рисунок Описание
Пакетная обработка Выполнение больших объемов заданий с результатами, доставленными после завершения.
Интерактивная визуализация Воспроизведение и анализ результатов моделирования и наборов данных в режиме реального времени.
Временные узлы Вычислительные ресурсы по запросу, выделяемые для пиковых рабочих нагрузок и освобождаемые при простое.
Сегментирование данных Распределение больших наборов данных между несколькими узлами хранилища для параллельного доступа.

Эталонные архитектурные схемы и зоны высадки

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

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