Virtualization

OpenStack/CloudStack 上的 GPU 支持

  • September 23, 2016

我想知道這裡是否有人在使用 GPU(最好是 vGPU)的任何云編排層上取得了成功?我已經能夠讓 XenServer 6.2 成功查看我們的 nvidia GRID K1 卡,但不知道是否有任何 OpenStack/CloudStack 類型的層支持 GPU/vGPU。

目前 OpenStack 沒有完整的 GPU 加速支持。有一個提議增加對 GPU 加速機器的支持,作為 OpenStack 中的一種替代機器類型。目標版本是 Grizzly。您可以在此處查看功能原型。

支持 CUDA 的成功 openstack deployemnt。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 虛擬機gVirtuS成功訪問 CUDA 的唯一方法。這裡我們需要從 LXC 實例直接訪問 gpus。前提是主機系統的核心支持“lxc-attach”,並且安裝了“lxc-attach”的實用程序。

nova.virt.GPULibvirt``nova.virt.libvirt這是在請求時實例化啟用 GPU 的虛擬機的擴展。

1)當一個實例被生成(或重新啟動)時,nova 啟動一個 LXC 虛擬機

2)請求的 gpu(s)被標記為已分配,並且它的(他們的)設備是(s)在 LXC 內使用 ’ lxc-attach'

  1. 對 gpu(s) 的訪問權限添加到 /cgroup 啟動完成

  2. 當實例終止(銷毀)時,gpu(s) 被釋放。

引用自:https://serverfault.com/questions/662009