Vmware svga 3d что это

Обновлено: 04.07.2024

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

Перемещение подобного оборудования графического ускорения с имеющейся рабочей станции на некий сервер предоставляет пользователям преимущества вычислений, памяти, сетевой среды и безопасности. При такой архитектуре центра обработки данных пользователи могут осуществлять доступ к сложным моделям и очень большим наборам данных и манипулировать ими практически повсеместно. При наличии соответствующих сетевой полосы пропускания и удобных устройств удалённых клиентов, информационные технологии могут предложить большинству пользователей погружение в трёхмерную практику при освобождении от ограничений находящихся в определённом месте рабочих станций и процессоров. Требуется меньше физических ресурсов, снижается общее время открытия сложных моделей или выполнения симуляций, кроме того пользователи более не привязаны к отдельному физическому местоположению. Помимо этого, для обработки большей части запрашиваемых графических нагрузок аппаратное ускорение также способно снизить потребление ЦПУ и запроса менее масштабных настольных станций и публикаций приложений а также средств видео- кодирования и декодирования, которые содержат по умолчанию удалённые дисплеи Blust Extreme.

Данная статья рассматривает три основных вида графики с аппаратным ускорением для виртуальных рабочих мест View в VMware Horizon 7 посредством типовых вариантов применения. Она также содержит инструкции по установке и настройке, практические приёмы и советы по поиску и устранению неисправностей.

Что из себя представляет Horizon 7?

VMware Horizon 7 предоставляет решение виртуального рабочего места и публикации приложения корпоративного уровня. Свойства и компоненты Horizon 7, такие как протокол отображения Blust Extreme, моментальное предоставление клонов, доставки приложений VMware App Volumes™ и VMware User Environment Manager™, а также интеграции в сеансы RDSH (Remote Desktop Session Host, Хоста сеансов Удалённых рабочих мест), для бесшовного оснащения пользователей практичным и простым в управлении масштабируемым решением.

Аудитория

Данное официальное техническое описание предназначено для администраторов, которые развёртывают в Horizon 7 графику с аппаратным ускорением или для всех, кто интересуется данной технологией.

Виды графического ускорения

Horizon 7 предлагает три вида графического ускорения:

Ускорение виртуальной разделяемой графики

Виртуальное совместно используемое графическое ускорение ( vSGA , Virtual Shared Graphics Acceleration) позволяет вам совместно применять некий GPU для множества виртуальных рабочих мест. Это привлекательное решение для тех пользователей, которым требуется полный потенциал подобного GPU на протяжении короткого периода. Однако, vSGA может создавать узкие места в зависимости от того какие приложения используются и тех ресурсов, которые им необходимы. Этот тип графического ускорения обычно применяется для информационных сотрудников и временами для пользователей с мощными запросами.

Для vSGA такой физические GPU хоста делаются виртуальными и совместно применяются множеством гостевых виртуальных машин. Вы должны устанавливать некий драйвер производителя в самом гипервизоре. Каждая гостевая виртуальная машина применяет проприетарный 3D драйвер VMware vSGA, который взаимодействует с имеющимся драйвером производителя в VMware vSphere ® . Недостатком такого подхода sVGA является то, что поскольку приложениям необходимо осуществлять перенаправление для своей поддержки, поддержка API имеет ограничения и ограничивается только OpenGL и DirectX.

Поддерживаемые vSGA карты включают в свой состав:

Intel Iris Pro Graphics P580

nVidia Tesla M10/M60/P40

Для ознакомления с полным списком поддерживаемых карт vSGA отсылаем вас к VMware Virtual Shared Graphics Acceleration Guide

Ускорение виртуальной разделяемой пробрасываемой графики

Виртуальная совместно используемая графика с пробросом позволяет вам разделять GPU для множества виртуальных рабочих мест вместо того, чтобы сосредотачиваться на отдельном пользователе. В отличии от vSGA она не использует проприетарный 3D драйвер VMware и поддерживает большинство свойств графической карты.

Вам следует установить драйвер производителя на свою гостевую виртуальную машину. Все команд графики передаются прямо в имеющийся GPU без необходимости их трансляции самим гипервизором. В таком гипервизоре устанавливается vSphere Installation Bundle (VIB, комплект установки vSphere), который оказывает содействие в реализации расписания. В зависимости от имеющейся карты совместно применять GPU могут до 24 виртуальных машин, причём некоторые карты могут иметь несколько GPU. Вычисление общего числа рабочих мест или пользователей на GPU зависит от типа карты, требований приложения, разрешения экрана, общего числа дисплеев и частоты кадров, измеряемой в кадрах в секунду (fps).

Общий объём буфера кадров (VRAM) на виртуальную машину (ВМ) фиксирован и имеющиеся механизмы GPU совместно используются ВМ. AMD имеет опцию наличия фиксированного объёма вычислений, называемую предсказуемой производительностью ( predictable performance ).

Технология виртуального совместного использования с пробросом предоставляет лучшую производительность нежели vSGA и более высокое соотношение уплотнения, чем Выделенное виртуальное графическое ускорение (vDGA, Virtual Dedicated Graphics Acceleration). Это хорошая технология для инженеров, проектировщиков и продвинутых пользователей с низким, средним и расширенным уровнем требований 3D приложений. Её недостатками являются отсутствие поддержки VMware vSphere vMotion ® и того, что данная технология может требовать для поддержки приложения повторной сертификации.

Поддерживаемые совместно используемые карты с пробросом для Horizon 7.x и Horizon 6.5 включают в свой состав:

AMD FirePro S7100X/S7150/S7150X2 (multi-user GPU, или MxGPU)

nVidia Tesla M10/M60/P40 (virtual GPU, или vGPU)

Для ознакомления с полным списком поддерживаемых карт vSGA отсылаем вас к VMware Virtual Shared Pass-Through Graphics Guide

Ускорение виртуальной выделенной графики

Технология виртуального ускорения выделенной графики ( vDGA ) Virtual Dedicated Graphics Acceleration, также именуемой пробросом GPU , ( GPU pass-through ) предоставляет каждому пользователю неограниченный, полностью выделенный доступ к одному из GPU хоста. Хотя выделенный доступ имеет некоторые компромиссы уплотнения и управления, vDGA предоставляет самый высокий уровень производительности для пользователей с наиболее интенсивными потребностями графических вычислений.

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

Поддерживаемые карты vDGA для в Horizon 7 версии 7.x и vSphere 6.5 включают в свой состав:

AMD FirePro S7100X/S7150/S7150X2

Intel Iris Pro Graphics P580/P6300

nVidia Quadro M5000/P6000, Tesla M10/M60/P40

Для ознакомления с полным списком поддерживаемых карт vSGA отсылаем вас к VMware Virtual Dedicated Graphics Acceleration (vDGA) Guide.

Не знаю как у вас, а у меня есть набор любимых игр, которые постоянно установлены на моем ПК, даже если я в них давно не играл. Это Heroes of Might and Magic III и V, Disciples II: Dark Prophecy, Sid Meier’s Civilization V, Age of Empires II и многие другие хиты прошлых лет. Я писал о таких играх в блогах "10 великолепных игр - я перепрохожу их снова и снова уже более 10 лет".

реклама


MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

Не все из этих игр запускаются после переустановки Windows, некоторые не идут под Windows 10, как например, стратегия Majesty 2. А если вы ищете редкую игру 10-20 летней давности, которую уже нельзя купить, высок и шанс нахватать вирусов. Да даже при установке этих лицензионных игр с диска, защищенного системой StarForce, можно получить кучу проблем на новых версиях Windows.


реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

У меня бывало и такое, что после установки древней игры Windows настолько повреждалась и глючила, что оставалось только переустанавливать ее.

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

Плюсы игровой виртуальной машины

Во-первых, можно создать виртуальные машины с нужной версией Windows: 7, XP и даже 98. И игра пойдет в нужной ей версии Windows без проблем.

реклама

Во-вторых, вы не будете замусоривать основную Windows и избежите вирусного заражения. Если старые игры что и заразят, то это ОС виртуальной машины.

В-третьих, ваша виртуальная машина будет независима от основной ОС и вам не придется переустанавливать и настраивать игры после переустановки Windows.

Я давно следил за развитием виртуальных машин VMware Workstation и помню даже момент, когда у них появилось простейшее 3D ускорение. Тогда это казалось прорывом, но было не играбельно для большинства игр.

Время шло, проект развивался и сегодня версия VMware Workstation 15.5.6 Pro поддерживает API DirectX 10.1, что позволяет запустить множество замечательных игр.

реклама

А теперь я опишу пошагово, как создать игровую виртуальную машину.

Создание виртуальной машины

После запуска VMware Workstation 15.5.6 Pro вас ждет окно с предложением создать виртуальную машину.


Выбирайте "Создать новую виртуальную машину".


Обычного типа конфигурации будет достаточно.


Выбираем местоположение виртуальной машины.


Указываем место с образом ОС. Я буду ставить Windows 7.


Диска в 60 Гб будет пока достаточно.


Приступаем к настройке конфигурации виртуальной машины. Я для начала выделил ей 8 Гб ОЗУ из 32 имеющихся и два потока из 12-ти своего Ryzen 5 1600.


Видеопамяти можно выделить аж 3 Гб.


Нажимаем "Готово" и виртуальная машина создается.

Установка Windows 7


Автоматически начинается установка Windows 7 из указанного образа.Я создал виртуальную машину на SSD диске, что очень настоятельно вам рекомендую. Установка Windows 7 происходит очень быстро.


Основной ПК загружен во время установки не сильно. Но ОЗУ уже тратится прилично.


Windows 7 установлен и в простое почти не "напрягает" процессор.


Папка с виртуальной машиной весит 19.3 Гб.

Настройка и тесты



Я сразу посмотрел через dxdiag свойства графики. Версия "DirectX 11" внушила надежду, но запуск 3DMark 11 все расставил по местам.


С включенным Aero при перемещении и развертывании окон ощущалась какая-то задержка. Включение упрощенного стиля решило эту проблему.


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


Мониторинг за минуту. В целом - вполне терпимо.

Для мониторинга FPS и снятия скриншотов я установил MSI Afterburner.


К сожалению, разогнать видеокарту VMware SVGA 3D не получится.

Оценить графическую производительность я решил с помощью 3DMark Vantage, рассчитанного как раз на системы с DirectX 10.


3DMark Vantage будет запускаться с пресетом High.


Результаты очень неплохие.


Это уровень производительности процессора AMD FX-8350 с видеокартой GeForce GTX 1060. А наша виртуалка крутится, напомню, на одном ядре Ryzen 5 1600!


Тесты в играх

Игры я подобрал учитывая требования DirectX 10 и небольшого размера на диске.

Первым под руку попался Portal.



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

Очень удивил факт отсутствия "тиринга".



Sid Meier’s Civilization V идет гладко, неотличимо от настоящего ПК.



Стратегия про викингов Northgard тоже отлично играется.

Добавляем еще два потока процессору и тестируем дальше

После успешных тестов игр я решил добавить виртуальной машине процессорной мощи. Я добавил еще одно ядро Ryzen 5 1600, получив аналог Core i3-2100, два ядра и четыре потока. Перетест в 3DMark Vantage дает уже более 30000 очков.



Это уровень производительности Core i5-3570K и GeForce GTX 1060. Очень недурно, но учтите, что мой Ryzen 5 1600 работает на 4000 МГц, а память разогнана до 3400 МГц с настройкой всех таймингов.


После этого мне стало интересно протестировать процессорную производительность в AIDA64.


Сведения о системе, обратите внимание на название чипсета.


Тест кеша и памяти выдает вот такие результаты. Латентность отличная для виртуальной машины.


Очень высокий результат в тесте CPU PhotoWorxx.


Итоги

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

Очень порадовала производительность VMware Workstation 15.5.6 Pro даже на моем, не особо мощном процессоре. А на Ryzen 7 3700X, к примеру, и с более мощной видеокартой, все будет просто "летать".

Покупать для этого "полноценную" видеокарту за несколько тысяч $ было непозволительной роскошью, и даже б.у. видеокарты на eBay больно били по бюджету. Поэтому было решено попробовать "прошить" какую-нибудь настольную видеокарту, Just for Fun. Беглый поиск быстро привел меня к нужной теме на форуме EEVblog.

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

Для экспериментов была выбрана видеокарта Asus GT640-1GD3-L.


Во-первых, GT 640 и GRID K1 основаны на одном и том же ядре - Kepler GK107 (в K1 используется 4-е таких ядра), во-вторых, для превращения в GRID K1 достаточно перепаять несколько резисторов, в-третьих, GT 640 - самый бюджетный из вариантов, и, в случае неудачи, эту видеокарту будет не так жалко, как какой-нибудь GTX 680.

Для определения PCI Device ID устройства используются следующие резисторы (показаны на рисунке под номерами 1, 2, 3, 4).



Для того, чтобы сменить ID нужно перепаять резисторы в соответствии с таблицей.


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

После модификация я получил свой GRID K1 (с одним ядром и гагабайтом памяти).


В VMware View можно использовать на выбор один из двух режимов ускорения графики - vSGA или vDGA. Прочитать про их отличия можно в этой статье или в документе Virtual Machine Graphics Acceleration Deployment Guide.

Для начала я решил попробовать пробросить видеокарту целиком внутрь ВМ (vDGA). Данный режим, хоть и не поддерживает GRID K1 на текущий момент, но должен работать с любыми видеокартами, даже с AMD Radeon.

Для работы vDGA требуется, чтобы процессор и материнская плата сервера поддерживали режим виртуализации периферийных устройств (Intel VT-d).


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

После проброса видеокарты, в гостевую ОС нужно установить драйвер для NVIDIA GRID K1 (доступны на сайте).

При подключении к ВМ я столкнулся с проблемой, что вместо GRID K1 используется виртуальный видеоадаптер VMware SVGA. Обойти это можно, если после подключения к ВМ, запустить диспетчер устройств (Device Manager) и отключить (Disable) адаптер VMware SVGA 3D. Подробности в этой теме.

Я записал небольшой ролик, показывающий аппаратное ускорение графики с помощью vDGA.

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

Режим vSGA выглядит интереснее, потому что позволяет "расшаривать" одну видеокарту между несколькими ВМ.

Для включения режима требуется установить специальный VIB пакет с драйверами на сам гипервизор ESXi. После этого появится возможность включать аппаратное ускорении 3D графики для ВМ.

Данный режим позволяет выделить одной ВМ от 96 до 512 МБ памяти, половина из которых - это память видеоадаптера, вторая половина - оперативная память сервера. Для мониторинга работы vSGA используются две консольные утилиты nvidia-smi и gpuvm, которые позволяют отслеживать объем занятой/свободной памяти.


Управлять настройками виртуального видеоадаптера можно из веб-консоли vSphere Web Client или из консоли Horizon View Administator.

Ролик, демонстрирующий возможности vSGA.

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

При использовании хоста VMware ESXi функционирование NVIDIA GRID возможно в двух режимах:

  • Virtual Shared Graphics Acceleration (vSGA) — это технология виртуализации GPU, позволяющая запускать теоретически неограниченное количество виртуальных машин использующих ресурсы одной графической карты. Обладает множеством ограничений по функционалу виртуальных карт, однако может обеспечить максимальную “плотность” виртуальных машин на одну видеокарту. Список видеокарт, поддерживающих данную технологию можно получить в VMware Compability Guide.
  • Virtual Graphics Processing Unit (vGPU) — технология виртуализации GPU, где каждая виртуальная машина получает свой vGPU, практически без потери производительности. Очевидным недостатком данной технологии является ограниченное количество графических юнитов на плате: например, для NVDIA GRID K1 доступно 4 юнита.

Но для функционирования этих режимов на хосте VMware ESXi нужно предварительно установить драйвер.

Подготовка хоста ESXi.

В первую очередь не о бходимо скачать драйвер с сайта NVDIA. Здесь есть vib-пакеты, как для добавления драйвера в установочный образ ESXi (offline bundle), так и для последующей установки драйвера на хост ESXi. Для того, чтобы разместить vib-пакет на хранилище хоста ESXi можно использовать vSphere Client, или передать его по SSH c помощью WinSCP. Далее, подключившись к хосту ESXi, переводим его в Maintance Mode (из vSphere Client, или напрямую из консоли) и выполняем установку пакета командой в следующем формате:

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

Далее необходимо запустить Xorg:


Нажать “Start” и выбрать “Start and stop with host”.

Запустить Xorg можно так же через SSH:

Для того, чтобы удалить или обновить драйвер на хосте ESXi необходимо сначала остановить Xorg:

и удалить NVIDIA VMkernel драйвер командой:

Теперь необходимо идентифицировать VIB-пакет:

и удалить его командой:

Для обновления vib-пакета можно использовать команду:

Virtual Shared Graphics Acceleration (vSGA).

После того, как установлен драйвер и запущен Xorg, всем виртуальным машинам хоста будет доступен графический адаптер, определяемый в системе, как VMware SVGA 3D. (для некоторых гостевых систем, таких как Windows, может так же потребоваться установка WMware Tools).



Теперь можно перейти в свойства виртуальной машины, увеличить объем используемой видеопамяти и включить поддержку 3D-опций (Enable 3D Support).

Обратите внимание, что использование 3D-опций для Windows 2008/2012 Server отключено по умолчанию. Для их активации необходимо:

  1. Поменять тип ОС на Windows 7/8 (в Options > General Options)
  2. Добавить в конец файла VMX (файла-конфигурации виртуальной машины) строку:

и перезагрузить виртуальную машину командой:

Более подробную информацию можно получить здесь.

Virtual Graphics Processing Unit (vGPU).

Режим vGPU представляет из себя “проброс” (passthrough) графических юнитов видеокарты в гостевые системы. Например, для NVDIDA GRID K1 возможен “проброс” четырех агрегированных устройств vGPU и, следовательно, можно использовать видеокарту на четырех виртуальных машинах.



Для активации “проброса” устройства м выбора агрегирования устройства откройте:

Выберите нужное количество vGPU для “проброса” через хост ESXi, нажмите ОК и перезагрузите хост ESXi.

Теперь после перезагрузки в свойствах виртуальной машины можно добавить PCI Device, где в открывшемся списке появятся проброшенные на хост vGPU. Остается скачать и установить соответствующий вашей гостевой системе драйвер. Например, драйвер для OS Windows 7/8/10/2008/2012 можно скачать здесь, а после его установки система распознает устройство, как NVDIDIA GRID K1/K2.

vSGA vs. vGPU.

Разумеется, доступность тех, или иных функций API видеокарты их работоспособность в софте будет еще зависеть и от используемой технологии для публикации приложений и рабочих столов: наиболее высокую графическую производительность на сегодняшний день дают Citrix XenDesktop и VMware Horizon.

Но даже если абстрагироваться от данных технологий и сравнивать производительность по количеству API в каждом режиме используя лишь только стандартную консоль ESXi и возможности хоста, то уже становится понятно, что vSGA дает наименьшую производительность, где функционал графических API сведен практически к минимуму.


GPU-Z для vSGA выдает неутешительную картину, отзываясь о большинстве параметров как “Unknown”, тогда как по результатам Everest видно, что даже поддержка OpenGL осуществляется не полностью:

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


Если требуется более расширенный режим, то стоит задуматься о переходе к vGPU. Здесь показания GPU-Z уже выглядят намного солидней (поддерживаются следующие API: DirextX, OpenCL, Direct Compute и CUDA), EVEREST говорит о 100% совместимости со всеми версиями OpenGL и, так же, уже стоит обратить внимание на результаты GPU Shark. Таких графических возможностей уже должно быть достаточно для использования дизайнерских программ. В остальном, работоспособность функционала различных API и производительность подлежит тестированию в конкретном программном обеспечении.

Читайте также: