Choosing between AMD and Intel for the Virtual Infrastructure
My ESXi v5 runs on a Mini-ITX Z68 motherboard with Intel Core i5 2500T (Quad core). I choose this because I wanted to have a silent (fanless) and low consumption box. The box runs quite well. The only thing that I regret is that I don’t have access to any sensors from the vSphere client. I was looking at the SuperMicro motherboards as they seem to provide IPMI.
The SuperMicro H8SCM-F looked really really nice. Micro ATX Form, integrated IPMI and KVM, support for up to 128GB of RAM and AMD Opteron 4000 Series ; the Opteron 4256 EE @2.5 GHz have 8 cores and a TDP of 35W! So I started to wonder how whould an Opteron 4256 EE (8 cores, 2,5GHz, 35W TDP) performs vs my Core i5 2500T (4 cores, 2,3GHz, 45W TDP). According to SPECfp2006 Rate Results, the AMD Opteron 4256 EE would have a baseline of 67 and the Intel Core i5-2500T would have a baseline of 87. A better comparison should be done with Opteron 3250 HE (4 cores, 2,5GHz, 45W TDP) which is ranked 52.
Then the big question raised: is it better to choose AMD or Intel for the virtual infrastructure. I recall reading than AMD processor were perfect for virtualization because they have more cores and use less power. But this was the marketing chat and was published a year ago. What I’m going to do here is try to understand how to compare processor in the case of hypervisor.
What to compare and how
There are lots of CPU benchmarks that can be used to compare a bunch of raw data. From my point of view, those results are somehow limited. Just because, in real life, processors don’t do a single thing at a time and at full power ; at least when virtualising servers. Most of the time, they have several things to do. And those things mostly differ from one time to another. In the server/virtualisation world; a hypervisor has to run VMs but also has to access network, storage, wait for data to flow in/out. Even the VMs itself don’t do the same things. Database VM don’t act the same way as Messaging system or File Server. This is why there is a need for some kind of applicative benchmark.
I’m a going to use two metrics sources:
- Scores from the Standard Performance Evaluation Corporation (SPEC) ;
- Scores from VMware VMmark.
You can read about those tools on their websites. But basically, SPEC will give me raw power comparison when VMmark will give applicative power comparison, in the particular case of virtualisation with VMware vSphere.
I choose systems referenced in VMware VMmark. Here’s the list of competitors I choose and why:
Those were the only reference with similar model using AMD or Intel. To be really fair, the systems would have to have the same amount of RAM, same socket number, same core number per socket and same hyper-threading feature. Unfortunately, I could not find such exact match.
In the VMware VMmark Benchmarking Guide, you will find the description of the 8 virtual machines composing a single tile. According to this, a tile is composed of 21 vCPU and 26.5GB of RAM. The rate defines how well the tiles performed (higher is better) and the number of tiles defined how much concurrent tiles could be run in parallel.
In the SPEC rate results, I looked for System Model and Processor type and refer to the “Baseline” value.
Here are the results:
Interpreting the results
At first sight, the Intel wins everything. Higher VMmark and concurrent tiles number, higher SPEC baseline.
At a second look, we can see that Intel server have twice the RAM than the AMD one. This can obviously help to run much more concurrent tiles. Looking at numbers, we can see that the Intel systems have 50% more RAM but “only” run 20% to 35% more tiles. We can also see that Intel systems ran from 0% to 3% more tiles than their RAM amount would allow (Total RAM vs Tile RAM) ; AMD systems ran from 26% to 40% more tiles.
Comparing the DL380 and DL385, from the CPU point of view. We see that the AMD CPU has a lower frequency than the Intel and both have the same number of threads available. But the AMD has “real” core threads whereas the Intel does Hyper-Threading, hence sharing it’s cores bus. Although the Xeon E5-2690 is 7% faster than the 6284 SE in frequency, it is from 22% to 25% faster in SPEC rates. The VMmark also show that the Intel CPU is 25% more powerfull than the AMD one. But the tiles number is “only” 20% better.
Comparing the DL580 and DL585, we can see that the AMD processor has a higher frequency. But it “only” provides 24 “real” threads where the Intel provides 40 thanks to the HT. The frequency difference is only 4% but the SPEC rates are from 15% to 31% higher in the Intel case. From the VMmaker point of view, the Intel CPU scores 41% better and runs 35% more tiles than the AMD processor. The final available threads is 40% higher with the HT Intel CPU.
A final interesting comparison is the DL585 G7 vs the DL380p. Both have the same amount of memory. The AMD CPU is slower but there are 2 of them so the system provides 24 threads ; the Intel is faster but only provides 16 threads. From a score point of view, the Intel beats the AMD both in VMmark and SPEC. This seem to ackowledge the ancient “Intel is better than AMD in raw calculation”. But when it comes to tile number, then AMD could run 13 when the Intel ran 10. That’s 23% more tiles for 33% more threads but 16% slower CPU frequency.
So now what?
As a conclusion, it seems the AMD processor better deals with less RAM running concurrent tiles. But all in all, no secrets, the higher the frequency is and/or the more threads you provide, the faster the processor is. It is quite disapointing not to have access to identical hardware on which I could just swap the processors ; those would have to have the same frequency and core numbers. In such case, I’d expect the Intel to get better SPEC rates but lower VMmark score. Or not…
As hardware changes really fast, I don’t think there is a real better CPU family. I guess the best bet is to compare CPU frequency, “real” available threads number, TDP (if you care about the rain forest) and price. If you have the money, check the Intel family ; if not, check the AMD family. If you really need calculation power, go to Intel ; if you’d rather need threading capacity, go to AMD. No matter which you choose, in 6 months, the other will (probably) have released same or better.