Разработчики гипервизора Xen представили развиваемый компанией Intel проект XenGT, нацеленный на создание решения для полной виртуализации GPU и обеспечения работы прослойки для взаимодействия из гостевых систем с реальными GPU Intel. XenGT подразумевает поддержание отдельных виртуальных GPU для каждого виртуального окружения, за которыми закрепляется часть критичных для обеспечения высокой производительности ресурсов реального GPU.

Возможность использования обычных нативных видеодрайверов внутри виртуальных окружений без вмешательства гипервизора в областях, важных для достижения высокой производительности, обеспечивает оптимальное соотношение между функциональностью, производительностью и совместным использованием ресурсов. Таким образом XenGT приближает производительность графической подсистемы к конфигурациям с полным пробросом доступа к GPU, предоставляя при этом возможность совместного использования GPU между виртуальными машинами, без применения полной эмуляции или трансляции API DirectX/OpenGL. Несмотря на то, что в настоящее время в XenGT поддерживается только Xen и графическая подсистема процессоров Intel, отмечается что базовая логика является универсальной и может легко быть портирована для других систем виртуализации.

Для организации работы виртуальных GPU на стороне хост-системы (dom0) запускается специальный драйвер vgt, который берёт на себя функции планировщика, координирующего совместный доступ и распределение ресурсов реального GPU между виртуальными машинами. Ресурсы GPU логически разделяются на две категории: критичные для обеспечения высокой производительности (работа с видеопамятью и буферами команд в памяти) и все остальные (MMIO/PIO, регистры конфигурации PCI, таблицы GTT и пополнение очереди команд GPU). Для первой категории обеспечивается прямой проброс к реальному GPU, для второй выполняется диспетчеризация через промежуточную прослойку, на стороне которой выполняется разделение доступа и эмуляция виртуальных GPU.



Источник: http://www.opennet.ru/opennews/art.shtml?num=39370