Мне интересно, добился ли кто-нибудь здесь успеха с каким-либо слоем облачной оркестрации с использованием графического процессора (предпочтительно vGPU)? Мне удалось получить XenServer 6.2, чтобы успешно увидеть нашу карту nvidia GRID K1, но я не знал, поддерживает ли какой-либо из слоев типа OpenStack / CloudStack GPU / vGPU.
В Cloudstack есть поддержка GPU начиная с версии 4.4. Ссылка на проектный документ: [1]
В настоящее время OpenStack не поддерживает полную поддержку ускорения графического процессора. Есть предложение добавить поддержку машин с ускорением на GPU в качестве альтернативного типа машин в OpenStack. Целевой выпуск для этого - Grizzly. Вы можете проверить функциональный прототип Вот.
Успешное развертывание openstack с поддержкой CUDA. тип экземпляра cg1.xlarge и графические процессоры NVIDIA Fermi
$ nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------------------------------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------------------------------------+
| 9 | cg1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | {u'hypervisor': u's== LXC', u'gpus': u'= 2', u'gpu_arch':u's== fermi'} |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------------------------------------+
$ nova boot --flavor 9 --key-name mykey --image 2b1509fe-b573-488a-be4d-d61d25c7ab4f gpu_test
Единственный подход, который был успешным для доступа CUDA с виртуальной машины kvm, это gVirtuS . Здесь нам нужен прямой доступ к gpus из экземпляров LXC. При условии, что ядро хост-системы поддерживает lxc-attach и установлены утилиты для lxc-attach.
nova.virt.GPULibvirt
который является продолжением nova.virt.libvirt
для создания экземпляра виртуальной машины с поддержкой графического процессора по запросу.
1) Когда экземпляр создается (или перезагружается), nova запускает виртуальную машину LXC.
2) Запрошенный gpu (ы) помечен (помечены) как выделенный, и его (их) устройство (а) создается (создаются) внутри LXC с использованием 'lxc-attach'
3) Разрешение на доступ к GPU добавлено в / cgroup Boot finalizes
4) Когда экземпляр завершается (уничтожается), gpu (ы) освобождаются.
Я установил довольно большую установку Openstack для компании, которая использует карты K2. Требовалась небольшая настройка nova (пользовательские свойства), но в остальном она работала отлично, фактически в 4 раза быстрее, чем Xen на том же оборудовании.