Тестирование высокопроизводительных HPC-нагрузок на VMware vSphere
Недавно компания VMware опубликовала интересное тестирование, посвященное работе и масштабированию высокопроизводительных нагрузок (High Performance Computing, HPC) на платформе VMware vSphere 7.
Основной целью тестирования было сравнение нативной производительности HPC-нагрузок на голом железе (bare metal) с работой этих машин на платформе vSphere.
Рабочие нагрузки использовали message passing interface (MPI) с приложениями на базе параллельных процессов (MPI ranks), которые могли объединять несколько физических серверов или виртуальных машин для решения задач. Например, использовались задачи computational fluid dynamics (CFD) для моделирования воздушных потоков в автомобильной и авиа индустриях.
В качестве тестового стенда использовался HPC-кластер из 16 узлов на базе Dell PowerEdge R640 vSAN ReadyNodes в качестве масштабируемых блоков. R640 представлял собой одноюнитовый сервер с двумя процессорами Intel Xeon.
Топология кластера выглядела следующим образом:
- Коммутаторы Dell PowerSwitch Z9332 соединяли адаптеры NVIDIA Connect-X6 на скорости 100 GbE по интерфейсу RDMA для MPI-нагрузок.
- Отдельная пара коммутаторов Dell PowerSwitch S5248F 25 GbE top of rack (ToR) использовалась для сети управления гипервизором, сети vSAN и доступа к ВМ.
Для соединений использовался virtual link trunking interconnect (VLTi). В рамках теста был создан кластер vSAN с поддержкой RDMA.
Конфигурация физических адаптеров выглядела следующим образом:
Вот так выглядит набор HPC-приложений и бенчмарков из разных индустрий, на базе которых проводилось тестирование:
В процессе тестирования производилось масштабирование высокопроизводительного кластера от 1 до 16 узлов, а результаты фиксировались для физической платформы и для виртуальной среды.
Итак, первая задача о динамике жидкостей:
Вторая задача - моделирование прогнозов погоды:
Третья задача - молекулярная динамика (тут на 16 узлах уже есть отличие производительности до 10%):
Еще один бенчмарк по молекулярной динамике, тут тоже есть 10%-е падение производительности на виртуальной платформе, но заметно его становится только при большом количестве узлов:
Бенчмарк NAMD, тут все почти одинаково:
Конечно же, в процессе тестирования производился тюнинг различных настроек самой платформы vSphere и виртуальных машин, вот какие настройки использовались:
Вот так это выглядит в интерфейсе vSphere Client:
Полную версию отчета о тестировании вы можете посмотреть здесь, но из картинок выше вполне понятно, что платформа VMware vSphere и решение vSAN отлично оптимизированы для работы с высокопроизводительными вычислениями.
Таги: VMware, vSphere, HPC, Performance, VMachines
Новый документ: VMware Paravirtual RDMA for High Performance Computing
Довольно давно мы писали о технологии Remote Direct Memory Access (RDMA) которая позволяет не использовать CPU сервера для удаленного доступа приложения к памяти другого хоста. RDMA позволяет приложению обратиться (в режиме чтение-запись) к данным памяти другого приложения на таргете, минуя CPU и операционную систему за счет использования аппаратных возможностей, которые предоставляют сетевые карты с поддержкой этой технологии - называются они Host Channel Adaptor (HCA).
Также некоторое время назад мы писали о VMware Paravirtual RDMA (PVRDMA) - технологии, поддержка которой появилась еще в VMware vSphere 6.5. С помощью нее для сетевых адаптеров PCIe с поддержкой RDMA можно обмениваться данными памяти для виртуальных машин напрямую через RDMA API, что важно для нагрузок High Performance Computing (HPC) на платформе vSphere.
Работает PVRDMA только в окружениях, где есть хосты ESXi с сетевыми картами с соответствующей поддержкой, а также где виртуальные машины подключены к распределенному коммутатору vSphere Distributed Switch (VDS). Альтернативой этому режиму использования сетевых карт является технология VMDirectPath I/O (passthrough), которая напрямую пробрасывает устройство в виртуальную машину. Это, конечно, самый оптимальный путь с точки зрения производительности, однако он не позволяет использовать многие полезные технологии VMware, такие как HA, DRS и vMotion.
Недавно компания VMware выпустила интересный документ "Paravirtual RDMA for High Performance Computing", где рассматриваются аспекты развертывания и производительности PVRDMA, а также производится тестирование этой технологии в сравнении с VMDirectPath I/O и TCP/IP:
Читать весь документ, наверное, не стоит - можно довериться методике тестирования VMware и ее подходу к оценке производительности. Тестовый стенд выглядел так:
Состав оборудования и особенности тестирования:
- 8 хостов ESXi 7.0 на платформе PowerEdge C6420 с Intel Xeon Gold 6148 CPU на борту (20 ядер / 40 потоков), 200GB RAM NVIDIA Mellanox ConnectX-5 Ex 100GbE NIC на канале RDMA
- Карты NVIDIA Mellanox ConnectX-5 Ex NIC, соединенные через коммутатор 100GbE NVIDIA Mellanox
- CentOS 7.6, 20 vCPUs, 100GB RAM, ВМ на датасторе vSAN, одна ВМ на хост ESXi
- OpenMPI версии 4.1.0, использующая using openib BTL для транспорта RDMA
- OpenFOAM версии 8, исполняющая тест cavityFine из руководства OpenFOAM. Этот тест исполняет симуляцию течения жидкости с заданными параметрами.
Тут можно просто взглянуть на следующие картинки, чтобы понять, что при использовании PVRDMA вы теряете не так уж и много в сравнении с VMDirectPath I/O.
Результаты теста по времени исполнения в секундах (для 2,4 и 8 хостов, соответственно):
Визуализация результатов при изменении числа узлов:
В среднем, потери производительности на PVRDMA составляют до 20%, зато вы получаете множество преимуществ, которые дает полная виртуализация без жесткой привязки к оборудованию - консолидация, HA и vMotion:
В сравнении с TCP дела тоже обстоят хорошо, результат лучше на 30-80%, в зависимости от числа узлов:
Скачать документ VMware Paravirtual RDMA for High Performance Computing можно по этой ссылке. Таги: VMware, RDMA, Performance, Whitepaper, VMachines, HPC
Новое на VMware Labs - Virtualized High Performance Computing Toolkit
На сайте VMware Labs появился интересный инструмент Virtualized High Performance Computing Toolkit, который может оказаться полезен компаниям, использующим VMware vSphere для организации высокопроизводительных вычислений (High Performance Computing, HPC). Такие комплексные вычислительные задачи, как правило, вовлекают параллельные вычисления, аппаратное ускорение (такое как GPU и FPGA), а также используют высокоскоростные каналы, такие как RDMA.
Все это требует определенных конфигураций VMware vSphere, для настройки которых и нужно данное средство. С помощью него, используя vSphere API, можно дать администраторам инструменты по сопровождению задач HPC, таких как клонирование ВМ, настройка Latency Sensitivity, сайзинг виртуальных машин по CPU и памяти и многое другое.
Основные возможности тулкита:
- Настройка устройств PCIe в режиме DirectPath I/O, таких как GPGPU, FPGA и RDMA
- Настройка NVIDIA vGPU
- Настройка RDMA SR-IOV (Single Root I/O Virtualization)
- Настройка PVRDMA (Paravirtualized RDMA)
- Простое создание и уничтожение кластеров HPC с помощью файлов конфигураций
- Выполнение задач vSphere, таких как клонирование, настройка vCPU, памяти, резерваций, shares, Latency Sensitivity, обычного и распределенного виртуального коммутатора, сетевых адаптеров и конфигураций
Например, клонирование 4 виртуальных машин с заданными кастомизациями CPU и памяти, а также добавлением NVIDIA vGPU с профилем grid_p100-4q выглядит так:
vhpc_toolkit> clone --template vhpc_clone --datacenter HPC_Datacenter --cluster COMPUTE_GPU_Cluster --datastore COMPUTE01_vsanDatastore --memory 8 --cpu 8 –-file VM-file
vhpc_toolkit> vgpu --add --profile grid_p100-4q --file VM-file
Для использования тулкита вам понадобится ОС Linux или Mac. Скачать Virtualized High Performance Computing Toolkit можно по этой ссылке. Таги: VMware, vSphere, HPC, Labs, Performance, Hardware
Новое на VMware Labs: Virtualized High Performance Computing Toolkit.
На сайте проекта VMware Labs недавно появилась очередная интересная штука - средство Virtualized High Performance Computing Toolkit. С помощью этого пакета пользователи VMware vSphere, которым требуется поддержка виртуальных машин, работающих в сфере высоких нагрузок (High Performance Computing, HPC), могут упростить управление жизненным циклом таких специализированных конфигураций через vSphere API.
Как правило, задачи HPC требуют использования таких технологий, как vGPU и FPGA, а также RDMA interconnects для высокопроизводительных вычислений. Помимо возможностей управления конфигурациями, тулкит содержит средства, которые дают администраторам возможности по выполнению типовых задач в HPC-окружениях на виртуальной платформе - клонирование ВМ, определение Latency Sensivity, сайзинг машин по vCPU и памяти, а также некоторые другие.
Вот возможности Virtualized High Performance Computing Toolkit списком:
- Настройка устройств PCIe в режиме DirectPath I/O с использованием GPGPU, FPGA и RDMA interconnects.
- Настройка NVIDIA vGPU.
- Настройка RDMA SR-IOV (Single Root I/O Virtualization).
- Настройка PVRDMA (Paravirtualized RDMA).
- Возможность простого создания и удаления виртуальных кластеров HPC с использованием файлов конфигурации.
- Выполнение частых задач vSphere - клонирование ВМ, настройка vCPU, памяти, резерваций, shares, Latency Sensitivity, коммутаторов Distributed Virtual Switch/Standard Virtual Switch, сетевых адаптеров и конфигураций.
С помощью тулкита вы сможете применить приведенные выше операции к одной или нескольким ВМ одновременно. Например, вот так выглядит клонирование машины на базе шаблона vhpc_clone с заданными кастомизациями памяти и CPU и добавление NVIDIA vGPU в соответствии с профилем vGPU по имени grid_p100-4q:
vhpc_toolkit> clone --template vhpc_clone --datacenter HPC_Datacenter --cluster COMPUTE_GPU_Cluster --datastore COMPUTE01_vsanDatastore --memory 8 --cpu 8 –-file VM-file
vhpc_toolkit> vgpu --add --profile grid_p100-4q --file VM-file
В файле VM-file должен содержаться список клонов ВМ, которые должны получиться в результате операции.
А вот такой командой можно собрать кластер под HPC-задачи в соответствии с конфигурацией, указанной в файле cluster.conf:
vhpc_toolkit> cluster --create --file cluster.conf
Больше подробностей об этом тулките можно получить в репозитории на GitHub вот тут. Скачать Virtualized High Performance Computing Toolkit можно там же.
Таги: VMware, vSphere, HPC, Framework
Новый документ - "Learning Guide – GPUs for Machine Learning on vSphere".
Недавно мы писали про интересную штуку - утилиту Machine Learning on VMware Cloud Foundation, которая предоставляет инженерам по работе с данными инструменты в области Data Science в рамках виртуальной инфраструктуры. К сожалению, она пока не поддерживает использование GPU хостов, а работает только с CPU. Но заслуживает внимание сам факт такого решения - VMware начинает плотно прорабатывать тему машинного обучения.
Также о задачах машинного обучения на платформе vSphere мы рассказывали в статье "Некоторые аспекты использования VMware vSphere для задач машинного обучения и технология FlexDirect от компании BitFusion".
Еще один элемент этой концепции - выпущенный на днях документ "Learning Guide – GPUs for Machine Learning on vSphere". В нем VMware рассказывает о том, как правильно строить системы, заточенные под алгоритмы машинного обучения, на платформе VMware vSphere.
Документ позволит архитекторам ИТ-инфраструктур и командам DevOps ответить на следующие вопросы:
- Зачем нужны серверы с GPU для задач machine learning (ML) на платформах high performance computing (HPC).
- Как именно используется модуль GPU.
- Как на платформе vSphere строить ML-системы.
- Как транслировать модуль GPU в рабочую нагрузку ML в виртуальной машине.
- Как наладить взаимодействие между командой data scientists и администраторов виртуальной инфраструктуры.
Задачи машинного обучения с использованием GPU можно решать тремя способами:
Эти способы реализуют соответствующие технологии:
Об остальном читайте в интереснейшем документе на 43 страницах. В конце вайтпэйпера приведена огромная коллекция полезных ссылок на документы и статьи по практическому применению задач машинного обучения в виртуальных средах.
Таги: VMware, vSphere, GPU, vGPU, HPC, Whitepaper
Еще одно публичное облако IaaS - Google Compute Engine.
На прошедшей конференции Google I/O 2012 было анонсировано много чего интересного: Android 4.1 Jelly Bean, планшет Nexus 7, медиаплеер Nexus Q, приняты предварительные заказы на Project Glass для разработчиков, анонсировано расширение магазина Google Play и прочее.
Но нас с вами интересует, конечно же, не это. Главная для нас новость - это анонс нового публичного IaaS-облака от интернет-гиганта, которое называется Google Compute Engine. На конференции было продемонстрировано приложение по обсчету генома, запущенное в кластере из 1250 виртуальных машин (у каждой 8 ядер) на этой платформе, что, возможно, намекает на направленность Google на сегмент "Big Data", а также научные и исследовательские задачи крупных компаний и университетов.
Google Compute Engine - это новый сервис аренды вычислительных сред в публичном облаке (IaaS) на базе ОС Linux, предоставляющий услуги на базе платы за почасовое потребление ресурсов (вычислительные мощности и хранилища). Поддержки Windows в данных вычислительных средах пока не заявлено. Напомним, что у Google уже есть PaaS-платформа App Engine и сервис облачного хранения Cloud Storage. Сам сервис Compute Engine (CE) доступен для пробного использования только по приглашениям (Limited Preview).
Таким образом, мы получаем трех потенциальных лидеров рынка IaaS-сервисов из публичного облака: старейший Amazon AWS, анонсированный в начале июня Microsoft Windows Azure и Google Compute Engine. Особняком стоит компания VMware, предоставляющая решения VMware vCloud, на базе которых любой сервис-провайдер может построить публичное облако. При этом VMware не скрывает своей направленности исключительно на крупный корпоративный сектор (сейчас существует около 125 сертифицированных публичных облаков vCloud от партеров VMware по программе VSPP в 26 странах, которые предлагают аренду виртуальных машин). Отметим также и решение Citrix Xen Cloud Platform от компании Citrix и сообщества Xen.
Основные особенности Google Compute Engine:
- Вычислительные среды. Доступны в конфигурации 1,2,4 или 8 ядер на Linux-платформе с 3,75 ГБ оперативной памяти на одно ядро.
- Хранилища. Можно хранить данные виртуальных машин в виде непостоянных (Ephemeral), а также постоянных (Persistent) дисков на стороне Google или в сервисе Google Cloud Storage. Для постоянных дисков можно делать снапшоты в целях резервного копирования, а также предоставлять доступ к одному диску со стороны нескольких ВМ. Все данные дисков шифруются.
- Сетевое взаимодействие. Возможность использовать высокопроизводительное сетевое оборудование датацетров Google и самостоятельно конфигурировать сетевые экраны, также использовать внешний IP-адрес. Плюс готовые решения от сторонних вендоров, которые выступают партнерами Google.
- Управление. Виртуальными машинами можно будет управлять через веб-консоль или CLI, также есть API, предоставляющий множество возможностей разработчикам и сторонним производителям.
Google Compute Engine будет интегрирован с партнерскими решениями RightScale, Puppet Labs,OpsCode, Numerate, Cliqr, MapR и другими.
Безусловно, Google вступает на рынок IaaS-решений довольно поздно. Но это только одна сторона медали - на самом деле, более 90% компаний вообще еще не пользовались облачными ресурсами уровня IaaS, поэтому потенциал рынка огромный. Также отметим возможную "нишевость" сервиса от Google, если он будет направлен на высокопроизводительные вычисления по цене существенно меньшей, чем у конкурентов.
Кстати, о цене. Заявленные цены выглядят так:
Значение GCEU (Google Compute Engine Units), которое вы видите в правой колонке - это аналог Amazon EC2 Compute Unit (как написано тут), т.е. где-то эквивалент 1.0-1.2 ГГц на процессорах 2007 Opteron or 2007 Xeon.
Также на сайте thenextweb.com проведено сравнение анонсированных цен на Google Compute Engine и уже объявленных Microsoft на Windows Azure. По расчетам получается, что при где-то одинаковой цене мощностей Google Compute Engine и Windows Azure, сервис от Google дает на 50% больше оперативной памяти для ВМ.
Таги: Google, IaaS, Cloud, Cloud Computing, HPC, Amazon, Azure, Сравнение, Enterprise, VMware, vCloud
|