| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-02-11 | |||
| 16:52:21 | sean-k-mooney | no they dont but we do force the numa hosts to be partioned | |
| 16:52:49 | artom | So? | |
| 16:52:52 | efried | artom: even if they're not too big. Because we're adding the HW_NUMA_ROOT trait. | |
| 16:52:56 | sean-k-mooney | so all the hosts that will run numa workloads will have the feature turned on and the non numa host will have it off | |
| 16:52:59 | artom | They'd still all suddenly NUMA-exposing | |
| 16:53:19 | artom | sean-k-mooney, uh, so that's not "on by default as soon as they upgrade" :) | |
| 16:53:33 | artom | efried, oh right | |
| 16:54:06 | sean-k-mooney | it will be enabled in roles that configure the host for dpdk, hugepages or pinning | |
| 16:54:40 | sean-k-mooney | i would argue it should be set to on for all host and provide a way for them to opt out if they need the giant vm case | |
| 16:54:51 | sean-k-mooney | non of our telco customer need that case | |
| 16:55:17 | artom | sean-k-mooney, our telco customers are not 100% of openstack users | |
| 16:55:24 | artom | Would CERN want that, for example? :) | |
| 16:55:43 | sean-k-mooney | i dont think so no | |
| 16:55:56 | sean-k-mooney | i think they understand the perfomance cost and would use numa instances | |
| 16:56:18 | sean-k-mooney | cern are not going to trow away 30% of there compute performance | |
| 16:56:59 | sean-k-mooney | plus they have ironci if they really need to alocate all the resouce of a full host to an instance | |
| 16:57:06 | artom | sean-k-mooney, maybe, maybe not. I don't know how they, or anyone else how isn't a RH telco customer, operate. Which is why I'm weary of making this opt-out, and would feel safer making it opt-in. | |
| 16:57:20 | artom | If our deployment tooling wants to turn it on by default in some cases, that's cool | |
| 16:57:26 | artom | But not a Nova default | |
| 16:58:02 | sean-k-mooney | i think as proposed we get the best of both worlds | |
| 16:58:23 | sean-k-mooney | the fallback mechanisum will mean that it will just work if you dont set anything | |
| 16:58:49 | bauzas | sorry you lost my attention by not highlighting me | |
| 16:58:52 | sean-k-mooney | and we can add a nova status check to warn that you shoudl enable this before upgrading to Victora | |
| 16:59:15 | artom | sean-k-mooney, wait, the current proposed thing is disable_placement_numa_reporting = <bool> (default True for Ussuri) | |
| 16:59:24 | sean-k-mooney | yes | |
| 16:59:29 | artom | Which is what I'm advocating for | |
| 16:59:30 | sean-k-mooney | it will be disabled in ussuri | |
| 16:59:37 | artom | OK, so we agree :) | |
| 16:59:46 | sean-k-mooney | and hopefully enabled by default in Victoria | |
| 16:59:47 | dansmith | and that means what for flavors that currently have numa? | |
| 17:00:04 | sean-k-mooney | dansmith: the inital placement query will be empty | |
| 17:00:12 | sean-k-mooney | then we fall back to the current query | |
| 17:00:15 | artom | dansmith, IIUC same as what we did for PCPUs - try the new Placement query, if it comes back empty, try the legacy one | |
| 17:00:24 | sean-k-mooney | and leave it to the numa toplogy filter to do all the work | |
| 17:00:57 | sean-k-mooney | so they will just work | |
| 17:01:57 | dansmith | ack, yep, I think that's the sane path for U | |
| 17:02:27 | sean-k-mooney | stephenfin: by the way are you removing the fallback for PCPUs in U | |
| 17:02:47 | sean-k-mooney | stephenfin: that was the plan but i dont think you have had time to work on it | |
| 17:02:52 | dansmith | if it's on by default, could we do the opposite for non-numa flavors? meaning, query with numa_nodes=1 and if we get no options, then try with =2, etc? | |
| 17:02:52 | stephenfin | I could but I was thinking I'd wait another cycle | |
| 17:02:58 | dansmith | until we get a range capability with placement | |
| 17:03:23 | stephenfin | To let it bake in more. It's just dead code once the correct config options have been set | |
| 17:03:32 | sean-k-mooney | am maybe but the performace of that might not be great | |
| 17:03:39 | sean-k-mooney | or acccptable. | |
| 17:03:44 | artom | dansmith, that would assign a NUMA topology even if the user didn't request it (explicitly or implicitly), no? | |
| 17:04:00 | sean-k-mooney | artom: ya but that would actully be fine | |
| 17:04:10 | artom | NUMA topologies have a whole bunch of limitations :) | |
| 17:04:10 | sean-k-mooney | they expressed no prefernce | |
| 17:04:15 | sean-k-mooney | so we can decided what that is | |
| 17:04:32 | sean-k-mooney | artom: you removed the main one e.g. live migration | |
| 17:04:40 | artom | True... | |
| 17:04:49 | openstackgerrit | Douglas Mendizábal proposed openstack/nova master: Allow TLS ciphers/protocols to be configurable for console proxies https://review.opendev.org/679502 | |
| 17:04:49 | openstackgerrit | Douglas Mendizábal proposed openstack/nova master: Allow TLS ciphers/protocols to be configurable for console proxies https://review.opendev.org/679502 | |
| 17:05:04 | dansmith | artom: yes, it would, but I definitely think that we should be getting to the place where we don't just pretend numa doesn't exist | |
| 17:05:08 | artom | I'd still feel uncomfortable springing that on people | |
| 17:05:23 | dansmith | artom: so we want people to not have to worry about it in detail, but not just let them totally ignore it, IMHO | |
| 17:06:09 | sean-k-mooney | i think that is something we shoudl consider in V when we consider changing the default | |
| 17:06:26 | dansmith | yup | |
| 17:06:35 | sean-k-mooney | if there is a sensable way to express it to placmenet or a sensible way to make it work form our side we should explore it | |
| 17:06:43 | dansmith | what I don't think we should do, is continue to have two distinct ways of running instances forever | |
| 17:07:10 | sean-k-mooney | i agree with that | |
| 17:07:31 | artom | Same here | |
| 17:07:49 | artom | Though I'm not entirely convinced giving everyone a NUMA topology is the way to do it | |
| 17:07:57 | dansmith | similar to cellsv1, that didn't work out well, and we never closed the feature and bug gap for people using it until cellsv2 where we just make everyone use it.. it's a little more overhead, but the gap is way smaller | |
| 17:08:17 | dansmith | artom: but everyone _has_ a numa topology | |
| 17:08:34 | artom | dansmith, you know what I mean ;) | |
| 17:08:43 | dansmith | if we need to retool the numa stuff in nova (and probably placement) then that's what we need to do | |
| 17:08:58 | artom | I think I'd lean towards the can_split stuff in placement | |
| 17:09:20 | artom | Though I admittedly have no idea how complicated that would be | |
| 17:09:24 | dansmith | yep, it seems like the major barrier here is lack of expressivity with what we ask of placement when we don't care as much | |
| 17:09:42 | artom | Like, if the host is NUMA, fine, expose it | |
| 17:10:06 | artom | But as you said, being able to say "I don't care about NUMA" would be the best way to solve this, I think | |
| 17:10:15 | sean-k-mooney | artom: can split is very ineefincet to implement in sql | |
| 17:10:36 | artom | So, I have beef with "placement has to be SQL", but that's just me ;) | |
| 17:10:55 | sean-k-mooney | artom: if "i dont care about numa" means we are free to invent numa toploigies then sure | |
| 17:11:13 | artom | sean-k-mooney, weeelll... wouldn't that lead to a bunch of packing problems? | |
| 17:11:17 | bauzas | folks, I have to disappear | |
| 17:11:28 | bauzas | leave comments, disagreements, concers on the spec | |
| 17:11:29 | sean-k-mooney | artom: oh it doesnt have to be sql. but it would be very hard to support can split with the current impeneation | |
| 17:11:41 | sean-k-mooney | artom: no | |
| 17:11:46 | artom | I guess not, if you retry with enough combinations of guest NUMA nodes and CPUs per node | |
| 17:12:48 | artom | So if you some how end up with NUMA0 with 1 CPU free, and NUMA1 with 3 CPUs free, and boot an instance with 4 CPUs, you would need to retry until you get to the numa0_cpus:1,numa2_cpus=3 combo | |
| 17:12:56 | sean-k-mooney | honestly doing 4 placment queries with 1-4 numa nodes is still proably faster then the numa toplogy filter today | |
| 17:13:16 | sean-k-mooney | but i dont think this is productive to continue now | |
| 17:13:20 | artom | True | |
| 17:13:26 | artom | (On the second point) | |
| 17:13:35 | dansmith | if, like I said, we had a range of nodes, I would think placement could just loop internally much faster than even our retry process | |
| 17:13:40 | dansmith | and just dump us more options in the first go | |
| 17:14:15 | sean-k-mooney | dansmith: ya its really a proablem of being able to express our actul constratin to placmenet so they can do an efficent thing | |
| 17:14:22 | dansmith | right | |
| 17:14:42 | sean-k-mooney | at the moment we are over spcifying and underspecifying at the same time | |
| 17:14:49 | artom | dansmith, I think placement would want to now know about NUMA | |
| 17:14:57 | artom | And only think of things in terms of generic RPs | |
| 17:14:58 | sean-k-mooney | since the way we express the query does not fully match what we need | |
| 17:15:06 | artom | *to not know | |
| 17:15:19 | dansmith | artom: that's the proposal, AFAIK | |
| 17:15:32 | dansmith | artom: to model this in placement as RPs with the relevant hierarchy | |
| 17:15:47 | artom | dansmith, how does this fit with your "internal placement retry loop" idea though? | |
| 17:15:48 | sean-k-mooney | artom: right but we added some emantic meaning that is not helpful to come concpets in placment. | |
| 17:15:53 | dansmith | artom: ? | |