Компания Intel представила KVMGT, механизм виртуализации GPU для KVM
4 декабря 2014 года
Компания Intel представила новый открытый проект KVMGT, в рамках которого подготовлена открытая реализация технологии полной виртуализации GPU (Intel GVT-g) для гипервизора KVM. Ранее, похожая реализация виртуального GPU для Xen была подготовлена в рамках проекта XenGT, обновление которого вышло одновременно с анонсом KVMGT.
KVMGT позволяет предоставить для каждого виртуального окружения отдельный виртуальный GPU, в котором при выполнении требующих высокой производительности операций могут быть задействованы ресурсы реального системного GPU. Виртуальный GPU позволяет использовать внутри гостевых систем обычные видеодрайверы, не требующие вмешательства гипервизора для обеспечения должной производительности. В итоге, KVMGT позволяет добиться хорошего баланса между производительностью, функциональностью и совместным использованием ресурсов, приближая производительность виртуализированной графической подсистемы к конфигурациям с полным пробросом GPU, но предоставляя возможность совместного использования GPU между виртуальными машинами без применения полной эмуляции или трансляции API DirectX/OpenGL.
Сравнение производительности KVMGT и нативного GPU:
Для организации работы виртуальных GPU на стороне хост-системы (dom0) запускается специальный драйвер vgt, который берёт на себя функции планировщика, координирующего совместный доступ и распределение ресурсов реального GPU между виртуальными машинами. Ресурсы GPU логически разделяются на две категории: критичные для обеспечения высокой производительности (работа с видеопамятью и буферами команд в памяти) и все остальные (MMIO/PIO, регистры конфигурации PCI, таблицы GTT и пополнение очереди команд GPU). Для первой категории обеспечивается прямой проброс к реальному GPU, для второй выполняется диспетчеризация через промежуточную прослойку, на стороне которой выполняется разделение доступа и эмуляция виртуальных GPU.
KVMGT пока находится на начальной стадии разработки, но уже работают основные функции виртуализации GPU, позволяющие выполнять в гостевой системе такие 3D-приложения, как lightsmark, nexuiz, urbanterror и warsow. В гостевых системах пока поддерживается только Linux c отключенным в ядре механизмом PPGTT. В конечном счёте, после доведения кода до должного уровня, его планируется унифицировать с проектом XenGT (около 90% общей кодовой базы, отличаются только специфичные для гипервизора части) и включить в состав штатного драйвера i915. Код проекта составляет используемый на хост-системе драйвер для ядра Linux, а также компоненты для QEMU и SeaBIOS.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.