Back in January, I wrote Selecting a Processor for SQL Server 2014 – Part 1. Now, with the recent announcement of a General Availability (GA) date of April 1, 2014 for SQL Server 2014, it is time to cover part two of this series.
Four-Socket Servers
The big news since January is the release of the new 22nm Intel Xeon E7-4800 v2 Product Family (Ivy Bridge-EX) processors on February 16, 2014. Currently, there are eight different processors in this product family. If you think about how SQL Server 2014 core-based licensing works, and you want the best performance possible for the lowest license cost, you can pretty quickly narrow down that list to just three interesting processors for SQL Server. These are the fifteen-core Xeon E7-4890 v2, the twelve-core Xeon E7-4860 v2, and the ten-core Xeon E7-4830 v2. Table 1 shows some of the relevant specifications for these three processors.
Model | Cores | Base Speed | Turbo Speed | L3 Cache Size | Cost |
---|---|---|---|---|---|
E7-4890 v2 | 15 | 2.8GHz | 3.4GHz | 37.5MB | $6,619.00 |
E7-4860 v2 | 12 | 2.6GHz | 3.2GHz | 30MB | $3,838.00 |
E7-4830 v2 | 10 | 2.2GHz | 2.7GHz | 20MB | $2,059.00 |
Table 1: Recommended Xeon E7-4800 v2 Processor Models for SQL Server 2012/2014
Intel has two lower-cost, fifteen-core models in the family (the Xeon E7-4880 v2 and the Xeon E7-4870 v2), but both of these have pretty significant reductions in clock speed and/or L3 cache size. They also have a lower-cost twelve-core model (the Xeon E7-4850 v2) that has a significant reduction in clock speed and L3 cache size. Finally, there is a low-cost eight-core Xeon E7-4820 v2 and a low-cost six-core Xeon E7-4809 v2, which are both hobbled by very low clock speeds and relatively small L3 cache sizes.
For reasons known only to Intel, they do not have "frequency optimized," lower core count processors in the Xeon E7-4800 v2 Product Family. In fact they have just the opposite situation, since the base and turbo clock speeds drop off pretty dramatically as the core counts go down. The amount of shared L3 cache per physical core also goes down as the core counts get lower with this line of processors. This makes it much less feasible to purposely pick a lower core-count processor than it is with the Xeon E5-2600 v2 Product Family.
Since Microsoft does not care (for licensing purposes) whether you have a fast physical processor core or a slow physical processor core, you are best served from a performance and scalability perspective by getting the best physical processor core you can for a given physical core count processor. But what does this argument look like from a capital cost perspective? After all, we do have a responsibility to make sound business decisions as part of our selection process. There is a seemingly significant cost difference between these three processors, as shown in Table 2.
Model | Cores | Base Speed | Turbo Speed | L3 Cache Size | Cost |
---|---|---|---|---|---|
E7-4890 v2 | 15 | 2.8GHz | 3.4GHz | 37.5MB | $6,619.00 |
E7-4880 v2 | 15 | 2.5GHz | 3.1GHz | 37.5MB | $5,506.00 |
E7-4870 v2 | 15 | 2.3GHz | 2.9GHz | 30MB | $4,394.00 |
Table 2: Three Xeon E7 Processor Models Compared
Choosing the slower Xeon E7-4880 v2 processor instead of the E7-4890 v2 processor would save you $4,452.00 in a four-socket server (assuming the server vendor does not take a markup on the processors over Intel’s price). Choosing the even slower Xeon E7-4870 v2 processor instead of the E7-4890 v2 processor would save you $8,900.00 in a four-socket server. That seems like a lot of money, but if you look at the total cost of the server, including software license costs, it is actually pretty insignificant.
A fifteen-core processor in a four-socket server will require 60 total SQL Server 2014 Enterprise Edition core licenses that cost $6,874.00 each, for a total SQL Server license cost of $412,440.00. If you fill all 96 memory slots in this new four socket server with relatively affordable 16GB DDR3 DIMMs , you will spend about $18,432.00 on memory. If you were to get relatively pricey 32GB DIMMs, you would spend about $76,800.00 on 3TB of memory. You are also looking at perhaps $15-20K more in other fixed costs for this four-socket server, for the chassis, power supplies, HBAs, NICs, RAID controllers, OS licenses, etc. Saving $4,452.00-$8,900.00 on a roughly $500K purchase is not going to be significant to most organizations, especially when they understand how much performance and scalability they will be losing for such a small savings.
There is a recent TPC-E benchmark submission for a four-socket IBM System x3850 X6 system that has four Intel Xeon E7-4890 v2 processors that has an actual score of 5576.27 (which is also the highest TPC-E score ever). By doing some simple arithmetic, we can come up with some credible estimated TPC-E scores for the other two lower speed, fifteen-core processors.
I take the average difference in the base clock speed and the turbo clock speed for each processor, and multiply the actual TPC-E score for the E7-4890 v2 by that to come up with an initial estimate. So for example, multiplying 5576.27 times .906 gives a TPC-E estimate of 5052.10 for the E7-4880 v2 processor. Since the L3 cache is the same size between those two processors, we are done with the E7-4880 v2 processor.
We do the same thing for the slower E7-4870 v2 processor, so 5576.27 times .837 gives a TPC-E estimate of 4667.11. Since the shared L3 cache is significantly smaller in the E7-4870 v2 processor, I also subtract another 10% (which is just an educated guess), to come up with a final TPC-E estimate of 4200.40 for the E7-4870 v2 processor.
These simple calculations are only valid since these three processors are all from the same processor family and generation, with the same core count, and all of their other specifications are identical.
Model | TPC-E Score | Base Speed | Turbo Speed | L3 Cache/Core |
---|---|---|---|---|
E7-4890 v2 | 5576.27 | 100% | 100% | 2.5MB |
E7-4880 v2 | 5052.10 | 89.3% | 91.8% | 2.5MB |
E7-4870 v2 | 4200.40 | 82.1% | 85.3% | 2.0MB |
Table 3: Estimated TPC-E Scores for Three Xeon E7 Processors
As you can see from this exercise, you are giving up about 10% of your performance and scalability to save $4,452.00 on a roughly $500K investment if you choose the Xeon E7-4870 v2 processor instead of the Xeon E7-4890 v2 processor, meaning you are giving up 10% of your performance to save about 1% of the cost of the system. The picture is even worse if you include the I/O subsystem cost for a system like this.
Great! Thanks. Now waiting for part 3 of the serie: "Eight-socket servers". Really useful information, together with Pluralsight courses and more information I'm digging out from other sources.
On the Xeon E5 family, the Turbo Speed that Intel lists in its processor specifications is the maximum that a core could achieve, but on most processor families this requires that other cores be disabled. For example, on the Xeon E5-4650 v2, a 10-core processor with a 2.4 GHz (base) frequency and a 2.9 GHz Max Turbo Frequency, 2.9 GHz can only be achieved when 9 of the 10 cores are disabled. The maximum frequency that the E5-4650 v2 can achieve when all 10 cores are enabled is 2.7 GHz.
I don't know whether the same caveat applies to Xeon E7. Intel sometimes publishes this "maximum Turbo frequency with all core enabled" in a Specification Update after the processor launches, but I have not seen that info for either the v1 or v2 family of the E7-4800.
There is one "frequency optimized" part, the E7-8893v2, which is a 6-core, 3.4GHz base frequency part. That's not strictly part of the E7-4800v2 family, but it is supported on some 4-socket servers (including the Dell R920 and the HP DL580 Gen8).
Daniel,
I knew that at least some of the server vendors were going to allow you to use the E7-8800 v2 family processors in their new four-socket servers. With the Dell R920, you could select the 3.2GHz 10-core E7-8891 v2 or the 3.4GHz 6-core E7-8893 v2, depending on what your goals were.
Great post Glenn!
I especially like how you break this into hard dollars and cents, which is something the CIOs will understand.
Great, Thanks Gentelmens,
I have a question and i need your advices, Let's assume that we are moving to SQL server 2014. If we don't take in consideration the Licence Price (due to the choice of the Processors's type)
and for a 4 Socket Server (32 Cores Licences)
Which is the better choice
2 x Processor (16 Core)
OR
4 x Processor (8 Core)