vGPU — использовать нельзя игнорировать



    За июнь-июль к нам обратилось почти два десятка компаний, интересовавшихся возможностями виртуальных 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?

    • 24.2%Да, часто требуются виртуальные мощности8
    • 75.7%Нет и вряд ли планируем25
    Cloud4Y
    61,62
    #1 Корпоративный облачный провайдер
    Поделиться публикацией

    Комментарии 10

      0
      >>запускать тяжёлые приложения вроде AutoCAD
      Очень тяжелое приложение, если файлы от всякой фигни не чистить встроенными утилитами и рисовать всякие непотребства (мне как-то прислали план здания, на котором при увеличении обнаружились болты, которые стягивают балки!). А так — не тяжелее Word-овского файла напичканного несжатыми картинками.
      Для современных ПК AutoCAD не является тяжелым приложением.
        0
        В целом — согласен. Однако чертёж весом 25-30 мб далеко не редкость. Потому и упомянул. Не чистят-с, сэр.
          +1
          В 2019 году 20-30 Мб это тяжелый файл?
            +1
            Если он может весить 100 кб — да.
            Это как с сайтами. Кто-то их оптимизирует для повышения скорости загрузки, а кто-то набивает всякой всячиной. Разница в скорости открытия еле заметна, но она есть.
              +2
              Смотря 30 Мб чего. Например, если задаться целью, 30-мегабайтной SVG-шкой можно ввести в очень глубокую задумчивость даже средней мощности игровой комп.
                0
                А используя zip/png-bomb весом меньше мегабайта — можно вынести даже мощный сервер. Гидратация вообще забавная штука.
                0
                для CAD это нечто довольно жирненькое и на открытие потребуется от десятка секунд core i7 3.5Ghz…
                0

                30Мб...


                Я дома ворочаю 2-5гиговыми PSD'шками в фотошопе, с 20-40 слоями, порой открытых таких одновременно штук 5. 16 гигов оперативы, как оказалось, очень даже бывает мало.

              +4

              У облачных GPU на базе теслы есть весомый недостаток: нвидиа — жадные уроды, программно заблокировавшие виртуализацию для домашних карт, и прописавшие в еуле запрет на их использование в датацентрах (хотя домашнее оборудование и теслы почти идентичны по перфомансу для ML). Поэтому, собирая для себя машинку под ML, покупаешь оборудование за $600, а арендуя в облаке арендуешь такое же, но которое обходится провайдеру при закупке в $5000. Соответсвенно, эти лишние $4400 так или иначе на арендаторов перевыставят.

                0
                Потому что могут. В сфере вычислений они де-факто монополисты, так как AMD не умеют в инструменты разработки.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое