3

I'm wondering if anyone here has had success with any of the cloud orchestration layers using a GPU (preferably vGPU)? I've been able to get XenServer 6.2 to successfully see our nvidia GRID K1 card but didn't know if any of the OpenStack/CloudStack type layers had support for GPU/vGPU yet.

030
  • 5,731
  • 12
  • 61
  • 107
Dillon
  • 141
  • 1
  • 4

3 Answers3

2

Currently there is no complete GPU acceleration support for OpenStack. There is a proposal to add support for GPU-accelrated machines as an alternative machine type in OpenStack. The target release for this is Grizzly. You can check out a functional prototype here.

Successful openstack deployemnt with CUDA support. cg1.xlarge instance type and NVIDIA Fermi GPUs

  $ 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

The only approach that has been successful for CUDA access from a kvm virtual machine that is gVirtuS . Here we need a direct access of gpus from LXC instances. Provided the host system's kernel supports 'lxc-attach', and the utilities for 'lxc-attach' are installed.

nova.virt.GPULibvirt which is an extension of nova.virt.libvirt to instantiate a GPU-enabled virtual machine when requested.

1)When an instance is spawned (or rebooted), nova starts an LXC VM
2)The requested gpu(s) is(are) marked as allocated and its(their) device(s) is(are) created inside LXC using 'lxc-attach'
3)Access permission to the gpu(s) is added to /cgroup Boot finalizes
4)When an instance is terminated (destroyed), the gpu(s) are deallocated.

Harikrishnan
  • 1,057
  • 2
  • 14
  • 31
2

There is support in Cloudstack for GPU support starting version 4.4. The design document is referenced at [1]

1

I have setup a rather large Openstack setup for a company that uses K2 cards. Required some minor tweaking around nova (custom properties) but otherwise it worked perfectly, actually 4 times faster FPS rates than Xen on the same hardware.

dyasny
  • 18,482
  • 6
  • 48
  • 63