Experience with VGPUs

Jonathan Rosser jonathan.rosser at rd.bbc.co.uk
Mon Feb 6 13:15:44 UTC 2023


Hi Tobias,

Thankyou for posting the scripts to recreate the mdev, those are very 
useful and have worked OK in our environment.

Managing the race conditions between the nvidia gpu manager starting, 
re-creating the mdev and holding off nova-compute starting until that is 
all complete seems quite tricky.

I see the comments on 
https://review.opendev.org/c/openstack/nova/+/864418 and I'm also 
interested to know how the ordering between udev rules execution and the 
nvidia driver being sufficiently initialised to create mdev can be 
expressed.

Thanks again for the scripts,
Jonathan.

On 17/01/2023 08:54, Tobias Urdin wrote:
> Hello,
>
> We are using vGPUs with Nova on OpenStack Xena release and we’ve had a 
> fairly good experience integration
> NVIDIA A10 GPUs into our cloud.
>
> As we see it there is some painpoints that just goes with mantaining 
> the GPU feature.
>
> - There is a very tight coupling of the NVIDIA driver in the guest 
> (instance) and on the compute node that needs to
>   be managed.
>
> - Doing maintainance need more planning i.e powering off instances, 
> NVIDIA driver on compute node needs to be
>   rebuilt on hypervisor if kernel is upgraded unless you’ve 
> implemented DKMS for that.
>
> - Because we’ve different flavor of GPU (we split the A10 cards into 
> different flavors for maximum utilization of
>   other compute resources) we added custom traits in the Placement 
> service to handle that, handling that with
>   a script since doing anything manually related to GPUs you will get 
> confused quickly. [1]
>
> - Since Nova does not handle recreation of mdevs (or use the new 
> libvirt autostart feature for mdevs) we have
>   a systemd unit that executes before the nova-compute service that 
> walks all the libvirt domains and does lookups
>   in Placement to recreate the mdevs before nova-compute start. [2] 
> [3] [4]
>
> Best regards
> Tobias
>
> DISCLAIMER: Below is provided without any warranty of actually working 
> for you or your setup and does
> very specific things that we need and is only provided to give you 
> some insight and help. Use at your own risk.
>
> [1] https://paste.opendev.org/show/b6FdfwDHnyJXR0G3XarE/
> [2] https://paste.opendev.org/show/bGtO6aIE519uysvytWv0/
> [3] https://paste.opendev.org/show/bftOEIPxlpLptkosxlL6/
> [4] https://paste.opendev.org/show/bOYBV6lhRON4ntQKYPkb/



More information about the openstack-discuss mailing list