Hyperthreading for VMs

EightySix Four

Diamond Member
Jul 17, 2004
5,122
52
91
I'm looking to build a new desktop which will have multiple virtualized environments running on it for development purposes. I'm currently bouncing back and forth between the 4670k and 4770k (would actually prefer the non-k, but I live next to a Microcenter and the bundles are only for the K edition CPUs). How much of an impact does the hyperthreading make when dealing with virtual machines? Is it worth the step-up? Are there any >4 core Xeon CPUs at a reasonable price that would be preferable?
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
For multiple things going on where those activities are relatively independent hyperthreading can be quite a significant performance improvement. 30% isn't uncommon in favourable conditions. Multiple VMs doing different things is definitely a case where very different workloads are being used on different threads.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
It's difficult to quantify (really: you don't see tests for this because one that's meaningful yet repeatable would be difficult to figure out), but oh yes, it's definitely there. The rest of us may go Xeon E3, but with Microcenter's prices, go i7.
 

imported_Thorburn

Junior Member
Jan 19, 2006
22
0
0
I'm looking to build a new desktop which will have multiple virtualized environments running on it for development purposes. I'm currently bouncing back and forth between the 4670k and 4770k (would actually prefer the non-k, but I live next to a Microcenter and the bundles are only for the K edition CPUs). How much of an impact does the hyperthreading make when dealing with virtual machines? Is it worth the step-up? Are there any >4 core Xeon CPUs at a reasonable price that would be preferable?

Depending what you are doing Virtualisation wise the K SKU's lack VT-d support, so a non-K may be preferable.

If you want more than 4-cores then why not look at an X79 board and an i7-4930K? These have 6-cores, 12-threads, and retain VT-d support.
 

EightySix Four

Diamond Member
Jul 17, 2004
5,122
52
91
Depending what you are doing Virtualisation wise the K SKU's lack VT-d support, so a non-K may be preferable.

If you want more than 4-cores then why not look at an X79 board and an i7-4930K? These have 6-cores, 12-threads, and retain VT-d support.

Having trouble justifying the extra cost to myself, especially with the compiling performance improvements that most benchmarks shows from Haswell. I know the extra cores will help, but more than double the money help?
 
Last edited:

Fox5

Diamond Member
Jan 31, 2005
5,957
7
81
Having trouble justifying the extra cost to myself, especially with the compiling performance improvements that most benchmarks shows from Haswell. I know the extra cores will help, but more than double the money help?

Don't get a K cpu, the virtualization extensions do make a difference!

Also, open up the possibility of using a quad core xeon with hyperthreading.

If you're on a limited budget, there's no reason to go 6 core. You'd be better served by buying more RAM or some SSDs to run the VMs off of (or at least a fast HDD) than going 6 core. Most VM workloads are IO limited, not cpu limited, and the extensions and fast drives help with that.
 

EightySix Four

Diamond Member
Jul 17, 2004
5,122
52
91
Don't get a K cpu, the virtualization extensions do make a difference!

Also, open up the possibility of using a quad core xeon with hyperthreading.

If you're on a limited budget, there's no reason to go 6 core. You'd be better served by buying more RAM or some SSDs to run the VMs off of (or at least a fast HDD) than going 6 core. Most VM workloads are IO limited, not cpu limited, and the extensions and fast drives help with that.

I am not doing hardware pass through, so VT-d doesn't impact me. I already planned on using an SSD for each VM, so IO should be okay. Right now I am just sad I didn't buy RAM the last time I was looking, prices have skyrocketed it seems.
 

saratoga172

Golden Member
Nov 10, 2009
1,564
1
81
Go with the i7-4770k. I use the system in my sig to run 6-7 vm's in my lab at any given time. Definite improvement with the hyper threading as opposed to not. Saw a noticeable gain going from an i5-2500k to i7-2700k a couple years ago.

Sounds like you've got it but just make sure you've got them running on an ssd or two for best performance.

I was in the same situation as you for which proc but my decision was i7-4770k or the 4930k. For extra cores and the extra ram. Couldn't justify the cost though. Don't regret my decision one bit.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Don't get a K cpu, the virtualization extensions do make a difference!
Not really. If the software needs to think it has direct PCIe access, a dedicated PC would be needed for decent testing of those features, anyway, for software development. Plus, you would need to be very careful about motherboard choice, in that scenario, if you wanted to try that virtualized. Microcenter's bundles would not be a good option. Good VT-d support on an overclocking motherboard is going to be a rare accident on LGA1150, not something you can expect to work.

The limitation is entirely artificial, born of Intel's marketing, but it's also not important, most of the time.

An SSD that's fairly fast with a high queue depth is going to make more of a difference than VT-d will.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
I am not doing hardware pass through, so VT-d doesn't impact me. I already planned on using an SSD for each VM, so IO should be okay. Right now I am just sad I didn't buy RAM the last time I was looking, prices have skyrocketed it seems.
Yes, RAM has gone up, and keeps creeping up, too.

As long as you don't get 120GB SSDs, or an SSD that can bog down under load, like say an Ultra Plus or Q (which are great regular client drives), you should be fine with either.

While not as fast as a RAID 0, 1 VM per SSD will make things easier. OTOH, you could probably get away with several VMs per SSD, no problem, with an SSD that handles that sort of thing well, like the M500 (slowest otherwise, but this is a near ideal use case), 600, Extreme II, or 840 Pro, and save some by getting large SSDs. The thing is, if you're getting smaller SSDs, you're giving up random performance on each (though any ~250GB or larger modern drive can sequentially saturate SATA 6Gbps), so take that sequential v. random difference into account.

On yet the other hand, a RAID 0 if ~250GB+ SSDs would give you both high sequential and random performance, and you probably want a backup system in place anyway (if you have GbE, just have the Vms shut down, and copy the whole VHDs over the network). The IOPS from the RAID would also make up for any performance deficiencies of any particular SSD, should it practically show up in a single-drive config.
 
Last edited:

redzo

Senior member
Nov 21, 2007
547
5
81
Unless your're going to OC, I see no reason to opt for a K cpu. I don't even recommend OC in this type of scenario.

As far as virtualization is concerned, the "moar" cores the better. VM performance is going to be the same between a 4670k and a 4770k. What may cause a difference is the amount of resources assigned to the VM that you've got at your disposal. I guess the 8 thread i7 will make you feel comfier than a 4 thread i5. 4 more threads is a nice thing to have, yeah even 4 fake ones.

You will be bottlenecked even by the mighty 30 thread xeon cpu: the more VMs you'll run, the more threads you'll need.
From a VM performance perspective, I don't think that is safe to go beyond 4 VMs on an 8 thread i7. VM's need real cores. My thinking is that modern OSs like server 2008/2012 will require at least 2 threads otherwise you may experience serious CPU performance degradation inside those VMs.

As a side note: AMD's 8 core FX is way better than an i7 from a resource point of view: you've got more resources(almost 8 full x86 cores, that's what VMs love the most). An AMD core is "more core" than an intel HT core, but what is annoying with AMD is that its performance per core is ridiculously low compared to intel => VM performance is lower also.
 

ashetos

Senior member
Jul 23, 2013
254
14
76
You might want to consider an AMD cpu since VMs benefit greatly from many integer cores and AMD is also very cheap. In my mind, the best application for AMD CPUs is Virtual Machines.
 

redzo

Senior member
Nov 21, 2007
547
5
81
Yes. AMDs 8 core fx is better because you can run more VMs, you've got almost twice the resources compared to an 8 thread i7. But AMDs FX ridiculous power consumption and slow core performance threw me away and I eventually purchased a 4770 since my pc runs almost 24/7.
 

ShintaiDK

Lifer
Apr 22, 2012
20,378
146
106
AMD got higher virtualization overhead, meaning slower performance for VMs. And looking on Xeons vs Opterons. Xeons easily outperform Opterons with twice the cores. And as said, power consumption.
 

ashetos

Senior member
Jul 23, 2013
254
14
76
AMD got higher virtualization overhead, meaning slower performance for VMs. And looking on Xeons vs Opterons. Xeons easily outperform Opterons with twice the cores. And as said, power consumption.

While it is true that the top-end Xeon will outperform the top-end Opteron in virtualization workloads, Opterons with the same price as Xeons perform better (always only talking about virtualization).

It is value that makes Opterons desirable, or else nobody would buy them, ever. So, if one wants a potent cheap CPU for virtualization, he might choose to buy an AMD CPU, unless power consumption is very important for him.
 

ShintaiDK

Lifer
Apr 22, 2012
20,378
146
106
While it is true that the top-end Xeon will outperform the top-end Opteron in virtualization workloads, Opterons with the same price as Xeons perform better (always only talking about virtualization).

It is value that makes Opterons desirable, or else nobody would buy them, ever. So, if one wants a potent cheap CPU for virtualization, he might choose to buy an AMD CPU, unless power consumption is very important for him.

Thats false. Also Opterons are essentially dead for the same reason a few % marketshare left. And AMD is not even updating their server line with the SR cores. Instead they hope on ARM servers now.
 

ashetos

Senior member
Jul 23, 2013
254
14
76
Thats false. Also Opterons are essentially dead for the same reason a few % marketshare left. And AMD is not even updating their server line with the SR cores. Instead they hope on ARM servers now.

It's as if you are saying that there is no workload where AMD CPUs have value for anyone and any people that have bought Opterons are plain idiots.
 

redzo

Senior member
Nov 21, 2007
547
5
81
It is a matter of use scenario. If they bought them cheap and for highly threaded workloads, then they're not idiots. It depends a lot from your use scenario. Sometimes you can't just trow more cores at one vm and expect perfect scaling(more performance). Most apps are highly dependent of single threaded performance. If the app doesn't feed the cores, computing efficiency goes to hell. That's where AMD looses big time ... and power consumption.

AMD may seem cheap but, in the long run, an intel based home server will pay for itself because of its lower power consumption. I made my decision based on this.
 
Last edited:

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
While it is true that the top-end Xeon will outperform the top-end Opteron in virtualization workloads, Opterons with the same price as Xeons perform better (always only talking about virtualization).
Will they? They made sense compared to Nehalem Xeons, and somewhat against SB Xeons, but each generation they're just that much farther behind.

For a virtual machine playground lab, where you might want something closer to non-over-comitted partitioning of a larger set of resources than you can afford, I could accept the argument, at least, since AMD's int subcores scale almost as well as if they were dedicated cores. But if the goal is to get work done as fast as possible, I don't think it makes sense to go that route.
 
Last edited:

EightySix Four

Diamond Member
Jul 17, 2004
5,122
52
91
Unless your're going to OC, I see no reason to opt for a K cpu. I don't even recommend OC in this type of scenario.

Because the K is cheaper than the non-K and I am not losing any features that impact me with the K.

You might want to consider an AMD cpu since VMs benefit greatly from many integer cores and AMD is also very cheap. In my mind, the best application for AMD CPUs is Virtual Machines.

In this particular workload I actually care about single threaded performance, so I will have to pass on the AMD stuff. I used to be a hardcore AMD guy (was even a mod at PlanetAMD64.com) but the performance isn't there.
 
Last edited:

imported_Thorburn

Junior Member
Jan 19, 2006
22
0
0
Having trouble justifying the extra cost to myself, especially with the compiling performance improvements that most benchmarks shows from Haswell. I know the extra cores will help, but more than double the money help?

Fair enough. Just thought it was worth mentioning as you asked about greater than 4 core Xeons in your original post and these would be more expensive than the i7-4930K again (and necessitate moving to the X79 platform as well.

I use VMware Workstation heavily for my development work and went for an 8-core Xeon (E5-2687W, SNB-E) and X79 as when I was building the system as I needed to be able to test 8-core performance scaling in VMs and 32GB+ of memory, but obviously that is a very expensive option.

As a curve ball, what about looking at the cost of a second hand i7-970 + X58 board, or i7-3930K and X79?
 

Fox5

Diamond Member
Jan 31, 2005
5,957
7
81
AMD got higher virtualization overhead, meaning slower performance for VMs. And looking on Xeons vs Opterons. Xeons easily outperform Opterons with twice the cores. And as said, power consumption.

This does depend on the software being used.

There's some ~2 year old benchmarks floating around that give AMD a much lower performance impact running virtualbox than intel gets. Having both a Phenom II and a Nehalem Xeon to play with, I can attest that the AMD system both feels faster and actually is faster with Virtualbox than the Nehalem system.

All other VM software (ie, Xen, Qemu, Vmware) seems to go in favor of Intel though.