Ранее на isicad.ru была опубликована большая статья Дмитрия Autodesk Maya 2016: Производительность, инструменты, процесс и что нового.
Долгое время одним из серьезных препятствий к применению виртуализации в проектировании являлся вывод в облака высокопроизводительных рабочих станций, используемых для проектирования в пакетах CAD и DCC. В первую очередь это было обусловлено отсутствием соответствующего оборудования, особенно графических процессоров (GPU), которые так необходимы в работе с ресурсоемкими CAD и DCC приложениями. В 2012 году компания NVIDIA выпустила первые продукты линейки GRID, ориентированные на применение в виртуальных средах и предназначенные для виртуализации рабочих станций. К NVIDIA подключились такие известные компании разработчики платформ и инструментов виртуализации, как Citrix, VMware, Microsoft, и за три года представили рынку комплексные решения для виртуализации с поддержкой GPU и виртуализированных GPU (vGPU). Затем к новому направлению стали присоединяться разработчики прикладных приложений, такие как Autodesk, Adobe и другие. Стали разрабатываться новые модели лицензирования по подписке и выполняться оптимизация приложений и лицензий под применение в виртуальных средах.
В представленной вашему вниманию статье рассматриваются основные принципы работы виртуальных рабочих станций и объясняется, какие возможности получают пользователи при использовании виртуализации с поддержкой полноценных вычислений на GPU. Кроме того, показано, как ведут себя профессиональные графические приложения и какие возможности графических подсистем поддерживаются при работе на виртуальной рабочей станции. Автор делится своим мнением о технологиях виртуализации рабочих станций и опыте применения в собственных проектах.
Материал подготовлен при поддержке компании FORSITE, любезно предоставившей тестовую платформу с несколькими виртуальными машинами в различных конфигурациях, а также всю необходимую информацию по виртуализации рабочих станций с поддержкой полноценного ускорения графики.
GPU NVIDIA GRID K1 и K2
Основная задача графических ускорителей NVIDIA GRID заключается в предоставлении высокой производительности графики в работе с ресурсоемкими приложениями требовательными к графическим вычислениям напрямую в виртуальной среде. Компания NVIDIA предлагает две модели графических процессоров линейки GRID: K1 и K2. В ряде случаев могут быть использованы графические ускорители линейки NVIDIA Quadro, но они не предназначены для установки в сервера и не позволяют обеспечить необходимую для задач виртуализации плотность, а их эффективное применение предполагает большое количество таких ускорителей.GPU NVIDIA GRID K2
В таблице 1.1 приведены основные технические характеристики GPU NVIDIA GRID K1 и K2 (кликните для увеличения):
Таблица 1.1. Конфигурация плат NVIDIA GRID K1 и K2
Если принимать во внимание фактор потребления энергии, графический ускоритель K1 окажется выгоднее по сравнению с более производительным ускорителем K2. Кроме того, на модели K1 можно развернуть больше виртуальных машин и предоставить возможности использования производительной графики большему количеству пользователей. Однако для решения более сложных задач (проектирование, 3D анимация, визуализация) все же необходимо прибегнуть к применению производительной модели K2 и разработать надежное питание энергией между всеми элементами системы.
Виртуализация рабочих столов и vGPU
Перед тем как мы перейдем к описанию практических экспериментов и к демонстрации работы технологии в реальных приложениях, необходимо разобраться с теоретическими аспектами виртуализации рабочих столов и GPU, а также в том, как организован сервер с NVIDIA GRID, управляемый решениями Citrix.Терминология
В данной статье мы рассматриваем виртуализацию рабочих столов, где выполняются основные приложения, предоставляя пользователям возможности полноценной рабочей станции с помощью удаленного подключения. В данном подразделе вы познакомитесь с основной терминологией.- Citrix Receiver – легковесное приложение которое запускается на Windows, Mac, Linux, iOS, Android и Windows Phone устройстве пользователя и соединяется с виртуальной машиной в дата-центре на которой установлен Citrix XenDesktop.
- Citrix XenDesktop – продукт виртуализации рабочих столов от Citrix, предоставляющий пользователю доступ к удаленному рабочему столу.
- Citrix XenServer – коммерческий гипервизор от Citrix, который позволяет запускать множество операционных систем на одном серверном узле.
- Выделенный GPU (Dedicated GPU) – решение, где GPU полностью используется виртуальной машиной, не распределяясь между другими виртуальными машинами.
- GPU Pass-Through – технология, которая связывает виртуальную машину с GPU. Эта технология разработана NVIDIA и известна как NMOS (NVIDIA Multi-OS). Она позволяет каждой операционной системе, выполняемой на сервере виртуализации, напрямую использовать все возможности физического GPU.
- Хост (Host Machine) – компьютер, на котором установлен гипервизор и запущена одна или несколько виртуальных машин, и являющийся хостом. Каждая из виртуальных машин называется гостевой машиной. Гипервизор предоставляет гостевым операционным системам виртуальную операционную платформу и управляет выполнением гостевых операционных систем.
- Гипервизор (Hypervisor) – технологически гипервизор или менеджер виртуальных машин (VMM) является частью программного обеспечения, прошивка или оборудование которого создают и запускают виртуальные машины.
- Удаленная рабочая станция (Remote Workstation) – единица рабочей станции, которая запускается в дата-центре и перенаправляется через сеть на клиентское устройство. Удаленная рабочая станция может быть доступна как из офиса пользователя, так и со стороны партнерского портала, в путешествии или из дома пользователя.
- Виртуальная машина (Virtual Machine) – единица операционной системы, которая запускается поверх гипервизора, используя абстрактный образ оборудования реализуемым гипервизором.
- Виртуализация (Virtualization) – практика абстракции виртуальной машины из физического оборудования, на котором она выполняется. На практике виртуализация используется для запуска виртуальных машин на одном физическом сервере (оборудовании):
- Инфраструктура виртуальных рабочих столов (Virtual Desktop Infrastructure (VDI)) – практика размещения операционной системы на виртуальной машине в централизованном или удаленном сервере.
- Виртуализация оборудования (Hardware Virtualization) – создание виртуальной машины, которая действует подобно реальному оборудованию поверх гипервизора или как поднабор оборудования. Программное обеспечение, выполняемое на таких виртуальных машинах, работает поверх ресурсов физического оборудования (т.е. операционная система может загружать родные для оборудования драйверы и взаимодействовать с ними напрямую).
- Аппаратно-виртуализированный GPU (Hardware Virtualized GPU) – платы K1 и K2 на основе чипов архитектуры NVIDIA Kepler позволяют множеству пользователей использовать возможности одного GPU и предоставляют каждому пользователю прямой доступ к «железному» GPU. Это увеличивает плотность пользователей, предоставляя им реальную производительность и совместимость.
- Программная виртуализация (Software Virtualization) – программная виртуализация обеспечивает интерфейс между оборудованием и виртуальной машиной, создавая плотную адаптацию между различными уровнями конфигураций оборудования. На практике программы действуют аналогично аппаратным ресурсам, пропуская команды к гипервизору, который может выполнять их на реальном или эмулируемом оборудовании.
- Виртуальный GPU NVIDIA GRID (NVIDIA GRID vGPU) – ключевая технология, используемая для реализации виртуализации GPU. Это позволяет множеству виртуальных машин взаимодействовать напрямую с GPU. Система GRID Virtual GPU управляет ресурсами GPU, которые позволяют множеству пользователей распределять возможности основного оборудования увеличивая плотность и формировать возможности полноценных PC в облаке.
NVIDIA CUDA и vGPU важная особенность
Если вы планируете использовать приложения, активно использующие GPU для ускорения вычислений, вам стоит обратить внимание на важную особенность. Технология виртуализированных GPU (vGPU) не поддерживает NVIDIA CUDA, OpenCL и Direct Compute. Это технологическая особенность, присущая технологии вычислений общего назначения на GPU. Для обхода данной особенности необходимо использовать Dedicated GPU с технологией GPU Pass-Through. Это позволяет напрямую выполнять обращение из виртуальной машины к графическому процессору и «пробрасывать» GPU-accelerated приложения из виртуальной среды на реальное оборудование. При использовании vGPU вам доступны только графические API, такие как OpenGL и DirectX.В таблице 1.2 приведены приложения, графические подсистемы которых поддерживают vGPU и функциональные ограничения, вызванные описанной выше особенностью (кликните для увеличения):
Таблица 1.2. Поддержка vGPU со стороны приложений и ограниченные возможности
Можем ли мы использовать NVIDIA Tesla совместно с NVIDIA GRID и Citrix?
Здесь существует еще одна особенность реализации технологии. На текущий момент гипервизор от Citrix и реализация управляющего драйвера NVIDIA GRID для Citrix XenServer не позволяют «пробрасывать» несколько GPU в одну виртуальную машину. Поэтому вы можете использовать только NVIDIA GRID в режиме GPU Pass-Through или исключить обработку OpenGL и DirectX на аппаратном уровне, а NVIDIA Tesla «пробросить» в виртуальную среду для вычислений CUDA-приложений. Если же у вас используются не требовательные к графической подсистеме приложения или приложения, обладающие программным драйвером визуализации виртуального пространства, например Autodesk 3ds Max с драйвером Nitrous (Software), трюк с «пробросом» NVIDIA Tesla может сработать. Тогда вы получаете возможность выполнения вычислений на GPU с помощью NVIDIA CUDA, OpenCL и Direct Compute, а трехмерная сцена или модель, будут обрабатываться силами центрального процессора.Инфраструктура виртуальных рабочих столов (VDI) с Dedicated GPU
Данная концепция называется Виртуальные удаленные рабочие станции (Virtual Remote Workstations), или VDI with Dedicated GPU. В данную концепцию входит предоставление функционально неограниченных виртуальных рабочих мест с высокой производительностью, свойственной персональным высокопроизводительным рабочим станциям, которые применяются инженерами или художниками для работы с комплексными моделями и большими массивами данных.Общая схема реализации элементов Virtual Remote Workstation
Если планируется использовать такие приложения как Autodesk Maya 2016, Autodesk 3ds Max 2016 с NVIDIA iray renderer и V-Ray RT GPU, а так же приложения для вычислений физических моделей, поддерживающие вычисления на GPU, данный тип виртуальных рабочих столов будет наиболее подходящим. Однако у таких рабочих столов есть одно существенное ограничение. Оно заключается в том, что мы не можем использовать множество виртуальных машин и распределять каждый из GPU на плате GRID под несколько виртуальных машин. Это обусловлено описанной выше важной особенностью, – поддержкой технологии NVIDIA CUDA и других API для вычислений общего назначения на GPU.
Инфраструктура виртуальных рабочих столов (VDI) с vGPU
Вторая концепция ориентирована на развертывание нескольких виртуальных машин на каждом из GPU. Она позволяет профессиональным пользователям использовать ресурсоемкие графические приложения, требовательные к графической подсистеме (OpenGL, DirectX) без значительного снижения производительности и качества визуализации изображения и виртуального пространства. Это актуально в таких областях как проектирование в CAD и моделирование, или анимация в DCC приложениях несколькими пользователями.Общая схема реализации элементов VDI с vGPU
Как уже было сказано выше, у данной концепции есть одно существенное ограничение. Оно заключается в том, что нельзя использовать CUDA приложения. Например, такие решения для визуализации как NVIDIA iray и V-Ray RT будут доступны только в режиме работы на центральном процессоре (CPU). Это ограничение можно обойти, выведя все вычисления на GPU в отдельный узел. Это может быть отдельный сервер с GPU линейки NVIDIA Tesla или комплексное решение в виде NVIDIA Quadro VCA. Это специальное серверное решение, которое обеспечивает высокую производительность в таких инструментах визуализации, как NVIDIA iray и V-Ray RT GPU или других решениях использующих NVIDIA CUDA. Имея дело с соответствующей конфигурацией прикладного программного обеспечения, можно вынести вычисления из виртуальной среды на отдельные узлы и снизить нагрузку на сервер виртуализации.
Сколько виртуальных машин и пользователей поддерживает NVIDIA GRID?
Так как мы рассматриваем две концепции реализации GPU в виртуальной среде, в данном подразделе представлены сведения о том, сколько виртуальных машин может быть развернуто на каждом из GPU и для каких задач они могут быть использованы.Таблица 1.3. Количество виртуальных машин и пользователей для VDI with vGPU и VDI with Dedicated GPU
Также имеется зависимость объемов памяти от выбранного типа vGPU и количества пользователей. При настройке Citrix XenServer вам будут доступны заранее подготовленные модели vGPU с фиксированным объемом памяти (таблица 1.4).
Таблица 1.4. Типы vGPU, количество возможных vGPU на одной плате GRID, разрешение и объем памяти
Как вы можете заметить из приведенной выше таблицы, каждый физический GPU может быть подразделен на несколько vGPU со значением кратным двум. При этом в виртуальных машинах необходимо выбирать единый профиль vGPU. А на каждом из физических GPU можно использовать профили vGPU разных типов, например, на GPU 0 можно развернуть четыре виртуальные машины с профилем GRID K240Q, а на GPU 1 можно развернуть две виртуальные машины с профилем GRID K260Q. Это обусловлено технологическими решениями и распределением памяти между виртуальными машинами и пользователями. Также хочется обратить ваше внимание на литеру Q в большинстве профилей. Профили Q предоставляют виртуальной рабочей станции богатые возможности в конфигурации и возможностях драйвера аналогично драйверу для графических ускорителей линейки NVIDIA Quadro. К ним относится гибкая настройка дисплеев, поддержка профилей для профессиональных приложений CAD и DCC, а также оптимизации производительности в работе с ресурсоемкими 3D моделями и большим объемом данных (высоко-полигональные модели, большое количество линий, высококачественные текстуры). Профиль без литеры Q обеспечивает пользователей возможностями присущими профессиональным графическим ускорителям NVIDIA NVS, которые наиболее востребованы в таких областях, как финансы и отображение большого количества 2D графики.
Распределение профилей vGPU на двух физических GPU платы NVIDIA GRID K2
Категории пользователей для NVIDIA GRID и их назначение
Разработчики NVIDIA GRID заранее продумывали назначение различных типов профилей vGPU, и в каких задачах они будут применяться. Существует множество различных задач с различными требованиями к вычислительным мощностям оборудования. Где-то может потребоваться не очень большой объем памяти и производительность графики, а где-то наоборот необходим полный доступ ко всему GPU и памяти для работы с большими массивами данных.Таблица 1.5. Категории пользователей в зависимости от типа vGPU
В приведенной выше таблице вы можете определить тип виртуального GPU и категорию пользователя, которой он может быть назначен. Это один из важных моментов, которые необходимо соблюдать при создании виртуальных рабочих станций. В зависимости от того, какой тип vGPU будет выбран и какой объем памяти будет отведен, можно распределить пользователей и их задачи.
Категория Designer соответствует традиционному пользователю GPU линейки NVIDIA Quadro, который создает и работает с комплексными наборами данных, используя интерактивные графические приложения (для 3D проектирования, медицинской диагностики и другие). Данная категория может быть использована в нефтяной и газовой промышленности, машиностроении и производстве, индустрии развлечений, медицинском анализе и исследованиях и др. Обычно пользователи данной категории работают с такими приложениями, как: Autodesk AutoCAD, Autodesk Revit, Autodesk Inventor, Autodesk 3ds Max, Autodesk Maya, Dassault Systems CATIA, SolidWorks, Enovia, Siemens NX.
Категория Power User характеризует пользователя, использующего визуальные данные, такие как 3D изображения, 2D графики и диаграммы. К данной категории пользователей также можно отнести тех, кто пытался применять виртуализацию рабочих столов без ускорения графических приложений со стороны GPU и не был удовлетворен производительностью. Конечно, к этой категории можно отнести пользователей, работающих с полноценными 3D приложениями, когда проектировщики или дизайнеры выполняют работу над отдельными объектами или элементами сцены, производительности vGPU и объемов памяти отводимых для них будет вполне достаточно для решения большинства задач.
К категории Knowledge Worker можно отнести типичного офисного сотрудника, который использует офисные приложения, электронную почту, видеоконференции и мультимедийные интернет приложения. В контексте данной статьи эта категория пользователей не будет рассматриваться, так как она наименее выгодна с точки зрения анализа производительности графической подсистемы, а офисные приложения не обладают высокими требованиями к высокопроизводительной графике.
Наиболее интересными в плане исследования производительности и реализации технологий являются пользователи категорий Designer и Power User. В принципе большинство CAD и DCC приложений могут работать как с физическим GPU, так и vGPU. Это обусловлено тем, что графические ядра программ, в основном, используют API OpenGL или DirectX, а такие возможности как вычисления общего назначения представлены в узком спектре задач.
Организация инфраструктуры для VDI
Рассмотрев основные решения NVIDIA GRID и теорию виртуализации на основе Citrix XenServer, мы перейдем к самому важному разделу данной статьи, – организации инфраструктуры для работы с VDI. Главная задача, которую решают системы виртуализации, – консолидация данных и рабочих мест в одном месте. В сложных проектах очень важно сохранять целостность данных и в то же время не рисковать, отдавая важную информацию в третьи руки. Ранее это условие было применимо только в задачах, связанных с офисом и бизнесом в целом, например, при развертывании информационной системы на основе виртуализации для банков или торговых предприятий. Но с появлением NVIDIA GRID данную возможность получили такие направления как машиностроение, архитектура, медицина, газовая и нефтяная промышленность, дизайн и развлечения. А современные художники и дизайнеры теперь на самом деле могут работать из любой точки мира и не беспокоиться за свои проекты и данные: ведь всю инфраструктуру можно содержать в хорошо оборудованном и надежном дата-центре.С другой стороны вы можете без проблем устраивать встречи со своими заказчиками и демонстрировать свои работы или текущее состояние проекта прямо на планшете или легком ноутбуке, подключив их к телевизору или проектору. Помимо этого заказчикам можно предоставлять доступ к специально созданной для них виртуальной машине, где они могут выполнять задачи по рецензированию проекта, вносить замечания и работать через единую систему управления проектами, используемую в вашей компании.
Мне самому уже не раз доводилось работать с удаленными рабочими станциями и удаленными рабочими столами. В нескольких проектах я использовал данные решения для увеличения производительности в вычислениях и визуализации. Пока на своем персональном компьютере я создавал модель и делал базовые настройки визуализации, финальный образ вычислялся на удаленном высокопроизводительном сервере с виртуальными машинами и NVIDIA GRID. При этом, это дало возможность осуществить несколько поездок, практически не отрываясь от работы.
В одном из проектов мне довелось столкнуться с решением важной задачи, - выполнить визуализацию нескольких десятков иллюстраций в высоком разрешении. Решить данную задачу в очень сжатые сроки (около 3 дней) на собственных ресурсах не представлялось возможным. Для этого, я обратился к поставщикам решений виртуализации и арендовал необходимые вычислительные мощности с полноценным ускорением графики. За счет гибкой конфигурации виртуальных машин, удалось создать достаточно производительное решение, способное выполнить визуализацию сцен с высокой скоростью. Таким образом, удалось сократить время визуализации с запланированных 72 часов, до 8 часов. При этом появилась возможность значительно повысить качество визуализируемых изображений и освещения в сцене.
Конечно, если мы говорим об инфраструктуре для предприятия, например, проектного бюро или студии, важно понимать, что виртуальные машины сами по себе работать не будут, а пользователи должны быть управляемы через единую систему. Решения Citrix тесно интегрируются в серверные решения Microsoft и активно используют возможности операционных систем семейства Windows, а также решения на основе Active Directory (AD). Для полноценной реализации инфраструктуры системным администраторам необходимо развернуть сервер AD, который будет управлять пользователями в виртуальной среде. Ведь мы можем добавлять или удалять пользователя, изменять виртуальную машину и многое другое, что требует четкого понимания в организации инфраструктуры клиент-сервер и управления пользователями. Для хранения образов систем, данных проектов и всех необходимых материалов, необходимо также позаботиться о системе NAS, которая будет обеспечивать бесперебойную работу и сохранит данные в целостности, без рисков, возникающих при передаче третьим лицам и новым сотрудникам, нанятым на время проекта или определённого этапа, но работающим с «внешней стороны».
Комплексное решение компании FORSITE на основе NVIDIA GRID
На диаграмме выше приведен пример реализации данного решения. Ключевыми компонентами являются сервера с GPU NVIDIA GRID, именно на них выполняются все виртуальные машины с пользователями или виртуализированными приложениями. Для хранения данных используется независимый NAS, а для управления серверами предоставляется KVM-консоль. Выше мы упоминали, что для вычислений можно использовать отдельные серверные узлы. В приведенном выше примере, предусмотрена возможность установки отдельных вычислительных серверов, благодаря чему можно разгрузить сервера виртуализации, если дизайнеры или проектировщики занимаются интенсивными вычислениями, например визуализацией и моделированием физических явлений.
Какие устройства могут быть использованы со стороны пользователя?
Так как виртуализация основана на том принципе, что все клиенты подключаются к виртуальной среде с помощью удаленного подключения, устройством клиентом может выступать любой компьютер, планшет и даже смартфон. Приложение Citrix Receiver подключается к отдельной виртуальной машине и получает изображение со стороны сервера, которое формируется и направляется в сеть с помощью XenDesktop или XenApp. Специальные решения в виде XenDesktop или XenApp является важной частью всей системы. Без них вы просто не сможете получить доступ к виртуальной машине. Если вам необходимо выполнить обмен данными со своей рабочей станцией или загрузить новые файлы в виртуальную машину, XenDesktop и Citrix Receiver могут подключать ваши жесткие диски к виртуальной машине, а файлы между ними будут перемещаться, как будто они скопированы с одного жесткого диска на другой.Диалоговое окно запроса доступа к жестким дискам локального компьютера\устройства
NVIDIA GRID, vGPU, Dedicated GPU и платформа Citrix в примерах
Для демонстрации работы технологии виртуализации GPU совместно с компанией FORSITE был создан сервер виртуализации с NVIDIA GRID K2 и двумя виртуальными машинами. Для тестирования были взяты такие известные CAD и DCC приложения, как Autodesk AutoCAD, Autodesk Revit, Bentley MicroStation, Autodesk 3ds Max, Autodesk Maya и Adobe Photoshop CC. Также мы провели несколько синтетических тестов на основе SPEC Viewperf 11 и Maxon Cinebench 15.Синтетический тест SPEC Viewperf 11
Бесспорно, синтетический тест от SPEC для тестирования производительности графической подсистемы является одним из старейших инструментов анализа. Мы часто обращаемся к нему для сравнения производительности графической подсистемы различных физических рабочих станций, но для того чтобы сравнивать виртуальные рабочие станции, это сделано впервые. За основу взят проверенный годами тест SPEC Viewperf 11, запущенный без сглаживания (AA off) и со сглаживанием (AA on).В тестах принимали участие две настольных рабочих станции HP Z1 Gen 2 с NVIDIA Quadro K3100M и FORSITE X1240Q с NVIDIA Quadro K2000, а также мобильная рабочая станция FUJITSU Celsius H720 с мобильным графическим процессором NVIDIA Quadro K1000M. В таблице ниже приведены основные характеристики каждого из участвовавших в тесте графических процессоров.
Таблица 1.6. Технические характеристики участвовавших в тесте графических процессоров
Результат теста SPEC Viewperf 11 без сглаживания (AA off)
Тест, на основе ядра Pro/Engineer (proe-05), ныне именуемого как PTC Creo, продемонстрировал достаточно интересный и самый низкий результат, не превзойдя даже мобильный GPU NVIDIA Quadro K1000M. Такие же результаты продемонстрировали тест maya-03 и тест на мобильном GPU.
По результату теста без сглаживания практически все основные CAD пакеты продемонстрировали высокую скорость работы на vGPU NVIDIA GRID. Это достаточно хороший показатель для синтетического теста, выполненного в виртуальной среде.
Результат теста SPEC Viewperf 11 с 4x сглаживанием (4x AA on)
Интересный результат продемонстрировал тест Siemens NX (snx-01), когда производительность виртуального графического процессора оказалась выше производительности физического графического процессора установленного в HP Z1. Остальные тесты продемонстрировали закономерное снижение производительности и частоты кадров за счет активизации режима сглаживания.
Поскольку мы говорим о виртуализации, когда система виртуализации старается распределить нагрузку со стороны большого количества пользователей, интенсивно обращающихся к ней, здесь нельзя оценивать только один графический процессор. Мы специально провели небольшой эксперимент и запустили тест SPEC Viewperf одновременно на двух виртуальных машинах.
Результат теста SPEC Viewperf, запущенного одновременно на двух виртуальных машинах с NVIDIA GRID K240Q
Синтетический тест CINEBENCH R15
Тест Cinebench от компании Maxon, представляющий работу графического ядра и ядра визуализации пакета Cinema4D, продемонстрировал аналогичный результат в тестах на производительность графического ускорителя. Каждый из vGPU в обеих виртуальных машинах выдал идентичный результат в 64 кадра в секунду для графического ядра теста. С другой стороны, тест, выполненный на полноценном GPU (GPU Pass-through) выполнялся гораздо быстрее, так как в данной конфигурации приложению был отдан весь графический процессор, «пробрасываемый» напрямую в виртуальную машину.
Тест Cadalyst 2015 v.5.5
Набор тестов Cadalyst специально разработан для тестирования работы всей системы на основе платформы Autodesk AutoCAD. Тесты выполняются напрямую в системе проектирования и предоставляют более взвешенный результат работы на основании реального приложения. В нашем тестировании мы использовали систему автоматизированного проектирования Autodesk AutoCAD 2016 и тест Cadalyst 2015 версии 5.5.Результат теста Cadalyst в AutoCAD 2016 выполненного на виртуальной рабочей станции с vGPU
Сравнение производительности двух vGPU K240Q в тесте Cadalyst 2015 v.5.5
Тест графической подсистемы при работе с 2D чертежами продемонстрировал иной результат. Здесь же производительность отличается от работы с 3D пространством, но при этом сам результат незначительно расходится между двумя виртуальными системами. Данные тесты показывают, как платформа NVIDIA GRID может распределить нагрузку при возможных условиях эксплуатации.
Примеры работы реальных приложений на vGPU
Самым важным этапом в нашем исследовании являлась проверка работы в реальных приложениях и возможности виртуальных GPU, как поведет себя приложение в работе с vGPU и какая производительность будет доступна конечному пользователю.Для эксперимента мы взяли три известных CAD приложения и два известных DCC приложения. В то время как в процессе работы с CAD нам важна поддержка больших объемов памяти для хранения всей необходимой информации о модели, а GPU старается все данные визуализировать в процессе навигации по модели, то в DCC приложениях важна скорость интерактивной визуализации виртуального пространства сцены. Для чего зачастую прибегают к использованию высокопроизводительных GPU с большим объемом графической памяти.
Производительность навигации в приложениях CAD на vGPU
В современных системах автоматизированного проектирования работа проектировщика не сильно отличается от работы современного цифрового художника, использующего трёхмерную графику для самовыражения и воплощения своих идей в жизнь. При этом важна точность и аккуратность линий, граней, форм, по которым впоследствии будут созданы объекты реального мира. Графический ускоритель должен быстро обрабатывать модель или большое количество линий чертежа, а также выполнять затенение трёхмерной модели.Для эксперимента мы взяли приложения Autodesk AutoCAD, Autodesk Revit и Bentley MicroStation. Для чистоты эксперимента все действия пользователя, подключенного к виртуальной машине через Citrix Receiver, были записаны с помощью приложения для записи видео с экрана с частотой в 30 кадров в секунду, установленного прямо в виртуальной машине. Последующий монтаж видео выполнялся также на виртуальной машине.
Autodesk AutoCAD 2016 на vGPU
Система автоматизированного проектирования AutoCAD от компании Autodesk является одним из самых популярных инструментов проектировщиков во всем мире. Это одно из первых приложений, разрабатываемых с учетом перспективного направления виртуализации. Приложение AutoCAD может быть установлено на виртуальной машине и предоставляет сертификацию для Citrix или VMware.Autodesk AutoCAD 2016 на виртуальной машине с vGPU NVIDIA GRID K240Q
Благодаря сертификации со стороны Autodesk в процессе работы на виртуальной рабочей станции, пользователь не заметит серьезных ограничений в визуализации виртуального пространства модели или чертежа, а высокая производительность GRID K2 позволяет значительно быстрее оперировать сложными моделями и чертежами, где используется огромное количество различных графических элементов.
Видео-демонстрация работы Autodesk AutoCAD 2016 на виртуальной машине с NVIDIA GRID K240Q vGPU
Как вы можете заметить, в режиме Wireframe виртуальный графический процессор молниеносно справляется с визуализацией модели, но в то же время, при активном режиме затенения Realistic (модель интерьера), виртуальный графический процессор немного «задумывается» над визуализацией модели. Однако это не значит, что производительность значительно снизится, поскольку, в зависимости от модели и детализации, графическое ядро AutoCAD спокойно будет обрабатывать ее средствами vGPU. Конечно, для более требовательных к вычислительным ресурсам моделей и чертежей, может потребоваться выбрать другой профиль vGPU с большим объемом памяти, но меньшим количеством поддерживаемых виртуальных машин.
Autodesk Revit 2016 на vGPU
Пакет Autodesk Revit 2016 также предоставляет сертифицированную поддержку платформы виртуализации Citrix и может быть установлен в виртуальной машине как с vGPU, так и с GPU Pass-through. Так как для работы с комплексными моделями зданий необходима высокая производительность графической подсистемы, Autodesk Revit использует возможности API DirectX и будет максимально задействовать вычислительные ресурсы GPU для визуализации трехмерной модели.Autodesk Revit 2016 на виртуальной машине с vGPU NVIDIA GRID K240Q
Видео-демонстрация работы Autodesk Revit 2016 на виртуальной машине с NVIDIA GRID K240Q vGPU.
Как и в случае с AutoCAD, при разработке виртуальных машин следует учитывать то, какие пользователи будут работать с программой. Если это пользователи, которые создают только семейства или их компоненты, то для них можно создать несколько виртуальных машин с vGPU меньшей производительности и меньшим объемом памяти. В то же время, если создаются полноценные здания и их семейства, насчитывающие множество элементов и связей, тогда стоит задуматься о том, чтобы создать vGPU с большим объемом памяти или применять физический графический процессор с технологией Pass-through GPU.
Bentley MicroStation v8i на vGPU
Система автоматизированного проектирования MicroStation от компании Bentley также является одним из лидеров рынка инструментов проектирования. Аналогично системе AutoCAD она использует богатые возможности графического ядра для представления как двумерных данных, так и комплексных трёхмерных моделей, состоящих из множества элементов. Графические процессоры играют важную роль в представлении комплексных моделей и множества данных, используемых в проекте. Чем выше производительность графической подсистемы рабочей станции, тем лучше она будут справляться с обработкой больших объемов данных и их визуализацией.Bentley MicroStation v8i на виртуальной машине с vGPU NVIDIA GRID K240Q
Видео-демонстрация работы Bentley MicroStation v8i на виртуальной машине с NVIDIA GRID K240Q vGPU
Мы предоставили возможность протестировать NVIDIA GRID и решения от компании FORSITE на реальном проекте в системе Bentley MicroStation специалистам компании СОИЛОТЭК | SOILOTEK (Екатеринбург), занимающейся проектированием инфраструктуры особой экономической зоны в Свердловской области, и получили приведённый ниже отзыв (подписанный Евгением Чехловым, основателем компании СОИЛОТЭК | SOILOTEK.):
«Опыт проектирования инфраструктуры особой экономической зоны определил ряд особенностей:
Опытное тестирование виртуальных рабочих станций c технологией NVIDIA GRID от компании FORSITE с развернутым в виртуальной среде программным обеспечением по проектированию инфраструктуры от Bentley Systems позволило консолидировать распределенные проектные данные в высокопроизводительной и защищенной системе обработки данных, локализованной на единой технологической площадке, и одновременно сохранить распределенную природу данных, разрабатываемых территориально распределенными проектными группами. Производительность виртуальных рабочих станций FORSITE CLOUD VG на базе NVIDIA GRID K2 в переводе на одно рабочее место (виртуальную машину) сопоставима с настольными рабочими станциями высокого класса, но обладает несопоставимо более высокой степенью балансировки ресурсов при выделении рабочих мест».
Производительность навигации в приложениях DCC на vGPU
Отдельного внимания заслуживают приложения для создания цифрового контента. Цифровые художники используют требовательные к вычислительным ресурсам системы инструменты. А для работы им всегда необходимо высокопроизводительное оборудование. Одним из важнейших требований современных дизайнеров к программному обеспечению является высокая скорость навигации в трёхмерном пространстве и высокая скорость обработки трехмерной сцены в процессе анимации. За навигацию и визуализацию виртуального пространства в первую очередь отвечает графический процессор, который должен обладать достаточной производительностью и объемами графической памяти для хранения и визуализации миллионов полигонов и множества текстур. Для специалистов в области M&E это являлось важным критерием, а низкая производительность решений для виртуализации и отсутствие поддержки ускорения графики значительно осложняли данный процесс. Сейчас эта проблема решена, и не только специалисты CAD могут использовать возможности ускорения графики с помощью NVIDIA GRID, но и специалисты, работающие в индустрии развлечений.Аналогично тестированию приложений CAD, мы произвели несколько тестов с такими пакетами, как Autodesk 3ds Max и Autodesk Maya, записав для вас несколько демонстрационных видео, где пакеты работают на виртуальной машине с vGPU.
Autodesk 3ds Max 2016 на vGPU и Dedicated GPU
Пакет компьютерной графики Autodesk 3ds Max является одним из самых популярных инструментов среди художников, архитекторов, разработчиков игр и визуальных эффектов для телевидения и кино. Многие инструменты, разработанные для 3ds Max, позволяют интенсивно использовать возможности графических процессоров для визуализации данных. В первую очередь это касается современного движка виртуального пространства Nitrous, оптимизированного для высококачественного затенения трехмерных сцен и моделей. Он использует возможности API DirectX для затенения, освещения и визуализации.Еще один важный момент – применение инструментов, в которых используется GPU ускорение, таких как NVIDIA PhysX или NVIDIA iray. Эти решения используют технологию NVIDIA CUDA и требовательны к производительным графическим процессорам. Эти решения могут быть использованы в виртуальной машине только при наличии Dedicated GPU или выведены на отдельный сервер с NVIDIA Tesla.
Autodesk 3ds Max на виртуальной машине с vGPU NVIDIA GRID K240Q
Видео-демонстрация работы Autodesk 3ds Max 2016 на виртуальной машине с NVIDIA GRID K240Q vGPU.
Autodesk 3ds Max на виртуальной машине с vGPU NVIDIA GRID K2 и запущенным процессом визуализации с помощью NVIDIA iray renderer
Видео-демонстрация работы Autodesk 3ds Max 2016 на виртуальной машине с NVIDIA GRID K2 с профилем GPU Pass-through
Autodesk Maya 2016 на vGPU и Dedicated GPU
Пакет Autodesk Maya является одним из важнейших инструментов профессиональных художников компьютерной графики и аниматоров. За счет максимальной открытости и мощных возможностей интеграции в любые производственные процессы данное решение заслужило большую популярность среди студий и компаний выпускающих графический контент. Поддержка нескольких платформ позволяет работать в самых разнообразных окружениях и выполнять быстрое развертывание пакета для решения разнообразных задач.Аналогично 3ds Max, пакет Maya предоставляет множество возможностей интенсивно использующих графические процессоры для визуализации виртуального пространства, финальной визуализации образов и вычислений различных эффектов.
В Autodesk Maya интенсивно используются возможности API OpenGL и DirectX для визуализации виртуального пространства, а некоторые из современных технологий используют возможности графических ускорителей для ускорения вычислений общего назначения. При этом важен и объем графической памяти, в которой будут храниться текстурные карты и вспомогательные данные или кэш геометрии.
Autodesk Maya на виртуальной машине с vGPU NVIDIA GRID K240Q
Видео-демонстрация работы Autodesk Maya 2016 на виртуальной машине с NVIDIA GRID K240Q vGPU.
Отсутствие поддержки вычислений на OpenCL в виртуальной машине с vGPU NVIDIA GRID K240Q.
Библиотеки OpenCL применяется в новом анимационном ядре программы Autodesk Maya 2016.
Поддержка вычислений на OpenCL в виртуальной машине с vGPU NVIDIA GRID K2. Используется технология GPU Pass-through
Видео-демонстрация работы Autodesk Maya 2016 на виртуальной машине с NVIDIA GRID K2 с профилем GPU Pass-through
Adobe Photoshop CC 2015 на vGPU
Редактор растровой графики Adobe Photoshop за последнее десятилетие приобрел множество возможностей использующих вычислительную мощность графических процессоров. Одной из первых задач, ставившихся перед разработчиками, является обеспечение плавной навигации по холсту и быстрая визуализация растрового изображения. Начиная с Adobe Photoshop CS4, программа получила обновлённое графическое ядро, поддержку трехмерного пространства и поддержку ускорения со стороны GPU в различных инструментах, таких как инструменты навигации, фильтры и эффекты.Adobe Photoshop CC на виртуальной машине с vGPU NVIDIA GRID K240Q
В Adobe Photoshop CC на виртуальной машине с vGPU недоступны возможности с OpenCL
Видео-демонстрация работы Adobe Photoshop CC на виртуальной машине с NVIDIA GRID K240Q vGPU.
Поддержка вычислений на OpenCL в виртуальной машине с vGPU NVIDIA GRID K2.
Используется технология GPU Pass-through
Итоги исследования
Мне, как эксперту в области компьютерной графики и начинавшему с технологий графических ускорителей, было давно интересно опробовать виртуализацию в действии. Первый опыт применения технологий и платформы NVIDIA GRID был получен еще с выходом первого поколения данной платформы в 2012 году. За три года данная платформа претерпела множество изменений, получив поддержку со стороны производителей программного и аппаратного обеспечения. Решения на основе Citrix значительно улучшили свои возможности, а программная основа от NVIDIA позволяет реализовать достаточно сложные задачи по распределению вычислительных возможностей графических процессоров между множеством независимых систем. Виртуализация рабочих станций выходит на новый уровень и предоставляет гораздо больше возможностей для компаний и пользователей предпочитающих «мобильный» образ жизни; это особенно важно современному молодому поколению дизайнеров, проектировщиков и цифровых художников. В то же время компании получают больше возможностей для централизации хранения данных проектов и управления пользователями, а также их действиями. Системным администраторам будет гораздо легче управлять единой системой виртуализации, быстро перенастраивая виртуальные системы под требуемые задачи, когда необходимо предоставить больше вычислительных мощностей или наоборот ограничить их.Данная статья наглядно демонстрирует работу технологий платформы NVIDIA GRID в нескольких приложениях от ведущих разработчиков и может быть взята вами на вооружение для оценки перспектив применения технологии виртуальных рабочих станций и графики в своей компании. Виртуализация может быть применена не только для того чтобы обеспечить удаленных сотрудников всем необходимым, но также она может быть использована внутри самой компании, когда необходимо максимально централизовать IT-инфраструктуру и обеспечить высокую надежность работы систем. Когда платформа виртуализации графики и графические ускорители NVIDIA GRID были анонсированы и представлены, многие дистрибьюторы облачных сервисов начали предоставлять такую возможность своим клиентам. Но основную часть взяли на себя дистрибьюторы профессиональных решений, сформировав совершенно новую область направления виртуализации и пакеты продуктов.
NVIDIA представила GRID 2.0
На проходившей в Сан-Франциско выставке-конференции VMworld NVIDIA представила обновление технологии NVIDIA GRID (версия 2.0), которая позволяет обеспечивать работу графически насыщенных, ресурсоемких приложений в виртуальной среде на любом подключенном к Сети устройстве.Более десятка компаний из списка Fortune 500 уже занимаются изучением возможностей бета-версии NVIDIA GRID 2.0. Ключевые производители серверов, среди которых Cisco, Dell, HP и Lenovo, сертифицировали решение GRID для 125 моделей серверов, включая блейд-серверы. Сотрудничество NVIDIA с Citrix и VMware обеспечивает конечным пользователям практически полный спектр возможностей для работы с графикой на ведущих платформах виртуализации.
NVIDIA GRID 2.0
Низкая производительность, ограниченные возможности пользователей и ограниченная поддержка в серверах и приложениях препятствовали возможности целиком и полностью перенести в виртуальное пространство работу предприятий. Благодаря интеграции GPU непосредственно в инфраструктуру дата-центров, технология NVIDIA GRID 2.0 устранила существующие барьеры и предложила следующие возможности:
- NVIDIA GRID 2.0 удваивает плотность пользователей - до 128 пользователей на сервер - по сравнению с предыдущей версией, представленной в прошлом году. Это повышает экономичность масштабирования решения для компаний, позволяя им предоставлять сервис большему числу сотрудников при более низких удельных затратах.
- Удвоенная производительность приложений: благодаря использованию передовой графической архитектуры NVIDIA Maxwell™ технология NVIDIA GRID 2.0 обеспечивает вдвое более высокую производительность приложений, превосходя в скорости работы многих нативных клиентов.
- Поддержка блейд-серверов: теперь заказчики смогут запускать виртуальные десктопы на базе GRID на блейд-серверах от ведущих мировых производителей, а не только на стоечных серверах.
- Поддержка Linux: NVIDIA GRID 2.0 больше не ограничена ОС Windows, позволяя компаниям, использующим Linux, также воспользоваться преимуществами графически ускоренной виртуализации.
Модель NVIDIA Tesla M60 предоставляет более производительное решение в виде полноценной платы в двух-слотовом исполнении с поддержкой интерфейса PCI-E 3.0. Данный ускоритель использует два графических чипа на основе архитектуры NVIDIA Maxwell с общим количеством ядер CUDA равным 4096. Каждому чипу отведено по 8 Гб графической памяти (общий объем 16 Гб). Модель Tesla M60 ориентирована на применение в полноценных серверах и предназначена для работы в виртуальных средах с большой плотностью и высокими требованиями к производительности оборудования, плата потребляет 300 Ватт энергии.
Как только появится возможность протестировать новую версию платформы NVIDIA GRID, мы обязательно напишем об этом и расскажем в подробностях о производительности новых решений.
Выражаю большую благодарность компании FORSITE за предоставленные ресурсы и помощь в подготовке материалов и иллюстраций к статье. Вы также можете обратиться к специалистам компании FORSITE за дополнительными сведениями и заказать тест-драйв NVIDIA GRID, чтобы в полной мере протестировать свои приложения и проекты в реальных условиях.