Hi,
I have a very CPU intensive application (I see 98% CPU usage for more than 95% of the time on a single core machine).
So when I use an Intel based server like "Kontron CG2100" with 12 cores and 24 vCPUs, I noticed I have to run 24 instances of my application to enable the parallel processing of independent tasks to fully utilize the available CPU.
What do I loses, if I make 1:1 virtualization so that I only have 12 vCPUs for 12 cores and then I only need to run 12 instances of my application and still able to use complete CPU!
For this kind of CPU intensive application scenario, is there any added benefit of hyper threading or 1:2 virtualization other than actually forcing ourselves to run double the number of processes and hence double the RAM usage and also increase I/O burden if there is any involved?
My understanding is this architecture is beneficial only if we want to use the machine for running many many (compared to # of physical cores) non CPU intensive (being idle or I/O waiting etc) apps.
Thanks for your replies.