Як відомо, інфраструктура віртуальних ПК завжди мала таку особливість, що додатки, вимогливі до продуктивності 3D-графіки, як правило, не переносили в VDI-середу. Спочатку цю парадигму початку змінювати компанія Citrix, яка просувала концепцію віртуалізації вимогливих до графіки навантажень, спираючись на розробки компанії NVIDIA VGX, про які ми вже писали ось тут. тут і тут. Природно, NVIDIA стала співпрацювати і з компанією VMware - лідера на ринку якщо й не VDI-рішень, то вже точно платформ віртуалізації.
Випустивши VMware Horizon View 5.2. компанія VMware зробила серйозний крок у напрямку поліпшення продуктивності 3D-графіки в віртуальних десктопах. Тепер про можливості відображення графіки в віртуальних ПК можна говорити в розрізі трьох технік:
- Soft 3D - рендеринг 3D-картинки взагалі без використання адаптера на основі програмних технік з використанням пам'яті сервера.
- vDGA - виділення графічного адаптера (GPU) окремої віртуальної машині.
- vSGA - використання загального графічного адаптера декількома віртуальними машинами.
Зрозуміло, що режими vDGA і vSGA повинні підтримуватися з боку виробника апаратного забезпечення, що і надає NVIDIA в своїх графічних адаптерів (інформація актуальна для релізу VMware View 5.2):
Коротке порівняння обох технік:
Розглянемо ці режими трохи докладніше.
Soft 3D - графічна карта не потрібна
В цьому режимі сервер може працювати без графічного адаптера, при цьому рендеринг картинки відбувається програмними засобами з використанням виділеної області оперативної пам'яті. Так зараз працює більшість серверів і десктопів, яким не потрібна особлива продуктивність графіки. При цьому підтримується програмна обробка для додатків, що працюють з DirectX 9 і OpenGL 2.1.
vDGA (Virtual Dedicated Graphics Adapter) - виділений ВМ фізичний адаптер
Треба відзначити, що оскільки в цьому режимі ВМ зав'язана на фізичний пристрій, то для неї не підтримуються функції динамічних сервісів, такі як HA, vMotion і DRS. Однак це кращий спосіб гарантувати віртуальній машині продуктивність.
vSGA (Virtual Shared Graphics Adapter) - загальний GPU для декількох віртуальних машин
В цьому режимі один GPU через драйвер NVIDIA рендерить картинку відразу для декількох віртуальних машин. Для цього режиму використовується спеціальний драйвер на рівні ядра VMware ESXi, який обробляє запити декількох віртуальних машин до одного адаптера. Ясна, справа цей спосіб не гарантує продуктивності, однак підходить для більшості інсталяцій, у випадках, коли ВМ не потрібно високої і гарантованої продуктивності в області 3D-графіки.
Все це вже зараз є і працює в VMware View 5.2 (про це можна прочитати в документі Virtual Machine Graphics Acceleration Deployment Guide).