Hyper threading virtualization

Maher Khalil

Member
Jul 11, 2021
113
5
18
40
does proxmox support virtualization of hyper threading (using multi threads available on the same CPU)?
 

Dunuin

Famous Member
Jun 30, 2020
4,293
934
143
Germany
Not sure what you actually mean.
I think there is no GUI option to create VMs with multiple threads per vCPU like other KVM hypervisors do.
But several vCPUs can use the same physical CPU core, because Proxmox will hypervise and spread multiple threads across all the physical CPU cores/threads. And Proxmox can make use of the hyperthreading of your physical CPU.
 

Maher Khalil

Member
Jul 11, 2021
113
5
18
40
I am trying to get releation between threads and vCPU like this
vCPU numbers = No. of CPUs x No. of cores per CPU x No. of threads
 

Dunuin

Famous Member
Jun 30, 2020
4,293
934
143
Germany
Using Proxmox you can allocate more vCPUs than you actually got physical CPU cores if you mean that. So if you for example got a 8 core 16 thread CPU you can easily allocate 64 vCPUs as long as the VMs using these vCPUs are idleing most of the time.
 

Maher Khalil

Member
Jul 11, 2021
113
5
18
40
The point is I would like to calculate the host resource to purchase to provide 62 nos. of 4vCPUs VMs. load may be 50%
so, how can I decide no. of sockets, cpus, and threads?
 

Maher Khalil

Member
Jul 11, 2021
113
5
18
40
what about intell 1 socket x 12 core per socket x 24 thread per core = 288 vCPUS (If I am right)
will it have good performance?
or I have to do another calculations?
 
Last edited:

alexskysilk

Well-Known Member
Oct 16, 2015
717
83
48
Chatsworth, CA
www.skysilk.com
there's no cpu that takes 24 threads per core.

Both intel and AMD hyperthreading provides 2x per core BUT you dont get the performance of 2 cpus for that. depending on what you feed it you can get 100-140% of a single core performance across both. if you're looking for guaranteed performance, ignore vCores (the logical cores resulting from hyperthreading) and count just actual cores.
 

Maher Khalil

Member
Jul 11, 2021
113
5
18
40
understand it now
Thank you very much
so, how can plan the host based on the my vCPU requirements
if I need 124 vCPUs as stated above, how can I plan the host?
if 1 socket so
124 vCPU = 1 socket x no. of cores x 2 threads
so,
no. of cores = 124/2 = 62 cores
or no. of cores = 32 in 2 sockets
or no. of cores = 16 in 4 sockets
right?
 
Last edited:

alexskysilk

Well-Known Member
Oct 16, 2015
717
83
48
Chatsworth, CA
www.skysilk.com
if I need 124 vCPUs as stated above, how can I plan the host?
you need 124 cores. you might be able to get away with ~180 vcores, but I humbly suggest your assumptions are wrong.

Why/how did you decide that's how much CPU you actually need? its completely possible you intend to deploy 62 vms with 4 cores each, but that doesn't mean they're all gonna consume 50% cpu at the same time. You need to model your use case and arrive at a maximal load at peak time; then you can decide to build out your infrastructure to provide that level of load, or depending on budget and resilience/latency sensitivity to a lower mean.

In any case, scaling to 62 vms is pretty simple- add nodes until you're covered. remember to leave sufficient compute/ram overhead to your hypervisor os (eg proxmox) and any storage infrastructure.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!