Поддержка графических процессоров в OpenStack/CloudStack

Мне интересно, был ли кто-нибудь здесь успешным с любым из уровней облачной оркестровки с использованием графического процессора (предпочтительно vGPU)? Мне удалось заставить XenServer 6.2 успешно видеть нашу карту nvidia GRID K1, но я не знал, поддерживает ли какой-либо из слоев OpenStack/CloudStack тип GPU/vGPU.

3 ответа

Решение

В настоящее время нет полной поддержки ускорения GPU для 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) Запрашиваемые графические процессоры помечены как выделенные, и их устройства созданы в LXC с использованием lxc-attach
3) Добавлено разрешение доступа к gpu(s) в /cgroup. Загрузка завершается.
4) Когда экземпляр прекращается (уничтожается), графические процессоры освобождаются.

В Cloudstack есть поддержка GPU, начиная с версии 4.4. Ссылка на проектный документ приведена в [1]

Я установил довольно большую настройку Openstack для компании, которая использует карты K2. Требуется небольшая настройка вокруг nova (пользовательские свойства), но в остальном он работает отлично, фактически в 4 раза быстрее FPS, чем Xen на том же оборудовании.

Другие вопросы по тегам