Назад | Перейти на главную страницу

Поддержка GPU в OpenStack / CloudStack

Мне интересно, добился ли кто-нибудь здесь успеха с каким-либо слоем облачной оркестрации с использованием графического процессора (предпочтительно 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 на том же оборудовании.