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:
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.
What's next?Shawn will cover scalability differences between 1vCPu and 2vCPU desktop environments.