В феврале в Стэнфорде прошла конференция, посвящённая высокопроизводительным вычислениям (HPC). Представители VMware рассказали, что при работе с GPU система на базе модифицированного гипервизора ESXi по скорости не уступает bare metal решениям.
Рассказываем о технологиях, которые позволили этого добиться.
![](https://habrastorage.org/webt/8v/kv/yj/8vkvyjrwh-onxnppelxzpmkkzn0.jpeg)
/ фото Victorgrigas CC BY-SA
По оценкам аналитиков, порядка 70% рабочих нагрузок в дата-центрах виртуализированы. Однако оставшиеся 30% по-прежнему работают на bare metal без гипервизоров. Эти 30% по большей части состоят из высоконагруженных приложений, связанных, например, с обучением нейронных сетей, и использующих графические процессоры.
Подобный тренд эксперты объясняют тем, что гипервизор как промежуточный слой абстракции может влиять на производительность всей системы. В исследованиях пятилетней давности можно найти данные о снижении скорости работы на 10%. Поэтому компании и операторы дата-центров не спешат переводить HPC-нагрузку в виртуальную среду.
Но технологии виртуализации развиваются и совершенствуются. На конференции месяц назад в VMware рассказали, что гипервизор ESXi не оказывает негативного влияния на производительность GPU. Скорость вычислений может снизиться на три процента, а это сравнимо с показателями bare metal.
Чтобы повысить производительность HPC-систем с графическими процессорами, VMware внесли в работу гипервизора ряд изменений. В частности, его избавили от функции vMotion. Она нужна для балансировки нагрузки и обычно переносит виртуальные машины (ВМ) между серверами или GPU. Отключение vMotion привело к тому, что за каждой ВМ теперь закреплен конкретный графический процессор. Это помогло сократить издержки при обмене данными.
Другим ключевым компонентом системы является технология DirectPath I/O. Она позволяет драйверу CUDA для параллельных вычислений взаимодействовать с виртуальными машинами напрямую, минуя гипервизор. Когда на одном GPU требуется запустить сразу несколько ВМ, то задействуется решение GRID vGPU. Оно разделяет память карты на несколько сегментов (но вычислительные циклы при этом не делятся).
Схема работы двух виртуальных машин в этом случае будет выглядеть следующим образом:
![](https://habrastorage.org/webt/ts/ab/bm/tsabbmtivpd_ydgq4egnfrsgycw.png)
Компания провела тесты гипервизора, обучив языковую модель на базе TensorFlow. «Ущерб» производительности составил всего 3–4%, по сравнению с bare metal. При этом взамен система получила возможность распределять ресурсы по требованию в зависимости от текущих нагрузок.
ИТ-гигант также проводил тесты с контейнерами. Инженеры компании обучали нейронные сети распознавать изображения. При этом ресурсы одного графического процессора распределили между четырьмя контейнерными ВМ. В результате производительность отдельных машин снизилась на 17% (по сравнению с одной ВМ, имеющей полный доступ к ресурсам GPU). Однако количество обрабатываемых изображений за секунду возросло в три раза. Ожидается, что подобные системы найдут применение в области анализа данных и компьютерного моделирования.
Среди потенциальных проблем, с которыми может столкнуться VMware, эксперты выделяют довольно узкую целевую аудиторию. С высокопроизводительными системами пока работает небольшое число компаний. Хотя в Statista отмечают, что к 2021 году виртуализированы будут уже 94% рабочих нагрузок мировых ЦОД. По прогнозам аналитиков, стоимость HPC-рынка вырастет с 32 до 45 млрд долларов в период с 2017 по 2022 год.
![](https://habrastorage.org/webt/u9/-u/yv/u9-uyvvqxtluet_3rlbpftpkctg.jpeg)
/ фото Global Access Point PD
На рынке есть несколько аналогов, которые разрабатывают крупные ИТ-компании: AMD и Intel.
Первая компания для виртуализации графических процессоров предлагает подход на основе SR-IOV (single-root input/output virtualization). Эта технология предоставляет ВМ доступ к части аппаратных возможностей системы. Решение позволяет разделить графический процессор между 16 пользователями при равной производительности виртуализированных систем.
Что касается второго ИТ-гиганта, то их технология основывается на гипервизоре Citrix XenServer 7. Она объединяет работу стандартного GPU-драйвера и виртуальной машины, что позволяет последней отображать 3D-приложения и десктопы на устройствах сотен пользователей.
Разработчики виртуальных графических процессоров делают ставку на внедрение систем ИИ и рост популярности высокопроизводительных решений на рынке бизнес-технологий. Они надеются, что потребность в обработке больших объемов данных повысит спрос на vGPU.
Сейчас производители ищут способ совместить функциональность CPU и GPU в одном ядре, чтобы ускорить решение задач, связанных с графикой, выполнение математических вычислений, логических операций, обработку данных. Появление на рынке таких ядер в будущем изменит подход к виртуализации ресурсов и их распределению между рабочими нагрузками в виртуальной и облачной среде.
Что почитать по теме в нашем корпоративном блоге:
Пара постов из нашего Telegram-канала:
Рассказываем о технологиях, которые позволили этого добиться.
![](https://habrastorage.org/webt/8v/kv/yj/8vkvyjrwh-onxnppelxzpmkkzn0.jpeg)
/ фото Victorgrigas CC BY-SA
Проблема производительности
По оценкам аналитиков, порядка 70% рабочих нагрузок в дата-центрах виртуализированы. Однако оставшиеся 30% по-прежнему работают на bare metal без гипервизоров. Эти 30% по большей части состоят из высоконагруженных приложений, связанных, например, с обучением нейронных сетей, и использующих графические процессоры.
Подобный тренд эксперты объясняют тем, что гипервизор как промежуточный слой абстракции может влиять на производительность всей системы. В исследованиях пятилетней давности можно найти данные о снижении скорости работы на 10%. Поэтому компании и операторы дата-центров не спешат переводить HPC-нагрузку в виртуальную среду.
Но технологии виртуализации развиваются и совершенствуются. На конференции месяц назад в VMware рассказали, что гипервизор ESXi не оказывает негативного влияния на производительность GPU. Скорость вычислений может снизиться на три процента, а это сравнимо с показателями bare metal.
Как это работает
Чтобы повысить производительность HPC-систем с графическими процессорами, VMware внесли в работу гипервизора ряд изменений. В частности, его избавили от функции vMotion. Она нужна для балансировки нагрузки и обычно переносит виртуальные машины (ВМ) между серверами или GPU. Отключение vMotion привело к тому, что за каждой ВМ теперь закреплен конкретный графический процессор. Это помогло сократить издержки при обмене данными.
Другим ключевым компонентом системы является технология DirectPath I/O. Она позволяет драйверу CUDA для параллельных вычислений взаимодействовать с виртуальными машинами напрямую, минуя гипервизор. Когда на одном GPU требуется запустить сразу несколько ВМ, то задействуется решение GRID vGPU. Оно разделяет память карты на несколько сегментов (но вычислительные циклы при этом не делятся).
Схема работы двух виртуальных машин в этом случае будет выглядеть следующим образом:
![](https://habrastorage.org/webt/ts/ab/bm/tsabbmtivpd_ydgq4egnfrsgycw.png)
Результаты и прогнозы
Компания провела тесты гипервизора, обучив языковую модель на базе TensorFlow. «Ущерб» производительности составил всего 3–4%, по сравнению с bare metal. При этом взамен система получила возможность распределять ресурсы по требованию в зависимости от текущих нагрузок.
ИТ-гигант также проводил тесты с контейнерами. Инженеры компании обучали нейронные сети распознавать изображения. При этом ресурсы одного графического процессора распределили между четырьмя контейнерными ВМ. В результате производительность отдельных машин снизилась на 17% (по сравнению с одной ВМ, имеющей полный доступ к ресурсам GPU). Однако количество обрабатываемых изображений за секунду возросло в три раза. Ожидается, что подобные системы найдут применение в области анализа данных и компьютерного моделирования.
Среди потенциальных проблем, с которыми может столкнуться VMware, эксперты выделяют довольно узкую целевую аудиторию. С высокопроизводительными системами пока работает небольшое число компаний. Хотя в Statista отмечают, что к 2021 году виртуализированы будут уже 94% рабочих нагрузок мировых ЦОД. По прогнозам аналитиков, стоимость HPC-рынка вырастет с 32 до 45 млрд долларов в период с 2017 по 2022 год.
![](https://habrastorage.org/webt/u9/-u/yv/u9-uyvvqxtluet_3rlbpftpkctg.jpeg)
/ фото Global Access Point PD
Похожие решения
На рынке есть несколько аналогов, которые разрабатывают крупные ИТ-компании: AMD и Intel.
Первая компания для виртуализации графических процессоров предлагает подход на основе SR-IOV (single-root input/output virtualization). Эта технология предоставляет ВМ доступ к части аппаратных возможностей системы. Решение позволяет разделить графический процессор между 16 пользователями при равной производительности виртуализированных систем.
Что касается второго ИТ-гиганта, то их технология основывается на гипервизоре Citrix XenServer 7. Она объединяет работу стандартного GPU-драйвера и виртуальной машины, что позволяет последней отображать 3D-приложения и десктопы на устройствах сотен пользователей.
Будущее технологии
Разработчики виртуальных графических процессоров делают ставку на внедрение систем ИИ и рост популярности высокопроизводительных решений на рынке бизнес-технологий. Они надеются, что потребность в обработке больших объемов данных повысит спрос на vGPU.
Сейчас производители ищут способ совместить функциональность CPU и GPU в одном ядре, чтобы ускорить решение задач, связанных с графикой, выполнение математических вычислений, логических операций, обработку данных. Появление на рынке таких ядер в будущем изменит подход к виртуализации ресурсов и их распределению между рабочими нагрузками в виртуальной и облачной среде.
Что почитать по теме в нашем корпоративном блоге:
- Почему компании используют виртуальные машины, а не контейнеры
- «Как дела у VMware»: обзор новых решений
- VMware vSphere 6.7: чем полезны новые функции гипервизора
Пара постов из нашего Telegram-канала:
AN3333
Кто-нибудь понял о чем речь? Мне доводилось программировать GPU, однако не могу даже предположить о чем тут рассказывается.
darkAlert
Нельзя просто так взять и накатить виртуалку для диплернинга. Карт поддерживающих CUDA у nvidia много, но только tesla поддерживают vGPU и, соответственно, вирутализацию. Новость про то, что ускорили виртуализацию таких vGPU.
AN3333
Спасибо