За июнь-июль к нам обратилось почти два десятка компаний, интересовавшихся возможностями виртуальных GPU. «Графикой» от Cloud4Y уже пользуется одна из крупных «дочек» Сбербанка, но в целом услуга не слишком популярная. Так что подобная активность нас весьма порадовала. Видя рост интереса к технологии, мы решили чуть подробнее рассказать про vGPU.

«Озёра данных», полученные в результате научных экспериментов и исследований, Deep Learning и другие направления работы с ИИ, моделирование крупных и сложных объектов — всё это требует высокопроизводительного «железа». Хорошо, если оно есть и позволяет быстро решать текущие задачи. Вот только из-за возрастающей вычислительной сложности задач (в первую очередь касается для бизнес-аналитики, рендеринга, DL-алгоритмов и фреймворков) аппаратные мощности настольных и даже серверных CPU всё чаще становятся бесполезны.

Выход был найден в использовании вычислений на GPU. Эта технология ускорения графики обеспечивает разделение ресурсов одного графического процессора между несколькими виртуальными компьютерами. GPU изначально проектировался для работы с графикой, потому состоит из тысячи мелких ядер, используемых для эффективной обработки параллельных задач. При этом на GPU выполняется часть самых ресурсоемких вычислений, остальное берёт на себя CPU.



Вычисления с помощью GPU придумала компания Nvidia ещё в 2007 году. Сегодня эта технология вышла на новый уровень и применяе��ся в ЦОДах крупнейших предприятий и научных лабораторий. Однако у традиционного подхода есть один весомый недостаток: закупка физического оборудования обходится весьма недёшево. А если вспомнить скорость устаревания «железа», то становится ещё грустнее.

Проблему призвана решить технология виртуальных графических процессоров: vGPU. С её помощью пользователи могут удалённо запускать тяжёлые приложения вроде AutoCAD, 3DS Max, Maya, Sony Vegas Pro. Виртуализация быстро отвоевала свою долю рынка. Ведь какой русский data-scientist не любит быстрых вычислений на видеокартах NVidia Tesla?

Здесь стоит отметить, что до появления vGPU использовались другие методы ускорения обработки графики: Virtual Shared Graphics Acceleration (vSGA) и Virtual Dedicated Graphics Acceleration (vDGA). Решение vGPU объединило лучшее из обеих технологий. Как и в случае vSGA, в среде vGPU предполагается совместное использование GPU и RAM несколькими виртуальными рабочими столами, но при этом каждая ВМ передаёт команды напрямую к GPU, как в случае с vDGA.

Зачем вообще нужны vGPU


Облачные вычисления с использованием vGPU позволяют компаниям справляться с задачами, которые раньше невозможно было решить. Или возможно, но для этого требовалось нереально много ресурсов. 1 современный GPU-сервер способен заменить до 100 обычных CPU. Есть и другие, ещё более внушительные цифры. Это не шутки: решения Nvidia обрабатывают петабайты данных в несколько раз быстрее классических CPU-серверов. А тот же Google Cloud предлагает виртуальные машины с GPU, выдающие до 960 терафлопс.

Многие специалисты нуждаются в мощных устройствах, способных выполнять параллельные вычисления. Архитекторы и инженеры используют технологию vGPU в системах проектирования (тот же Autodesk, к примеру). Дизайнеры работают с цифровым фото- и видеоконтентом (Photoshop, CorelDraw). Виртуальные машины с графическими процессорами требуются и медицинским учреждениям, которые аккумулируют и анализируют данных о пациентах и заболеваниях. Работает с GPU и «Яндекс».

Думаете, всё? Как бы не так. Технологию используют и для автоматической проверки точности спутниковых снимков, и для прогнозирования эпидемий, метеорологических исследований, моделирования солнечных циклов и бизнес-аналитики. А ещё есть классная статья про моделирование в среде Unity3D от ThisIsZolden.

При всём при этом решения на базе vGPU пока что не получили широкого распространения в мире. Так, в 2018 году NetApp провёл опрос среди компаний, использующих в работе графические процессоры. Результаты показали, что 60% организаций по-прежнему работают на собственной ИТ-инфраструктуре. «Облаком» же пользуются лишь 23%. В России проникновение технологии облачных вычислений имеет меньш��е значение. Но благодаря новым аппаратным и программным решениям число компаний, использующих виртуальные машины с GPU, постоянно растёт.

Решения для vGPU




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

Один из наиболее авторитетных разработчиков решений в сфере облачных решений, компания VMware предлагает компаниям гипервизор ESXi, под которым скорость работы виртуальных графических процессоров сопоставима с реализациями на голом железе. В недавнем обновлении разработчик отключил балансировщик нагрузки vMotion и добавил поддержку технологии DirectPath I/O, которая связывает драйвер CUDA с ВМ в обход гипервизора и ускоряет передачу данных.

Nvidia тоже старается соответствовать ожиданиям рынка, и для этого выпустила opensource-платформу Rapids. Решение объединяет несколько библиотек для работы с архитектурой CUDA, что упрощает работу с данными во время тренировки нейросетей и позволяет автоматизировать работу с Python-кодом. Использование Rapids с алгоритмом машинного обучения XGBoost даёт 50-кратное увеличение производительности по сравнению с системами на базе CPU.

Своя технология есть и у AMD. Платформа называется ROCm. Она использует технологию SR-IOV, которая делит аппаратные возможности физического устройства между несколькими виртуальными машинами. Ресурсы одного ускорителя можно разделить между шестнадцатью пользователям��, поддерживая равную производительность для каждого из них. Таким образом ускоряется передача данных между облачными CPU и GPU. Также используется специальный диалект C++ под названием HIP, который упрощает выполнение математических операций на GPU.

Intel строит свою технологию базе кросс-платформенного гипервизора Citrix XenServer 7, который в 2017 году получил сертификат соответствия ФСТЭК. Решение объединяет работу стандартного GPU-драйвера и виртуальной машины. То есть «виртуалка» может поддерживать работу тяжёлых приложений на устройствах большого (несколько сотен) количества пользователей.

Рыночные перспективы




Независимые аналитики считают, что объём продаж решений для HPC-систем достигнет 45 млрд долларов к 2022 году. Разработчики платформ также ожидают увеличения спроса на высокопроизводительные системы. Это ожидание подкрепляется популярностью Big Data и часто возникающей необходимостью обрабатывать крупные объёмы данных.

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

Гибриды в корне изменили подход к виртуализации и распределению виртуальных ресурсов в рамках дата-центров. А решения с открытым исходным кодом наподобие ROCm и Rapids позволяют операторам ЦОД эффективнее использовать вычислительные ресурсы, повышая производительность оборудования.

Есть и другое мнение. Например, что виртуальные GPU будут вытеснены оптическими чипами с фотонным кодированием данных. Такие решения уже существуют и используются для машинного обучения. Более того, они кажутся производительнее обычного GPU. Но технология ещё сыровата.

Какой можно сделать вывод? Несмотря на возможное появление аналогов, vGPU — вполне перспективное направление, способное решать большое количество задач. Но подходит оно не всем. Так что запятую в заголовке можете поставить сами.

P.S.
Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью! Пишем не чаще двух раз в неделю и только по делу.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы использует vGPU?
27.5%Да, часто требуются виртуальные мощности11
72.5%Нет и вряд ли планируем29
Проголосовали 40 пользователей. Воздержался 21 пользователь.