Обзор виртуальных машин серии HB
Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы
Для обеспечения максимальной производительности приложений для высокопроизводительных вычислений (HPC) на процессорах AMD EPYC требуется продуманный подход к локализации памяти и размещению процессов. Далее рассматривается архитектура AMD EPYC и наш вариант ее реализации в Azure для приложений HPC. Мы используем термин pNUMA, чтобы ссылаться на физический домен NUMA и vNUMA, чтобы ссылаться на виртуализированный домен NUMA.
Сервер серии HB оснащен двумя 32-ядерными ЦП EPYC 7551, предлагающими в общей сложности 64 физических ядра. Эти 64 ядра разделены на 16 доменов pNUMA (8 на сокет), каждый из которых имеет по 4 ядра. AMD называет эти домены Core Complex (или CCX). Каждый CCX имеет собственный кэш L3, который определяет границу pNUMA/vNUMA. Пара смежных CCX предоставляет доступ к двум каналам физической памяти DRAM (32 ГБ памяти DRAM на серверах серии HB).
Чтобы работа низкоуровневой оболочки Azure не мешала работе виртуальной машины, мы резервируем физический домены pNUMA 0 (первый CCX). Затем мы присваиваем pNUMA домены 1–15 (оставшиеся единицы CCX) для виртуальной машины. Виртуальная машина видит:
(15 vNUMA domains) * (4 cores/vNUMA) = 60
ядер на виртуальную машину
Виртуальная машина сама по себе не знает, что pNUMA 0 ей не предоставлено. Виртуальная машина рассматривает pNUMA 0 1–15 как vNUMA 0–14, с 7 vNUMA на vSocket 0 и 8 vNUMA на vSocket 1. Хотя это и асимметрично, операционная система должна загружаться и работать нормально. Далее в этом руководстве мы расскажем, как лучше выполнять приложения MPI на этом асимметричном макете NUMA.
Виртуальные машины серии HB поддерживают закрепление процессов, так как для гостевой виртуальной машины мы предоставляем базовый чип "как есть". Мы настоятельно рекомендуем закреплять процесс для обеспечения оптимальной производительности и согласованности.
На следующей схеме показано разделение ядер, зарезервированных для низкоуровневой оболочки Azure и виртуальной машины серии HB.
Характеристики оборудования
Характеристики оборудования | Виртуальная машина серии HB |
---|---|
Ядра | 60 (SMT отключено) |
ЦП | AMD EPYC 7551 |
Частота ЦП (без AVX) | ~2,55 ГГц (одно ядро + все ядра) |
Память | 4 ГБ на ядро (всего 240 ГБ) |
Локальный диск | Диск SSD на 700 ГБ |
Infiniband | EDR Mellanox ConnectX-5 на 100 Гб |
Network | Ethernet 50 ГБ/с (доступно 40 ГБ/с) Azure второго поколения SmartNIC |
Характеристики программного обеспечения
Характеристики программного обеспечения | Виртуальная машина серии HB |
---|---|
Максимальный размер задания MPI | 18 000 ядер (300 виртуальных машин в одном масштабируемом наборе виртуальных машин с параметром singlePlacementGroup = true) |
Поддержка MPI | HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, платформа MPI |
Дополнительные платформы | UCX, libfabric, PGAS |
Поддержка службы хранилища Microsoft Azure | Диски уровня "Стандарт" и "Премиум" (максимум 4 диска) |
Поддержка ОС для SRIOV RDMA | RHEL 7.6+, Ubuntu 18.04+, SLES 15.4, WinServer 2016+ |
Поддержка Orchestrator | CycleCloud, пакетная служба, AKS; параметры конфигурации кластера |
Внимание
Этот документ ссылается на версию выпуска Linux, которая приближается или находится в конце жизни(EOL). Пожалуйста, рассмотрите возможность обновления до более текущей версии.
Следующие шаги
- Дополнительные сведения об архитектуре AMD EPYC и многопроцессорных архитектурах. Дополнительные сведения см. в документе Руководство по тонкой настройке процессоров AMD EPYC для высокопроизводительных вычислений (HPC).
- Ознакомьтесь с последними объявлениями, примерами рабочей нагрузки HPC, а также результатами оценки производительности в блогах технического сообщества Вычислений Azure.
- Сведения о более высоком уровне архитектурного представления выполнения рабочих нагрузок HPC см. в статье Высокопроизводительные вычисления (HPC) в Azure.