| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-06-15 | |||
| 07:58:59 | bauzas | and again, I'm afraid bfv-auto would generate kind of a config-driven API | |
| 07:59:29 | bauzas | jkulik: I'd propose other clients to do the same, to be precise | |
| 07:59:29 | sean-k-mooney[m] | well that is why i suggested the falvor | |
| 07:59:34 | jkulik | config-driven API is where the values, the API should get via request comes in from other sources e.g. flavor or config? | |
| 07:59:57 | sean-k-mooney[m] | no it explcitly refer to useing nova.conf values to alter behavior | |
| 08:00:04 | jkulik | ah, thanks | |
| 08:00:15 | bauzas | like, delete_on_termination | |
| 08:00:28 | sean-k-mooney[m] | that is not a config value is it | |
| 08:00:34 | sean-k-mooney[m] | i did not think it was | |
| 08:00:43 | bauzas | ah my bad, bad example | |
| 08:00:53 | sean-k-mooney[m] | the option i normall think of is force_configdrive | |
| 08:01:04 | sean-k-mooney[m] | which is a config value | |
| 08:01:31 | bauzas | honestly, I'm not opposed to add a way to describe automatic bfv, but we seriously need to consider the impacts | |
| 08:01:59 | bauzas | and I personally have concerns with the solution be a flavor extraspec | |
| 08:02:06 | sean-k-mooney[m] | ack | |
| 08:02:12 | sean-k-mooney[m] | ya thats fair | |
| 08:02:33 | sean-k-mooney[m] | i think i would want to see the last partity gaps get closed which i think is just rebuild first | |
| 08:02:50 | bauzas | agreed | |
| 08:03:25 | sean-k-mooney[m] | up until this cycle the delta for bfv and non bfv was too much to not have teh user be aware of which it was going to use ectra. | |
| 08:03:37 | jkulik | hm ... if not flavor extraspecs where else? we also have baremetal flavors, which can't even use volume storage in our cloud | |
| 08:03:58 | bauzas | sean-k-mooney: that's the problem with operator feedback | |
| 08:04:04 | sean-k-mooney[m] | jkulik actully they could depending on yoru release | |
| 08:04:15 | sean-k-mooney[m] | ironic support boot form cinder via iscsi | |
| 08:04:19 | bauzas | sean-k-mooney: ideally I think we should propose a talk or some live thing about what nova can do with bfv noxw | |
| 08:04:36 | jkulik | sean-k-mooney: not in our cloud. all volume-types are in some vmware datastores ... :( | |
| 08:04:36 | bauzas | to let people know about what BFV is today | |
| 08:05:11 | sean-k-mooney[m] | jkulik its pretty new too only like 2-3 relases i think | |
| 08:05:32 | sean-k-mooney[m] | bauzas ya a general bfv talk woudl be good | |
| 08:06:22 | sean-k-mooney[m] | basically a bfv “state of the union” talk of hay with z this is how it can now be used | |
| 08:06:23 | bauzas | Vancouver is too far away | |
| 08:06:46 | sean-k-mooney[m] | i would wait for vancouver honestly | |
| 08:06:54 | sean-k-mooney[m] | well | |
| 08:06:59 | sean-k-mooney[m] | at least for zed to release | |
| 08:07:07 | bauzas | after Zed, this is fair | |
| 08:07:15 | sean-k-mooney[m] | but maybe as a follow up to the project highlights | |
| 08:07:17 | bauzas | I should run a project update thing anyway | |
| 08:07:54 | sean-k-mooney[m] | ok brb | |
| 08:17:15 | opendevreview | Balazs Gibizer proposed openstack/nova master: Optimize numa_fit_instance_to_host https://review.opendev.org/c/openstack/nova/+/845896 | |
| 08:17:43 | gibi | sean-k-mooney: ^^ let me know what you think. I might missed some side effect in the algo that makes this optimization actually breaking change | |
| 08:20:19 | sean-k-mooney | gibi: have not read it yet but when i see cache are you assume all instance numa ndoes will have the same requirements | |
| 08:20:41 | sean-k-mooney | oh you are caching the pairs | |
| 08:20:45 | sean-k-mooney | ok that should work | |
| 08:20:48 | sean-k-mooney | ill read the rest | |
| 08:20:52 | gibi | sean-k-mooney: I cache the result of the _numa_fit_instance_cell for host_cell instance_cell pairs | |
| 08:21:15 | sean-k-mooney | yep pairs are fine to cache | |
| 08:22:25 | sean-k-mooney | that break will jsut break the inner loop right | |
| 08:22:55 | sean-k-mooney | https://review.opendev.org/c/openstack/nova/+/845896/1/nova/virt/hardware.py#2376 | |
| 08:23:14 | gibi | yepp break jumps out from the inner loop | |
| 08:23:34 | sean-k-mooney | then i dont see why this would not work | |
| 08:23:34 | gibi | if you look at the except: branch it uses there too with the same effect | |
| 08:23:59 | sean-k-mooney | and its just storing pairs of ints so the memory overhead will be trivial | |
| 08:24:20 | gibi | yepp it is len(host_cells) * len(instance_cells) * 2 integeres | |
| 08:24:52 | gibi | that is a lot lest than then n!/(n-k)! number of fit calls the algo made | |
| 08:25:01 | sean-k-mooney | so like with comptueing factorial this shoudl reduce to the cell checks to linear | |
| 08:25:09 | sean-k-mooney | form O(n^2) | |
| 08:25:20 | gibi | it is actuall O(n!/(n-k)!) | |
| 08:25:34 | gibi | I mean it was | |
| 08:25:38 | sean-k-mooney | ya just realised that it much large then n^2 | |
| 08:26:09 | sean-k-mooney | its n choose m | |
| 08:26:29 | gibi | yeah we generate k long permutations from N items | |
| 08:26:51 | sean-k-mooney | so even with that optimiasation do we still want to change the default on mater | |
| 08:27:04 | gibi | sean-k-mooney: yepp, probably | |
| 08:27:17 | sean-k-mooney | with the sperad default it found a candiate on the first iteration | |
| 08:27:35 | sean-k-mooney | did you try thet repoducer with your chage | |
| 08:27:45 | sean-k-mooney | if not i was going to try that now | |
| 08:27:47 | gibi | the cache change helps with the forst case, the default change only helps in some case | |
| 08:28:13 | gibi | the reproduce took 6 mins for me without the cache, with the cache it took 3 seconds | |
| 08:28:33 | gibi | s/forts/worts/ | |
| 08:28:34 | sean-k-mooney | nice | |
| 08:29:08 | sean-k-mooney | so still double spreaing but much much more reasonable | |
| 08:31:03 | sean-k-mooney | gibi: so other then a releasenote im not sure what elese to add to that patch. | |
| 08:31:19 | sean-k-mooney | im not sure we want to unit test using a cache | |
| 08:31:38 | sean-k-mooney | and fucntional test should not be able to tell the differnce | |
| 08:31:52 | gibi | yepp I hope functional will tell me that everything works as is | |
| 08:32:20 | gibi | I can add a unit test that shows that the cache works by mocking and counting the _numa_fit_instance_cell inner calls | |
| 08:32:27 | sean-k-mooney | they should i don tthink you have change the outcome in anyway | |
| 08:33:03 | sean-k-mooney | gibi i woudl only do that if you pull out that code into its own fucntion | |
| 08:33:13 | sean-k-mooney | that code bing the inner loop | |
| 08:33:47 | sean-k-mooney | i think this is too much of an implemation detail to asser for the top level numa_fit_instance_to_host fucntion as it is | |
| 08:34:01 | opendevreview | ribaudr proposed openstack/nova master: Allow unshelve to a specific host (Compute API part) https://review.opendev.org/c/openstack/nova/+/831507 | |
| 08:34:02 | opendevreview | ribaudr proposed openstack/nova master: Allow unshelve to a specific host (REST API part) https://review.opendev.org/c/openstack/nova/+/845897 | |
| 08:34:14 | sean-k-mooney | espically since its a function scoped cache | |
| 09:33:08 | gibi | yeah I dropped the unit test idea. after played around it a bit it seems very artifical | |
| 09:33:23 | gibi | I have to fix up some unit test case and I will add a reno and follow your inline suggestion | |
| 09:33:36 | gibi | the functional tests passed so I think it is correct | |
| 09:39:00 | sean-k-mooney | i would be interested to triger a white box run against it but we dont really have much numa testing with whitebox upstream | |
| 09:39:08 | sean-k-mooney | i think its a pretty safe optimisation | |
| 09:39:44 | sean-k-mooney | if you like i can try and find some time to try it on real hardware or simulated multi numa hardware at least | |
| 09:40:12 | sean-k-mooney | but if our func test pass i do trust them for most numa stff at this point | |
| 09:43:32 | gibi | I also feel pretty safe with this now | |
| 09:44:52 | gibi | I don't think we should spen much time manual testing it. I will ask the bug author to test it for us | |
| 09:45:05 | gibi | they have big hardware appareantly | |
| 09:53:41 | sean-k-mooney | ish | |
| 09:54:08 | sean-k-mooney | its not really that big given its a singel socket system and amd launched that chip about 3 years ago | |
| 09:54:48 | sean-k-mooney | there are more of them out in the wild then you might otherwise expect vexhost has a similar sku them but they do not expose all the numa nodes | |
| 09:55:11 | sean-k-mooney | its configurable in the bios | |
| 09:55:16 | sean-k-mooney | but sure | |
| 09:55:30 | sean-k-mooney | lets get the op to test and provide feedback | |
| 10:07:36 | gibi | ack | |
| 10:40:05 | opendevreview | Balazs Gibizer proposed openstack/nova master: Optimize numa_fit_instance_to_host https://review.opendev.org/c/openstack/nova/+/845896 | |