Когда один из наших сотрудников сказал своему знакомому сисадмину: «А у нас теперь новая услуга — VDS с видеокартой», тот в ответ усмехнулся: «Что, будете офисную братию на майнинг толкать?». Ну хоть не про игры пошутил, и то ладно. Много он понимает в жизни разработчика! Но в глубине души у нас затаилась мысль о том, а вдруг кто-то и правда думает, что видеокарта — удел майнеров и любителей компьютерных игр? В любом случае, лучше семь раз проверить, а заодно рассказать, зачем придуман VDS с видеокартой и почему это так важно.



Безусловно, если вам нужен арендованный виртуальный сервер VDS с видеокартой для игр, то даже не читайте дальше, переходите на страницу услуги и смотрите условия/цены от RUVDS — наверняка вам понравится. Остальных мы приглашаем к дискуссии: а нужен ли VDS с видеокартой как услуга или проще развернуть свой программно-аппаратный комплекс?

Ответ на этот вопрос зависит от бизнеса и организации его процессов. Фактически такое предложение может заинтересовать рекламные агентства с их Фотошопами и Корелами, дизайн-агентства, использующие 3D-программы, проектные организации с Автокадами. Сотрудники этих компаний смогут работать из любого места, следовательно, можно будет нанимать людей откуда угодно и при этом не тратиться на капитальные вложения в мощную технику.

Сейчас ресурсы видеокарт активно используют разработчики популярного программного обеспечения: любой современный браузер будет отрисовывать страницы сайтов значительно быстрее, если сможет использовать графический ускоритель, не говоря уже о том, что для этих самых браузеров существуют 3D приложения и игры, которые работают на WebGL.

Таким образом можно предположить, что VDS с видеокартой подойдёт многим ИТ-компаниям, интернет-магазинам, рекламным и дизайнерским агентствам, компаниям, связанным с анализом данных и т.д. Попытаемся классифицировать и подробнее описать наиболее актуальные варианты использования.

Первое, что напрашивается само собой, это работа с графикой. VDS c видеокартой обеспечит вычислительные мощности для быстрой работы с 3D-графикой, анимацией, 2D-графикой. Дизайнерам и компаниям из геймдева такая конфигурация будет оптимальна, она потянет как моделирование, так и Corel, Photoshop, Autocad и т.д. Плюс, как мы уже рассуждали ранее, у такой услуги есть важное дополнительное преимущество: компании смогут легко формировать распределённую команду и при этом не нести колоссальных затрат.

Также VDS с видеокартой могут заинтересоваться компании, у которых есть потребность в быстром обсчёте сложных задач, либо большого количества дискретных простых задач. Это компании, которые собирают и обрабатывают данные с большого количества датчиков или инфраструктуры IoT, имеют биллинг, работают с большими данными и нуждаются в ультра оперативном сборе метрик и т.д. Если вы работаете с бизнес-приложениями, основанными на Big Data, вы оцените скорость анализа и обработки данных. Вычислительные преимущества VDS с видеокартами при решении вышеперечисленных задач связаны с тем, что видеокарта обслуживается производительной оперативной памятью и имеет больше арифметико-логических модулей, чем CPU, а значит, одновременно выполняется гораздо больше операций. 

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

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

Наконец, VDS с видеокартой — то что нужно для стриминга, то есть потокового вещания для трансляции событий, музыкального и видео-контента. Вариант подойдёт для вещания с публичных камер, может заинтересовать организаторов конференций и т.д. 

Ещё один сценарий, который нам подсказали разработчики, использующие VDS с видеокартой в реальном бою, — такая конфигурация хорошо отрабатывает для запуска android-эмулятора при разработке мобильных приложений (и особенно игр).

Из частных задач мы бы выделили две основных, которые представляют собой набор частых вычислительных операций. Первая — майнинг (а им кто-то занимается?). Вторая — более интересная и менее нагруженная. Это работа с торговыми системами типа QUIK. Работа с такой конфигурацией комфортна для высокочастотной торговли.

Ну и последняя, самая банальная, задача, которая решается VDS с видеокартой. При этом не важно частный вы клиент или корпоративный, не важно какое программное обеспечение используете: бухгалтерское, для моделирования или рисования. Вам всегда будет важна быстрая отрисовка интерфейса, особенно при использования множества RDP подключений.

Тестирование


Конечно приведенные тесты не будут иметь ничего общего с вашими реальными задачами, бизнес-процессами и идеями реализации, поэтому отнеситесь к ним как к примерам.

Для тестирования мы сравнили виртуальный сервер с 2 ядрами процессора и 4 ГБ оперативной памяти с виртуальной видеокартой в 128МБ и без видеокарты. На обеих виртуалках запустили в браузере Internet Explorer одну и ту же WebGL страницу. На странице рисовались квадраты размером 32x32 со скоростью 60 кадров в секунду.

Такую картинку мы получили на виртуальном сервере, с установленной видеокартой. Скорость прорисовки составила 59-62 кадра в секунду, все пространство было заполнено, число спрайтов составило 14 тысяч штук. 

Кликабельно:



Результат на аналогичном VPS без видеокарты. Скорость прорисовки 32 кадра в секунду, при полностью загруженном на 100% процессоре, имеем 1302 спрайтов, и незаполненную область.

Кликабельно:



Также мы протестировали нашу видеокарту с помощью бенчмарка FurMark, при разрешении 1920 на 1440 точек и получили среднюю частоту 45 кадров в секунду.

Кликабельно:



Еще один стресс-тест для видеокарты с помощью MSI Kombustor, здесь мы проверили видеокарту на предмет появления различных артефактов. При тестировании на экране не должны появляться разноцветные пятна, геометрические фигуры, полосы и прочие артефакты. После 25 минут тестирования видеокарты все в норме, артефактов не появилось. 



Запустили видео на youtube в 4к. Кликабельно:





Также мы запустили тесты в 3DMark. Получили в среднем около 40 кадров в секунду. 





Провели тест с помощью бенчмарка Geekbench 5 для OpenCL
image

Результаты тестов нас приятно порадовали. Пробуйте, тестируйте, делитесь опытом.

Кстати, а кто-то уже пробовал конфигурацию VDS с видеокартой, для чего использовали, как оно вам? 

Комментарии (41)


  1. Alexsandr_SE
    01.10.2019 14:15

    Самое главное не протестировали, окупается ил в майнинге :)
    Если серьезное, то явно не лишняя вещь и многим пригодится.


  1. YourChief
    01.10.2019 14:31

    А вы сами-то пробовали ваш RemoteFX Adapter использовать для чего-то из вышеперечисленного? Я почти уверен, что:

    • CUDA и OpenCL на нём работать не будут — второй, третий и четвёртый пункт предложенных вами применений (вычисления, аудит паролей и нейросети) сразу мимо.
    • NVDEC/NVENC и VCE (что подразумевается пятым пунктом) через RemoteFX скорее всего тоже работать не будут — для стриминга и конвертации видео оно тогда никак не поможет.

    Если бы у вас было полноценное устройство через PCI Passthrough, то это ещё имело бы какой-то смысл. Вы хотя бы действительно майнер запустили для теста что-ли — вполне себе бенчмарк вычислительного потенциала. Тогда сразу и обнаружили бы всю тщетность затеи. Разве что для удалённых рабочих столов с ускорением графики годится.


    1. ru_vds Автор
      01.10.2019 14:48

      OpenCL на нём работать не будут
      В одном из тестов мы использовали FurMark, программа предназначена для проведения тестирования различного уровня нагрузки под видеокарты, поддерживающие специальный 3D интерфейс API OpenGL. «Волосатый бублик» под RemoteFX прекрасно рендерился.
      Волосатый бублик
      image


      1. YourChief
        01.10.2019 14:51

        Нет, я имею в виду OpenCL.


        1. ru_vds Автор
          01.10.2019 15:26

          Провели тест с помощью бенчмарка Geekbench 5 на той же тестовой виртуалке с 128Мб памяти для OpenCL, с результатами можно ознакомиться по ссылке, добавили их также в текст статьи.

          Тест OpenCL Geekbench 5
          image


          1. YourChief
            01.10.2019 15:52

            Неплохо, но это будет только OpenCL 1.1. Всё, что требует 1.2 и выше работать не будет. CUDA-приложения работать не будут. NVENC/NVDEC работать не будут (хотя ваши P2000 не имеют ограничения по числу NVENC-сессий и были бы полезны для транскодинга).


    1. YourChief
      01.10.2019 14:50

      Ну и вдобавок разработка самой технологии RemoteFX vGPU прекращена в пользу Discrete Device Assignment (PCI passthrough по сути). Источник: docs.microsoft.com


    1. ru_vds Автор
      01.10.2019 15:03

      Как мы и писали в статье, приведенные тесты могут не иметь ничего общего с вашими реальными задачами и мы привели их лишь для примера. Вы можете сами проверить как работают данные программы, протестировать сервер с видеокартой, 3 дня для теста сервера мы даем бесплатно всем новым клиентам.


      1. YourChief
        01.10.2019 17:30



        Что-то как-то уже расхотелось даже.


        1. ru_vds Автор
          01.10.2019 17:50

          Не уходили сообщения с кодом подтверждения на украинские номера. Сейчас все поправили.


  1. MarvinD
    01.10.2019 14:37

    А как это выглядит со стороны хоста? Стоит хост с пулом карточек и они делят свою суммарную память, наподобие как в VirtualBox настраивается, сколько памяти от хостовой видяхи можно дать vm? Или хост стоит с одной видеокартой? В общем, интересны технические подробности, если это возможно. Сколько пользователей на такой хост допускается?


  1. atd
    01.10.2019 15:36

    > переходите на страницу услуги и смотрите условия/цены

    нажимаю на ссылку и там просто выбор VDS, никакого упоминания видеокарт, все фильтры сброшены в минимальные


    1. ru_vds Автор
      01.10.2019 15:46

      Если по ссылке не получилось, выберите в конфигураторе для заказа дата-центр RUCLOUD с частотой процессора 3,4Ггц (Тип процессора — Мощный), появится возможность выбрать сервер с видеокартой.

      Как заказать VPS с видеокартой
      image


      1. atd
        01.10.2019 16:26

        а больше 1Gb VRAM не доступно?


        1. ru_vds Автор
          01.10.2019 16:34

          нет


          1. avdx
            01.10.2019 19:12

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


            1. ru_vds Автор
              01.10.2019 19:21

              Потестируйте наш сервер с видеокартой для ваших задач, 3 дня даем бесплатно для новых клиентов.


              1. avdx
                01.10.2019 19:29

                Потестировать конечно можно, чтобы понять будет ли работать там в принципе. Но с максимумальным объемом видеопамяти в 1Gb использовать такой сервер на практике бессмысленно. 1Gb это объем самых бюджетных видеокарт и на них в нашей задаче как раз в основном все упирается в видеопамять.


                1. YourChief
                  01.10.2019 20:17

                  Там CL память отдельно считается, мне пишет, что 2048 Mb allocatable, хотя я создал виртуалку с 256 МБ видеопамяти. Я подозреваю, что гипервизор аллокацию памяти OpenCL вообще не особо может контролировать — он просто обёртка для OpenCL Nvidia на хосте и на лету аллокации просматривать вряд ли может.


                  1. avdx
                    01.10.2019 21:16

                    Ну у меня сегодня не получилось проверить. Зарегистрировался, написано что тестовый доступ для конфигураций с ценой меньше 3000р. Пока игрался с конфигурацией, чтобы уложиться в эту цену, не заметил, что видеокарта пропала. В итоге создал без видеокарты. Когда заметил, удалил, но новую с тестовым доступом создать уже не получилось. Завтра может попрошу кого-нибудь зарегистрировать новый аккаунт и проверить.
                    Но в любом случае, даже если там 2G видеопамяти всего, этого все равно мало. Даже для десктопного решения это не много, а для серверного точно не вариант. Ну а если выделение памяти там реально не контролируется, то непонятно как этим пользоваться — в любом момент кто то другой может использовать всю видеопамять и ты об этом никак не узнаешь.


                    1. YourChief
                      01.10.2019 21:26

                      У меня на моей домашней видеокарте OpenCL-драйвер показывает тоже 2 Гб, хотя там 8. Есть подозрение, что это ограничение на один инстанс приложения и GPU внутри 32битный.

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

                      У меня такая же история была, но я вовремя заметил. ruvds Из заказа пропадает видеокарта, если страница была переоткрыта повторно.

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

                      Я вот это щас как раз пытаюсь проверить, отъев большой кусок памяти у хоста. Проблема пока только на винде что-то на OpenCL собрать — целая проблема.


                      1. avdx
                        01.10.2019 21:33

                        У Nvidia доступна вся память, но одним куском можно выделить 2G максимум, это да. Через CUDA такого ограничения нет.
                        У меня со сборкой собственного OpenCL кода под винду проблем нет. Использую OpenCL SDK, который идет в составе CUDA. А вот если нужно собрать что то стороннее, не знаю. Но например libx264 с поддержкой кодирования в OpenCL у меня вроде собирался под виндой из коробки, но они там вообще сторонний SDK не используют. Как я понял, просто сами загружают OpenCL.dll и находят там все нужные символы.


                        1. YourChief
                          01.10.2019 22:25

                          Я даже не знаю, какой мне SDK использовать, чтобы он был OpenCL версии 1.1 и работал с RemoteFX (который на самом деле проксирует в nvidia opencl 1.2 на хосте). Пробовал использовать бинари собранные под OpenCL 1.2 (например, pyopencl) — не запускается просто из-за отсутствия некоторых функций в DLL.


                          1. avdx
                            01.10.2019 23:06

                            Ну SDK можно использовать любой. Если реально в коде используется только 1.1, то проблем не должно быть. А если используются какие то вызовы из 1.2, то тут уже никакой SDK не поможет, если драйвер эту версию не поддерживает.


      1. algotrader2013
        01.10.2019 16:55

        Ксеонами на 3.4 ГГц удивили. Да, есть несколько моделей с такой частотой, но они сильно уступают по соотношению цена/суммарная частота по всем ядрам своим более медленным собратьям. Они реально выгодны для арендного бизнеса? Или там i7/i9 по факту?)


        1. littleleshy
          01.10.2019 17:32
          +1

          На скриншоте Xeon Gold 6128.
          Самое интересное, что есть процессоры выгоднее в соотношении цена на ядро с базовой частотой ниже, но такой же частотой в турбо.
          Можно попробовать заказать тест на три дня и посмотреть)


  1. leshabirukov
    01.10.2019 15:47

    Также подобный сервер поможет компаниям или частным разработчикам, которые занимаются обучением нейросетей — та сфера, где мощность не бывает лишней.
    Меня как энтузиаста НС такое интересует — чтобы работало как Microsoft Azure Notebook, но с GPU и поминутной тарификацией.


    1. JakUi
      01.10.2019 17:22

      Google Colab не пробовали или сброс данных каждые 12 часов не устраивает?


      1. leshabirukov
        01.10.2019 17:52

        Попробую, спасибо за наводку!


    1. D1abloRUS
      01.10.2019 17:30
      +1

      Посмотрите у меня в профиле, возможно вас устроит


      1. leshabirukov
        01.10.2019 18:19

        Да, наверное как-то так, сохранил на будущее. Я так подозреваю, из коробки там Юпитера и ДЛ-фреймворка не будет, хорошо бы иметь подробный сценарий как настроить.
        Edit: а, для фреймворка есть шаблон.


    1. ru_vds Автор
      01.10.2019 18:35
      +1

      В конфигураторе на сайте RUVDS вы можете выбрать необходимую вам конфигурацию сервера с видеокартой, затем выбрать вариант оплаты «За ресурсы» с поминутной оплатой. Подробное описание тарифа можно прочитать в нашем справочнике.

      Пример оплаты за ресурсы
      image


      1. leshabirukov
        01.10.2019 18:50

        В конфигураторе надо выбирать «ТИП ПРОЦЕССОРА» «Мощный» и «Видео RAM»? При подключении «Видео RAM» цена подозрительно не меняется.


        1. ru_vds Автор
          01.10.2019 18:53

          В конфигураторе надо выбирать «ТИП ПРОЦЕССОРА» «Мощный» и «Видео RAM»?
          Все верно. Дата-центр RUCLOUD.
          При подключении «Видео RAM» цена подозрительно не меняется.
          При выборе оплаты «За ресурсы» цена указывается в месяц при минимальном использовании ресурсов, она складывается из оплаты за место на жестком диске и числа IPv4 адреса(ов) в аренде. Оплачиваются только фактически потребляемые ресурсы. В данном случае вы предварительно пополняете баланс счёта на сайте и с него ежедневно списываются средства за созданный сервер с учётом нагрузки, которую он оказывал в течение дня. Расчёт производится ежеминутно, замеряется суммарная процессорная нагрузка (МГц), средний за минуту объём потребляемой оперативной памяти, хранимой информации, количество записанных на диск и прочитанных с него данных, а также количество дисковых операций, объём загруженной из сети и отправленной в сеть Интернет информации.


          1. leshabirukov
            01.10.2019 19:08

            Обновил страницу, стало работать. Я вначале долго всяко тыкался, пока не понял, что нужен «мощный процессор», сейчас быстро обратно сломать не вышло.


  1. stantum
    01.10.2019 18:32

    Эх, и где вы были раньше… У меня был редкий случай, когда нужна видеокарта на сервере, и даже не для майнинга. Пару месяцев назад решил поностальгировать и зарегился в одной из галактик cosmic supremacy (аматорская онлайновая игрушка, напоминающая славный мастер оф орион).

    Там клиент работает только под виндой, юзает opengl и требует хоть какую-нибудь видуху. Посему пришлось держать домашний комп включенным и ходить на него с планшета. Был бы в то время ваш сервер…


  1. NibiruanChild
    02.10.2019 14:35

    Для вычислений сейчас некоторые компании, в том числе российские предлагают специальные облачные решения на Tesla и с поминутной оплатой.


    1. Hardened
      04.10.2019 07:36

      С поминутной? Подскажите где можно такое "завернуть"


      1. NibiruanChild
        04.10.2019 08:15

        Первые 2 ссылки по запросу облачные вычисления:


        Яндекс (написано, что тарификация посекундная)
        https://cloud.yandex.ru/docs/compute/pricing


        Рег.ру, видимо почасовая:
        https://www.reg.ru/cloud-services/cloud_gpu


        1. Hardened
          04.10.2019 09:22

          155 рублей в час за V100, нет, спасибо


  1. Hardened
    04.10.2019 07:45

    Некорректно тестировать один инстанс. 128КБ и смех и грех. Вы бы их хотя бы с 10 одновременно запустили на одном GPU и результат показывали. Немного почитав про RemoteFX GPU в одиночку он все Cuda ядра может утилизировать, а настройка памяти ограничит frame buffer инстанса при наличии конкуренции за этот буфер