[ops][nova][placement] NUMA topology vs non-NUMA workloads

Arne Wiebalck arne.wiebalck at cern.ch
Fri May 31 08:20:47 UTC 2019



On 31.05.19 09:51, Tim Bell wrote:
> Chris,
> 
>  From the CERN set up, I think there are dedicated cells for NUMA optimised configurations (but maybe one of the engineers on the team could confirm to be sure)

This is correct: we have dedicated cells for NUMA aware guests (and 
hence do not mix NUMA aware and NUMA unaware guests on the same set
of hosts).

Arne

> 
>      Q: How important, in your cloud, is it to co-locate guests needing a
>         NUMA topology with guests that do not? A review of documentation
>         (upstream and vendor) shows differing levels of recommendation on
>         this, but in many cases the recommendation is to not do it.
>      
> A: no co-location currently
> 
>      Q: If your answer to the above is "we must be able to do that": How
>         important is it that your cloud be able to pack workloads as tight
>         as possible? That is: If there are two NUMA nodes and each has 2
>         VCPU free, should a 4 VCPU demanding non-NUMA workload be able to
>         land there? Or would you prefer that not happen?
> 
> A: not applicable
>      
> Q:   If the answer to the first question is "we can get by without
>         that" is it satisfactory to be able to configure some hosts as NUMA
>         aware and others as not, as described in the "NUMA topology with
>         RPs" spec [1]? In this set up some non-NUMA workloads could end up
>         on a NUMA host (unless otherwise excluded by traits or aggregates),
>         but only when there was contiguous resource available.
> 
> A: I think this would be OK
> 
> Tim
> -----Original Message-----
> From: Chris Dent <cdent+os at anticdent.org>
> Reply-To: "openstack-discuss at lists.openstack.org" <openstack-discuss at lists.openstack.org>
> Date: Thursday, 30 May 2019 at 14:57
> To: "OpenStack-discuss at lists.openstack.org" <OpenStack-discuss at lists.openstack.org>
> Subject: [ops][nova][placement] NUMA topology vs non-NUMA workloads
> 
>      
>      This message is primarily addressed at operators, and of those,
>      operators who are interested in effectively managing and mixing
>      workloads that care about NUMA with workloads that do not. There are
>      some questions within, after some background to explain the issue.
>      
>      At the PTG, Nova and Placement developers made a commitment to more
>      effectively manage NUMA topologies within Nova and Placement. On the
>      placement side this resulted in a spec which proposed several
>      features that would enable more expressive queries when requesting
>      allocation candidates (places for workloads to go), resulting in
>      fewer late scheduling failures.
>      
>      At first there was one spec that discussed all the features. This
>      morning it was split in two because one of the features is proving
>      hard to resolve. Those two specs can be found at:
>      
>      * https://review.opendev.org/658510 (has all the original discussion)
>      * https://review.opendev.org/662191 (the less contentious features split out)
>      
>      After much discussion, we would prefer to not do the feature
>      discussed in 658510. Called 'can_split', it would allow specified
>      classes of resource (notably VCPU and memory) to be split across
>      multiple numa nodes when each node can only contribute a portion of
>      the required resources and where those resources are modelled as
>      inventory on the NUMA nodes, not the host at large.
>      
>      While this is a good idea in principle it turns out (see the spec)
>      to cause many issues that require changes throughout the ecosystem,
>      for example enforcing pinned cpus for workloads that would normally
>      float. It's possible to make the changes, but it would require
>      additional contributors to join the effort, both in terms of writing
>      the code and understanding the many issues.
>      
>      So the questions:
>      
>      * How important, in your cloud, is it to co-locate guests needing a
>         NUMA topology with guests that do not? A review of documentation
>         (upstream and vendor) shows differing levels of recommendation on
>         this, but in many cases the recommendation is to not do it.
>      
>      * If your answer to the above is "we must be able to do that": How
>         important is it that your cloud be able to pack workloads as tight
>         as possible? That is: If there are two NUMA nodes and each has 2
>         VCPU free, should a 4 VCPU demanding non-NUMA workload be able to
>         land there? Or would you prefer that not happen?
>      
>      * If the answer to the first question is "we can get by without
>         that" is it satisfactory to be able to configure some hosts as NUMA
>         aware and others as not, as described in the "NUMA topology with
>         RPs" spec [1]? In this set up some non-NUMA workloads could end up
>         on a NUMA host (unless otherwise excluded by traits or aggregates),
>         but only when there was contiguous resource available.
>      
>      This latter question articulates the current plan unless responses
>      to this message indicate it simply can't work or legions of
>      assistance shows up. Note that even if we don't do can_split, we'll
>      still be enabling significant progress with the other features
>      described in the second spec [2].
>      
>      Thanks for your help in moving us in the right direction.
>      
>      [1] https://review.opendev.org/552924
>      [2] https://review.opendev.org/662191
>      --
>      Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
>      freenode: cdent
> 



More information about the openstack-discuss mailing list