| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-06-13 | |||
| 21:04:07 | sean-k-mooney | so depending on your netwroking backgorund and the team that will be maintaining the clould you could be trading performace for lower operationgs costs | |
| 21:04:36 | spatel | sean-k-mooney: thank you, i am already using LinuxBridge in my cloud but yes its very simple, first time i am going to play with OVS so not sure what and where i am going to face complexity | |
| 21:05:12 | spatel | I may planning to use DPDK so i have to learn OVS | |
| 21:06:03 | sean-k-mooney | if your starting out with ovs its simpler to start with kernel ovs and learn how to use ovs-dpdk after you are comfortable with openflow and ovs in general | |
| 21:06:23 | sean-k-mooney | it just helps not to add dpdk to the learning curve | |
| 21:06:59 | sean-k-mooney | ovs is the default netrok backend for like 80% of all deployments in one form or another | |
| 21:07:45 | spatel | sean-k-mooney: hmm | |
| 21:08:48 | spatel | Is it possible i deploy ovs with general configuration and then slowly rollout ovs-dpdk compute by compute | |
| 21:09:18 | spatel | Can i have mix environment like currently i have SR-IOV with general compute | |
| 21:10:58 | sean-k-mooney | spatel: yes you can mix ovs and ovs-dpdk in the same cloud and you can also have sr-iov in that cloud | |
| 21:11:20 | sean-k-mooney | generally you will use a different host aggage to seperate your dpdk nodes that need hugepages form the rest that dont | |
| 21:11:30 | spatel | I think i should go with OVS so i can have all kind of function and feature available.. | |
| 21:12:00 | spatel | what are the basic requirement for dpdk? | |
| 21:12:11 | mriedem | efried: please don't fix the docs build break | |
| 21:12:16 | mriedem | i just dumped 42 comments on that change | |
| 21:12:34 | efried | mriedem: okay | |
| 21:12:37 | spatel | NIC support, hugepages etc.. | |
| 21:13:19 | sean-k-mooney | most nicst that support sriov support dpdk but there is a list here | |
| 21:13:20 | sean-k-mooney | https://core.dpdk.org/supported/ | |
| 21:13:47 | sean-k-mooney | that is more a list of driver but you likely have a nic that is supported | |
| 21:14:17 | sean-k-mooney | hugepages are needed for the guest and for the vswtich | |
| 21:14:25 | sean-k-mooney | other then that there are no special requiremetns | |
| 21:14:45 | mriedem | with that i think i'm done for the day | |
| 21:14:58 | spatel | I have - 04:00.0 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01) | |
| 21:15:29 | spatel | How much hugepage required for vswitch? | |
| 21:15:29 | sean-k-mooney | spatel: yep they use the ixgbe dirver and are supported | |
| 21:15:46 | spatel | My all compute nodes are 32G memory ( some 64G) | |
| 21:16:25 | sean-k-mooney | dpending on your workload 2-4 G if you are using jumbo frams 1-2G is fine for standard 1500b packets | |
| 21:16:34 | sean-k-mooney | i have tunned it to less in the past | |
| 21:16:54 | sean-k-mooney | it jsut depends on your data rates and how long your queuse are going to be | |
| 21:17:36 | spatel | When you saying hugepage for vswitch does that means i have to give some dedicated hugepage to vSwitch right? | |
| 21:17:50 | sean-k-mooney | spatel: https://developers.redhat.com/blog/2018/03/16/ovs-dpdk-hugepage-memory/ | |
| 21:17:58 | sean-k-mooney | spatel: yes | |
| 21:18:40 | spatel | Nice doc.. | |
| 21:18:54 | sean-k-mooney | ovs-dpdk uses hugepage memroy to process packets so that it can DMA transfer packets directly to and from the nic bypassing the kernel | |
| 21:18:58 | spatel | sean-k-mooney: do i also need to give some dedicated CPU to vSwitch? | |
| 21:19:56 | sean-k-mooney | yes ideally 1 PMD(poll mode driver) core per numa node | |
| 21:20:41 | sean-k-mooney | ovs-dpdk scalse effectivly liniarly with the number of cpu cores you give it so you can tune it up or down depending on your data rates | |
| 21:20:52 | spatel | I have two numa zone so i have to give 2 CPU core right? is that CPU core will be pin with vSwitch? | |
| 21:21:30 | sean-k-mooney | yes dpdk will run in a bussy loop waiting for packets and will consume the full core | |
| 21:21:45 | sean-k-mooney | even when idel | |
| 21:22:15 | sean-k-mooney | it does that to miniumese latency but it basically means you cant run other thing on the core at the same time | |
| 21:23:06 | sean-k-mooney | per packet ovs-dpdk is much more efficent then kernel ovs however kernel ovs use kernel thread to process the packet and does not consume cpus cycles when idel | |
| 21:23:12 | sean-k-mooney | so its a trade off | |
| 21:23:25 | sean-k-mooney | ovs-dpdk cpu usage will be fixed based on the cores you allcoate it | |
| 21:24:00 | spatel | core allocation process is automatic or part of configuration? | |
| 21:24:01 | sean-k-mooney | kernel ovs will use less or more cpus as needed includeing stealing cpu cycles form the guests if you do not tune the kernel to prevent that | |
| 21:24:10 | sean-k-mooney | spatel: part of the configuration | |
| 21:24:32 | spatel | ah! ok.. | |
| 21:24:52 | sean-k-mooney | you set a bit mask in the ovs db to choose what core dpdk is allows to use | |
| 21:25:01 | spatel | Do i need to create neutron port for dpdk (like i am create currently for SR-IOV)? | |
| 21:25:32 | sean-k-mooney | you can but no. it used vnic_type=normal which is the default | |
| 21:25:39 | sean-k-mooney | so you dont need to precreate them | |
| 21:25:55 | sean-k-mooney | form a user point of view its identiacl to linux bridge or kernel ovs | |
| 21:26:05 | sean-k-mooney | other then the fact you need a flaovr with hugepages | |
| 21:26:12 | spatel | Perfect!! i love that part, currently in SR-IOV i have to create port in advance to map with vms | |
| 21:26:21 | sean-k-mooney | yes | |
| 21:26:48 | sean-k-mooney | which is annoying but there are reason why we require that | |
| 21:26:51 | spatel | anyway my all vms running with hugepages at moment | |
| 21:27:21 | spatel | Question why does vms required hugepage for dpdk? | |
| 21:27:49 | sean-k-mooney | it has to do with how the packeets are transfered between the vswitch and the vm | |
| 21:27:58 | sean-k-mooney | we use a technology called vhost-user | |
| 21:28:35 | sean-k-mooney | which allows the vswitch to mapp the virtio-rings( tx and rx queues) of the guest nic into the memory of the vswitch | |
| 21:29:10 | spatel | Interesting.. | |
| 21:29:17 | sean-k-mooney | to do that we need to use gest memroy that is mmap shared with an open file discripto, is contiguaon and preallcoated | |
| 21:29:26 | sean-k-mooney | hugepages do all of the above | |
| 21:29:40 | sean-k-mooney | technically you can acive the same wiht out hugepages | |
| 21:29:55 | sean-k-mooney | its just slower, more work and not supported by openstack by defualt | |
| 21:30:17 | spatel | Got it.. so hugepage has big role here | |
| 21:30:34 | sean-k-mooney | if you are using a new enought ovs-dpdk you can actully get 0 copy packet transmistion betwwen the guest and the nic | |
| 21:31:17 | openstackgerrit | Merged openstack/nova master: update constraints url https://review.opendev.org/664771 | |
| 21:31:19 | sean-k-mooney | e.g. when the guest kernel rights the packet to the tx queue it is nver copyied and is drieectly trasmited by the nic similar to sriov | |
| 21:31:34 | sean-k-mooney | 0 copy recive i think is also posibel but experimental | |
| 21:32:12 | sean-k-mooney | that obviorsly depend on if you are using vxlan or vlans feature that may or may not be supported in your nic hardware | |
| 21:32:20 | spatel | ah! ok.. in short it bypass the kernel | |
| 21:32:47 | sean-k-mooney | yep and does everything in userspacce or in hardaware | |
| 21:33:07 | spatel | Do you guys running dpdk in production? | |
| 21:33:31 | spatel | very few people i found using dpdk in prod cloud | |
| 21:33:36 | sean-k-mooney | well i dont run a production cloud. i just work on upstream stuff | |
| 21:33:56 | sean-k-mooney | spatel: but redhat has customer using it in production yest | |
| 21:34:01 | sean-k-mooney | *yes | |
| 21:34:19 | sean-k-mooney | it is much less common then kernel ovs or sriov | |
| 21:34:28 | spatel | Let see how successful i can run in my production. | |
| 21:35:05 | sean-k-mooney | if you want the full intel pitch then https://software.intel.com/en-us/articles/yahoo-japan-accelerates-l7-performance-using-open-vswitch-with-dpdk | |
| 21:35:52 | spatel | Thanks for that link.. | |
| 21:36:53 | sean-k-mooney | hehe when i was working at intel i help some of the yahoo folk tuen there deployment alittle but after it was working i never heard form them how it worked out long term | |
| 21:37:55 | spatel | sean-k-mooney: you are smarty pants :) | |
| 21:39:04 | spatel | sean-k-mooney: hope dpdk support bonding too | |
| 21:39:40 | sean-k-mooney | it does | |
| 21:39:58 | sean-k-mooney | you can have dpdk do it(not recommended) or use ovs bonding of dpdk ports | |
| 21:40:22 | sean-k-mooney | ovs bonding give you more contol and can be modifed while the switch is running | |
| 21:40:57 | sean-k-mooney | dpdk bonding required the switch to be restareted, is less configurable but used to be slight faster at failover and throuput | |
| 21:41:20 | sean-k-mooney | honestly however dpdk bonding not via ovs is an operations pain that is best avoid | |
| 21:41:32 | sean-k-mooney | you should just use ovs bonding | |
| 21:41:42 | sean-k-mooney | anyway im gong to call it a night o/ | |
| 21:43:52 | spatel | sean-k-mooney: Thank you for wonderful tips | |
| 21:43:54 | spatel | Good night | |
| 22:25:59 | openstackgerrit | Eric Fried proposed openstack/nova master: Functional recreate for revert_resize https://review.opendev.org/665253 | |
| 22:45:59 | openstackgerrit | Merged openstack/nova master: update comment on ignore_basepython_conflict https://review.opendev.org/665036 | |
| #openstack-nova - 2019-06-14 | |||
| 00:13:26 | openstackgerrit | Brin Zhang proposed openstack/python-novaclient master: Microversion 2.74: Support Specifying AZ to unshelve https://review.opendev.org/665136 | |