VDI “The Missing Questions” #4: How much SPECint is enough

In the first few posts in this series, we have hopefully shown that not all cores are created equal and that not all GHz are created equal. This generates challenges when comparing two CPUs within a processor family and even greater challenges when comparing CPUs from different processor families. If you read a blog or a study that showed 175 desktops on a blade with dual E7-2870 processor, how many desktops can you expect from the E7-2803 processor? Or an E5 processor? Our assertion is that SPECint is a reasonable metric for predicting VDI density, and in this blog I intend to show you how much SPECint is enough [for the workload we tested].

You are here. As a quick recap, this is a series of blogs covering the topic of VDI, and here are the posts in this series:

Addition and subtraction versus multiplication and division. Shawn already explained the concept of SPEC in question 2, so I won’t repeat it. You’ve probably noticed that Shawn talked about “blended” SPEC whereas I’m covering SPECint (integer). As it turns out, the majority of task workers really exercise the integer portion of a processor rather than the floating point portion of a processor. Therefore, I’ll focus on SPECint in this post. If you know more about your users’ workload, you can skew your emphasis more or less towards SPECint or SPECfp and create your own blend.

The method to the madness. Let me take you on a short mathematical journey using the figure below. Starting at the top, we know each E5-2665 processor has a SPECint of 305. It doesn’t matter how many cores it has or how fast those cores are clocked. It has a SPECint score of 305 (as compared to 187.5 for the E5-2643 processor). Continuing down the figure below, each blade we tested had two processors, so the E5-2665 based blade has a SPECint of 2 x 305… or 610. The E5-2665 blade has a much higher SPECint of 610 than the E5-2643 blade with just 375. And it produced many more desktops as you can see from the graph embedded in the figure (the graph should look familiar to you from the first “question” in this series).

And now comes the simple math to get the SPECint requirement for each virtual desktop in each test system:

610 SPECint / 130 Desktops = 4.69

375 SPECint / 81 Desktops = 4.63

Rinse and repeat. Rather than walk through that logic and math for all four of the tests we ran, I summarized the results for you in the following figure. It shows the SPECint (technically the SPEC CPU2006 CINT2006 rate) required for each virtual desktop.

Essentially, we have TOTAL SPECint divided by NUMBER OF DESKTOPS. Simple, right? Does it mean anything? There are several noteworthy observations from this data:

In three of the four comparisons, the E5-2665 and E5-2643 SPECint/VM were very similar, implying that SPECint is a good indicator for the expected virtual desktop density. In other words, a processor with a SPECint of 187.5 (like the E5-2643) can be expected to host roughly 60% as many desktops as a processor with a SPECint of 305 (like the E5-2665). And that is exactly what our testing showed!

The lowest SPECint/VM requirement was achieved by both processors in the 1vCPU/1600MHz test, implying that this scenario represents the VDI “sweet spot” for these two processors. Translation: you can expect the best density at 1vCPU per desktop and a memory bus running at full speed.

The smallest difference between these two processors was seen in the 1vCPU/1600MHz test.

The 2vCPU tests definitely required substantially more SPECint/VM for the same simulated workload profile. It’s not twice as much, but it’s definitely more. What is going on with those 2vCPU desktops? That topic will be covered in more detail in later posts but it’s an important difference to note in the above chart.

What were we talking about? This blog set out to answer the question of how much SPECint is enough. The answer is, of course, that it depends on the workload and it depends somewhat on the memory bus speed. The most common use case is 1vCPU per virtual desktop on a system running the full 1600Mhz bus speed, and the result is 4.6-4.7 SPECint per desktop in that environment regardless of core count or clock speed. It is probably worth repeating: that result was independent of core count and clock speed. That means the SPECint is a good way to normalize expected desktop density. An increase in vCPU count or a decrease in memory bus speed will lead to a higher SPECint requirement, but 4.6-4.7 is a great place to start.

Some of the individuals posting to this site, including the moderators, work for Cisco Systems. Opinions expressed here and in any corresponding comments are the personal opinions of the original authors, not of Cisco. The content is provided for informational purposes only and is not meant to be an endorsement or representation by Cisco or any other party. This site is available to the public. No information you consider confidential should be posted to this site. By posting you agree to be solely responsible for the content of all information you contribute, link to, or otherwise upload to the Website and release Cisco from any liability related to your use of the Website. You also grant to Cisco a worldwide, perpetual, irrevocable, royalty-free and fully-paid, transferable (including rights to sublicense) right to exercise all copyright, publicity, and moral rights with respect to any original content you provide. The comments are moderated. Comments will appear as soon as they are approved by the moderator.