OpenStack/CloudStack 上的 GPU 支持

OpenStack/CloudStack 上的 GPU 支持

我想知道这里是否有人使用 GPU(最好是 vGPU)成功实现了任何云编排层?我已经能够让 XenServer 6.2 成功看到我们的 nvidia GRID K1 卡,但不知道是否有任何 OpenStack/CloudStack 类型的层支持 GPU/vGPU。

答案1

目前 OpenStack 还没有完整的 GPU 加速支持。有提案建议在 OpenStack 中添加对 GPU 加速机器的支持作为替代机器类型。该提案的目标版本是 Grizzly。您可以查看功能原型这里

成功部署具有 CUDA 支持的 openstack。cg1.xlarge 实例类型和 NVIDIA Fermi GPU

  $ 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

唯一成功从 kvm 虚拟机访问 CUDA 的方法是虚拟主机。这里我们需要从 LXC 实例直接访问 gpu。假设主机系统的内核支持“lxc-attach”,并且安装了“lxc-attach”的实用程序。

nova.virt.GPULibvirtnova.virt.libvirt这是在请求时实例化支持 GPU 的虚拟机的扩展。

1)当一个实例生成(或重新启动)时,nova 启动一个 LXC VM
2)所请求的 gpu 被标记为已分配,并且它的设备在 LXC 内部使用“lxc-attach”创建 3
)将对 gpu 的访问权限添加到 /cgroup 启动完成
4)当一个实例终止(销毁)时,gpu 将被释放。

答案2

Cloudstack 从 4.4 版开始支持 GPU。设计文档参考[1]

答案3

我为一家使用 K2 卡的公司设置了一个相当大的 Openstack 设置。需要对 nova(自定义属性)进行一些细微调整,但除此之外,它运行完美,实际上在相同硬件上 FPS 速率比 Xen 快 4 倍。

相关内容