| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-01-09 | |||
| 13:01:07 | sean-k-mooney | ths is all coming back to me https://github.com/openstack/nova/blob/a4311c401b55c27321de7b282b242661af73fa34/nova/objects/resource.py#L39-L110 | |
| 13:03:34 | alex_xu | sean-k-mooney: yes | |
| 13:04:55 | sean-k-mooney | right so i rememebr we discussed if we need to do host side tracking like we do for pci device or if im memory + instastnce level tracking was enought like we do for vgpu | |
| 13:05:20 | sean-k-mooney | and we endup not doing host level tracking in the db | |
| 13:05:53 | alex_xu | yes | |
| 13:06:54 | sean-k-mooney | ya ok so the appoch in the spec makes sense then with that context. | |
| 13:07:00 | alex_xu | vgpu is more libvirt level tracking... | |
| 13:08:44 | sean-k-mooney | ya i was just looking at the vpmem discovery code https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L429-L514 | |
| 13:18:08 | huaqiang | 1;2C1;5C | |
| 13:20:46 | openstackgerrit | Lee Yarwood proposed openstack/nova stable/stein: libvirt: Add a rbd_connect_timeout configurable https://review.opendev.org/669167 | |
| 13:21:56 | openstackgerrit | Lee Yarwood proposed openstack/nova stable/stein: Skip cpu comparison on AArch64 https://review.opendev.org/699116 | |
| 13:50:02 | efried | Nova meeting in 10 minutes in #openstack-meeting | |
| 13:52:16 | efried | At a glance this morning it looked to me like nova-next is failing 100%. Has anyone looked at this? | |
| 13:52:35 | efried | ...before I dig in with my non-mriedem-ness? | |
| 13:53:42 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add a workaround config toggle to refuse ceph image upload https://review.opendev.org/657078 | |
| 14:00:22 | efried | Nova meeting now. | |
| 14:01:55 | efried | stephenfin, sean-k-mooney, bauzas: ^ | |
| 14:02:09 | efried | huaqiang: ^ | |
| 14:02:10 | efried | who else? | |
| 14:03:39 | brinzhang_ | :) | |
| 14:06:16 | brinzhang_ | Can I send my questions? :P | |
| 14:07:04 | alex_xu | brinzhang_: meeting is at #openstack-meeting channel | |
| 14:07:25 | brinzhang_ | alex_xu: yeah, joined | |
| 14:07:29 | efried | brinzhang_: yes, for sure. | |
| 14:07:59 | brinzhang_ | alex_xu, efried: thanks | |
| 14:29:01 | openstackgerrit | Merged openstack/nova master: functional: Make '_IntegratedTestBase' subclass 'InstanceHelperMixin' https://review.opendev.org/689182 | |
| 14:30:45 | bauzas | efried: sorry was on meeting | |
| 15:01:36 | sean-k-mooney | bauzas: every time you or somone else at redhat says they are sorry i was in a meeting i go crap did i miss one or was it a 1:1 :) | |
| 15:01:54 | bauzas | 1:1 indeed | |
| 15:02:09 | sean-k-mooney | although that is partly because im getting used to meeting again after the break | |
| 15:02:15 | brinzhang_ | hah | |
| 15:02:28 | efried | dansmith: Re specifying VCPUs in placement-ese and other stuff in hw:-ese... | |
| 15:02:28 | efried | We could make that work, if we had to, because the hw:-ese part could impart enough information that you could infer the rest about your shared CPUs. | |
| 15:02:28 | efried | I don't like that personally because I think the mix of placement-ese and hw:-ese is more confusing than just hw:-ese | |
| 15:02:58 | efried | point being: we're going to have to have snowflake syntax anyway, so might as well make it consistent. | |
| 15:03:36 | sean-k-mooney | efried: you coudld infer the amoung and then have a driver specifc convetion for how to select which ones would float and whcih woudl be pinned | |
| 15:03:44 | efried | Rather than asking people to understand which subset of placement-ese is side-effecty and which is not | |
| 15:03:45 | sean-k-mooney | but it make the code more complex | |
| 15:04:03 | efried | sean-k-mooney: Yes, exactly. Yes, exactly. | |
| 15:04:16 | efried | and also make it harder for the user to understand IMO. | |
| 15:05:36 | sean-k-mooney | if i was to code the algortiom it would be balance the shared cores evenly across numa nodes then make the rest pinned | |
| 15:05:40 | dansmith | I dunno, I'm just disappointed with the mess we've had, do have, and apparently will have | |
| 15:06:22 | sean-k-mooney | which in a singel numa node guest means all the shared cores are fist follow by the pinned cores | |
| 15:06:50 | dansmith | do the public clouds let you have this level of control over which cpus are pinned and to where? | |
| 15:06:54 | sean-k-mooney | and that is because the linux kernel and proably other has a prefernce for runing some code on core 0 of each numa node | |
| 15:07:38 | efried | sean-k-mooney: even allowing for future expansion where you can specify how many you want in each NUMA node, we could still do the math. My gripe is really about the UX. | |
| 15:08:14 | efried | dansmith: is that a leading question? | |
| 15:08:46 | sean-k-mooney | well today the just expose flaver with either pinning on or off or numa nodes. but you can configure this via the image too | |
| 15:08:52 | dansmith | efried: it's an honest one.. we used to have a shared value of "abstraction means not getting to turn every knob" | |
| 15:09:08 | efried | Isn't "our competitor can't do X, and neither can we, so let's make X possible so we're better than our competitor" how progress is made? | |
| 15:09:35 | efried | dansmith: and that abstraction still exists. You can still put up a flavor with no extra specs and get a VM. We're not taking away that simplicity. | |
| 15:09:57 | dansmith | efried: the same argument goes fo "some vendor shows up with a P2V'd ancient appliance that requires a specific hardware topology and we spent years trying to implement that instead of actually competing on something that matters" | |
| 15:10:04 | sean-k-mooney | so as an operate i can create a flavor with 8 cores and pinnnge and then as a user i can upload an image the says make the vm have 1 socket and, 2 thread per core, and 1 nuam node please | |
| 15:10:25 | efried | dansmith: I dig. But NUMA isn't going away. | |
| 15:10:52 | efried | and edge tuning is like the big thing, isn't it? | |
| 15:11:01 | dansmith | efried: no, numa isn't, that's not the point.. whether or not we need to provide this level of control over what the topology looks like instead of just providing a sane one with the asks we were given is. | |
| 15:11:26 | dansmith | efried: mostly because of legacy appliances afaik :) | |
| 15:11:32 | efried | if a good-enough VM was good enough, sure. | |
| 15:12:01 | efried | but in edge IIUC you need to be able to squeeze every cycle out of your hardware, no? | |
| 15:12:15 | sean-k-mooney | well if we were to provide a sane topology by default we would have to change our curren policy of 1 cpu socket per vcpu | |
| 15:12:25 | sean-k-mooney | but i get what you mean | |
| 15:12:27 | dansmith | that's not generally the reason they need to strictly control the topology.. it seems like the reason, but it's often not :) | |
| 15:12:33 | sean-k-mooney | sane default would be nice | |
| 15:12:48 | efried | I think we have sane defaults, don't we? | |
| 15:12:49 | dansmith | anyway, I'm not trying to stop the train on those grounds, | |
| 15:13:10 | sean-k-mooney | efried: i would not call the cpu toplogy nova generates sane | |
| 15:13:15 | efried | heh | |
| 15:13:22 | efried | well, it could be | |
| 15:13:34 | dansmith | I'm more looking for a signpost in the distance of what level of abstraction others have chosen | |
| 15:13:41 | sean-k-mooney | if you have a 16 VCPU guest it will give you a guest with 16 cpu socket each wtih a 1 core 1 thread cpu | |
| 15:14:11 | sean-k-mooney | and for software licence that chages per socket that is expensive | |
| 15:14:27 | sean-k-mooney | that iw why the cpu topology extra specs where added | |
| 15:14:35 | dansmith | exactly :) | |
| 15:14:40 | dansmith | not for perf tuning :) | |
| 15:14:45 | sean-k-mooney | windows server used to be changed per socket not per core | |
| 15:15:04 | dansmith | and nvidia has some similar things | |
| 15:15:16 | sean-k-mooney | so if you are sane you would do hw:cpu_socket=1 hw:cpu_theads=2 | |
| 15:15:19 | dansmith | and closed source P2V'd ancient telco appliances are far far worse | |
| 15:15:24 | efried | dansmith: I think I see your point. It should be *possible* to say "give me $p pinned and $s shared, you go figure out how to distribute them" without *having* to say "I want CPUs 0,3,7 pinned and 1,2,4-6 shared". | |
| 15:15:44 | dansmith | efried: pretty much | |
| 15:15:58 | sean-k-mooney | efried: yes so that is what we wanted to discuss in the meeting when we said count vs mask | |
| 15:16:01 | efried | But I would argue that, if you care about a pinned vs shared split, you care enough about performance that having to do the extra syntax isn't a big jump. | |
| 15:16:04 | dansmith | there's also the device-to-numa affinity which I understand is important, so that your nic is affined to your dedicated cpus | |
| 15:16:12 | efried | mm | |
| 15:16:48 | sean-k-mooney | dansmith: that is out of scope of this spec but yes that is a factor | |
| 15:17:06 | dansmith | certainly you know I'm not arguing that operators of multi-billion-dollar clouds shouldn't have to write 255 characters of ascii syntax for this right? | |
| 15:17:22 | dansmith | sean-k-mooney: no, I know, I was just commenting that I know asking for the abstract isn't enough | |
| 15:17:30 | dansmith | sean-k-mooney: or rather, asking for his abstract example | |
| 15:17:50 | sean-k-mooney | so if we take numa as an example | |
| 15:17:55 | sean-k-mooney | we actully support both | |
| 15:18:04 | sean-k-mooney | if you do hw:numa_nodes=2 | |
| 15:18:17 | sean-k-mooney | and say nothing esle we devied the cpu and ram evenly between the numa nodes | |
| 15:18:49 | sean-k-mooney | but you can also use hw:numa_cpu.0=2 .... to speciy the numa of cpus or ram per numa node | |
| 15:19:04 | sean-k-mooney | most peopel jsut hw:numa_nodes and let nova do it | |
| 15:19:58 | sean-k-mooney | i guess the diffferen with numa id they can detect the cpu and ram in the gues via the kernel jsut as if it was real hardware | |
| 15:20:40 | sean-k-mooney | pining vs floaing is a qualtive change ranter then quantative so if they care about that then need another openstack sepcifc way to determin that | |
| 15:22:04 | sean-k-mooney | the primary use case for this by the way that im aware of is for realtime guests where they want all the realtime cores to be pinned and the non realtime managment core to be floating so that they can get the most desity out of a host | |
| 15:22:08 | dansmith | efried: so I guess to close, | |
| 15:23:18 | dansmith | efried: my preference (and what I thought we were moving towards) was a future where resource (amounts) are specified in placement syntax, and topologies and the like are assigned sanely. Tweaks to how those look (like I really need this thing pinned here) would be hw:things but where the hw: is the optional | |
| 15:23:52 | dansmith | meaning, usually you just ask for the amount of stuff you want and we give it to you in a sane arrangement which is fine for most people, | |