CPU VPs configuration on VMWARE
Posted in 2022
Eric Vercelletto asked how many CPU VPs per core to configure on VMware/Intel Xeon 2.6GHz. Art Kagel advised disabling hyperthreading, three CPU VPs per core and affinity, with testing; Lester Knutsen suggested two per core and checking NUMA; Vladimir Kolobrodov suggested one per processor; Henri Cujass suggested 50-60 cores with at most 2 VPs each. No firm result.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Platform-Specific Issues
Hi folks, long time no see, I hope everybody doing well. I have a question: I have read and tested configuring more than one CPU VP per core on AIX Power VM, using SMT=2 or 1 at the system level. This works pretty well. I would like to know what is your opinion (with respective real life production experience) to do such a config on a VMWARE/Intel architecture. The hypervisor will host Xeon Gold procs @2,6Ghz. Preferably no other VM in that system. Up to how many CPU VPS would you configure per CORE . Definitely 1 per core, not more ? 2 per core ? 3 per core ? More ? Art K has been talking about 1 CPU VP per 'slice' of 700Khz, does this work also with VMWare/Intel ? Thanks Eric Eric Vercelletto Data Management Architect and Owner / Begooden IT Consulting KandooERP Founder and CTO IBM Champion 2013,2014,2015,2016,2017,2018,2019,2020 Tel: +33(0) 298 51 3210 Mob : +33(0)626 52 50 68 skype: begooden-it Google Hangout: eric.vercelletto@begooden-it.com Email: eric.vercelletto@begooden-it.com www : http://www.vercelletto.com www https://kandooerp.org #Informix
On Intel @ 2.6GHZ I would: Disable hyperthreading (but not on AMD, only Intel) Configure three CPU VPs per core Use affinity if there are multiple chips/sockets to limit CPU VP migration off a single socket where practical. Affine other VP types (NET, AIO, etc.) to the other sockets. The only exception would be a DSS environment (complex queries, single threaded) where I would do one VP per core across all sockets. The only problem with VM environments, besides the possibility of sharing resources on the "frame", is that performance is inconsistent making it hard to test and evaluate different configurations. Make many tests with each setup before deciding which is working for you. ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
Brilliant! Excellent scenario to test, and yes VM environment are not as consistent as vendors claim ☹ Thanks bunches! Take care Eric Vercelletto Data Management Architect and Owner / Begooden IT Consulting KandooERP Founder and CTO IBM Champion 2013,2014,2015,2016,2017,2018,2019,2020 Tel: +33(0) 298 51 3210 Mob : +33(0)626 52 50 68 skype: begooden-it Google Hangout: eric.vercelletto@begooden-it.com Email: eric.vercelletto@begooden-it.com www : http://www.vercelletto.com www https://kandooerp.org
Eric, As Art suggested, turn off Hyperthreading. 2.6GZ is not that fast so maybe only 2 CPU VPS per Core. Also, check the NUMA setting on VM as that will affect performance. Running the same benchmark 100 times I saw a 25% variance in performance times with no other changes. I did a talk on this many years ago - See links https://advancedatatools.com/webcasts/informix-best-practices-running-informix-in-a-virtual-machine/ and https://advancedatatools.com/presentation/running-informix-in-a-monster-virtual-machine/ Regards - Lester ------------------------------ Lester Knutsen lester@advancedatatools.com Advanced DataTools Corporation Voice: 703-256-0267 Visit our Web page: http://www.advancedatatools.com ------------------------------
Hi, Eric, now that you have recommendations of x2 and x3 CPUVPs per (virtual) CPU, let me throw in one more suggestion: 1 CPUVP per processor. :-) But, to be fair, your optimal performance number, in otherwise solid configuration, is expected to be achieved with 2 active sessions per CPUVP, possibly more (3) if network latency is a factor. If, in this setup, you don't see 100% CPU use - something else is wrong, check I/O, etc. Now, on the topic of hyperthreading. The VM, I think, recently started to ignore processor metadata, so in most cases you cannot tell (if HT is enabled) if two logical processors are two different cores or two threads on the same core. This is really bad, because with HT you were able to squeeze 20% to 40% extra performance from the core, but for certain types of scenarios (inline poll thread) running two CPUVPs on the same core really degrades performance. Not knowing which is which limits ability to control things with affinity, so when in doubt, you'll have to turn off HT. If licensing is per (virtual) processor it also does not make sense to pay 100% for 40% performance boost. So, here you have it - now you need to try x1, x2, and x3 CPUVPs per core and see what works best .... :-) ------------------------------ Vladimir Kolobrodov ------------------------------
Hi Eric, nice to see you back on board. Yes, this is the question that is always asked by customers. I see this as very dependent on the chosen licensing model. If you go on sub-capacity licensing I suggest switching off HT and switching on affinity (at VMWare and at Informix cpu vp class config). That optimizes your cost/performance ratio. You should also take a look at the NUMA problem. It helps to think about Intel Platinium CPU to reduce the number of NUMA nodes. Best Regards Henri ------------------------------ Henri Cujass leolo IT, CTO Germany IBM Champion 2021 and 2022 ------------------------------
As for NUMA considerations, that is one reason why I have come to like the AMD EPYC processors. Up to 64 cores per socket and the 64 additional SMT threads perform close to the performance of the main core thread without slowing performance of processes running there. And you can configure the entire set of up to 64 cores on each chip as a single NUMA zone improving performance without worrying about affinity at all! You can, however, comfortably affine the CPU VPs to the main cores and all other VPs to the SMT threads if you want. For sub-capacity licensing, you can also partition the cores into multiple NUMA zones, run your server on a single zone using only the cores in that zone, and actually get a bit more performance than running the chip as a single zone. Altogether a well engineer processor in my opinion. ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
Thanks Art, Lester, Henri and Vladimir (a lot, as always) Considering the customer is wishing to keep Xeon based, and considering the customer is aiming at a high number of sessions (10,000+), as a first attempt to test, what would you recommend in terms of NUMA config ? 100 CPU VPs / 2 CPU VPS per core ? Or should we expect bad surprises at this level ? Eric Vercelletto Data Management Architect and Owner / Begooden IT Consulting KandooERP Founder and CTO IBM Champion 2013,2014,2015,2016,2017,2018,2019,2020 Tel: +33(0) 298 51 3210 Mob : +33(0)626 52 50 68 skype: begooden-it Google Hangout: eric.vercelletto@begooden-it.com Email: eric.vercelletto@begooden-it.com www : http://www.vercelletto.com www https://kandooerp.org
Hi Eric, you know it's depend..... ;-) But 100 cores sound to much. I suggest 50-60 cores affinity off and max 2 CPU VP's / cores . Let us know the result. Best Regards Henri ------------------------------ Henri Cujass leolo IT, CTO Germany IBM Champion 2021 and 2022 ------------------------------
That might be fine. But, try Henri's 64 option first. Less license cost if it works. Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
Henri, If I read what I wrote, it would mean 50 cores, 100 CPUVPs so we seem to be in line