If you have read my SQL Server Hardware book, watched my Understanding Server Hardware course on Pluralsight or ever heard me speak at a conference, you are probably aware of my very strong advocacy for modern, two-socket Intel-based database servers for many database server workloads. I make this argument because of the excellent single-threaded processor performance, high memory density, and high I/O capacity possible from the latest two-socket servers that are available from all of the major hardware vendors. Because of the much higher sales volume in the two-socket server space (compared to the four-socket and above space), Intel refreshes their two-socket capable processors much more frequently than the processors for higher socket count systems.
Since 2006, Intel has been using a Tick-Tock release model for their processors. What this means is that every two years, they have a Tock release that uses a completely new microarchitecture, which is followed a year later by a Tick release that has a manufacturing process technology shrink, but uses the same microarchitecture as the previous Tock release. Using a smaller process technology typically allows the processor to use less energy and have slightly better performance than the previous Tock release, but the performance jump is not nearly as great as you get with a Tock release. Tick releases are usually pin-compatible with the previous Tock release, so that lets the hardware systems vendors start using the Tick release processor in their existing models much more quickly, usually with just a BIOS update.
Table 1 shows the Tick-Tock release cadence for Intel processors from 2008 through 2016. The dates are obviously more speculative as we go further into the future, since Intel may decide to slow down their release cycle if AMD is unable to give them more viable competition in the next few years.
Year | Type | Process | Code Name |
2008 | Tock | 45nm | Nehalem |
2010 | Tick | 32nm | Westmere |
2011 | Tock | 32nm | Sandy Bridge |
2012 | Tick | 22nm | Ivy Bridge |
2013 | Tock | 22nm | Haswell |
2014 | Tick | 14nm | Rockwell |
2015 | Tock | 14nm | Skylake |
2016 | Tick | 10nm | Skymont |
Table 1: Tick-Tock Release Listing
Figure 1 shows how the Tick-Tock model works, with the Tock release (in blue) using the existing manufacturing process technology, while the Tick release (in orange) moves to a new, smaller manufacturing process technology. New Intel processors are first released for the desktop market, and then for the mobile market, followed later by the single-socket server market, the two-socket server market and finally the four-socket server (and above) market coming last. The four-socket server server market does not always get every release because of the lower sales volume and slower release cycle. This explains why there has not been a Sandy Bridge-EX release for the four-socket market.
Figure 1: Tick-Tock Model
As you can see from Table 1 and Figure 1, Sandy Bridge is a Tock release that came after the Westmere Tick release. The Xeon E5 product family is Sandy Bridge-EP, which is a newer microarchitecture compared to the Xeon E7 product family, which is Westmere-EX. This difference is very important for SQL Server 2012 core-based licensing purposes! Sandy Bridge has significantly better single-threaded performance compared to Westmere and it also has lower physical core counts. Sandy Bridge-EP is available for both two-socket and four-socket servers, while Westmere-EX is available for two-socket, four-socket, and eight-socket servers.
Currently, we have the Intel Xeon E5-2600 product family (Sandy Bridge-EP) for the two-socket space, the Intel Xeon E5-4600 product family (Sandy Bridge-EP) for the four-socket space, along with the older Intel Xeon E7-2800 product family (Westmere-EX) for the two-socket space, the Intel Xeon E7-4800 product family (Westmere-EX) for the four-socket space, and the Intel Xeon E7-8800 product family (Westmere-EX) for the eight-socket space. The Intel Xeon E7 family was released in Q2 2011, the Xeon E5-2600 family was released in Q1 2012, and the Xeon E5-4600 family was released in Q2 2012. On November 5, 2012, Fujitsu published a new TPC-E OLTP benchmark result for a four-socket, Intel Xeon E5-4650 PRIMERGY RX500 S7 system with a score of 2651.27. This is the first published TPC-E result for the newer, four-socket capable Intel Xeon E5-4600 series, so I think it merits some comparison and discussion.
Table 2 shows the TPC-E scores for five systems that use the the five different Sandy Bridge and Westmere processors that I have been discussing so far. It shows that the two-socket Xeon E5-2690 system has the best single-threaded performance, (when you divide the raw score by the number of physical cores) and that the four-socket Xeon E5-4650 system comes in second place. We also see that the scaling goes down quite a bit as we move from two sockets to four sockets with the Xeon E5 family. If we had perfectly linear scaling, you would expect a four-socket system to have twice the score of a two-socket system that was using the same processor, which is not the case here. Part of this can be attributed to the clock speed difference between the 2.9GHz Xeon E5-2690 and the 2.7GHz Xeon E5-4650.
We can also see that the Intel Xeon E5 family does quite a bit better on TPC-E than the Intel Xeon E7 family does, which is no surprise, since we are comparing the newer Sandy Bridge-EP to the older Westmere-EX. From a performance perspective, the two-socket Xeon E5-2690 does much better than the two-socket Xeon E7-2870. In my opinion, you really should not be using the two-socket Xeon E7-2870 for SQL Server 2012 because of its lower single-threaded performance and higher physical core counts (which means a higher SQL Server 2012 licensing cost).
The four-socket Xeon E7-4870 system has a higher raw score than the four-socket E5-4650 system, but it has 40 physical cores compared to 32 physical cores, which means it will cost significantly more for for SQL Server 2012 core licenses, while it will have lower single-threaded performance. Again, I would prefer a Xeon E5-4650 based system over a Xeon E7-4870 based system for an OLTP workload. You can also see that scaling takes a pretty big hit when you go from four-socket systems to eight-socket systems, even though these are all NUMA-based systems here.
System | Sockets | Total Cores | Processor Model | TPC-E Score | TPC-E Score/Core |
Fujitsu PRIMERGY RX300 S7 | 2 | 16 | Intel Xeon E5-2690 | 1871.81 | 116.99 |
Fujitsu PRIMERGY RX500 S7 | 4 | 32 | Intel Xeon E5-4650 | 2651.27 | 82.85 |
IBM System x3690 X5 | 2 | 20 | Intel Xeon E7-2870 | 1560.70 | 78.04 |
IBM System x3850 X5 | 4 | 40 | Intel Xeon E7-4870 | 2862.61 | 71.57 |
NEC Express5800/A1080a-E | 8 | 80 | Intel Xeon E7-8870 | 4614.22 | 57.68 |
Table 2: TPC-E Score Comparisons for Selected Intel Processors
System | Sockets | Total Cores | Processor Model | TPC-E Score | SQL 2012 License Cost | Cost/TPC-E |
Fujitsu PRIMERGY RX300 S7 | 2 | 16 | Intel Xeon E5-2690 | 1871.81 | $109,984 | $57.76/TPC-E |
Fujitsu PRIMERGY RX500 S7 | 4 | 32 | Intel Xeon E5-4650 | 2651.27 | $219,968 | $82.97/TPC-E |
IBM System x3690 X5 | 2 | 20 | Intel Xeon E7-2870 | 1560.70 | $137,480 | $88.09/TPC-E |
IBM System x3850 X5 | 4 | 40 | Intel Xeon E7-4870 | 2862.61 | $274,960 | $96.05/TPC-E |
NEC Express5800/A1080a-E | 8 | 80 | Intel Xeon E7-8870 | 4614.22 | $549,920 | $119.18/TPC-E |
Table 3: SQL Server 2012 Enterprise Edition License Cost Comparisons by TPC-E Score
Table 3 shows the same five systems with the SQL Server 2012 Enterprise Edition license cost information added. This shows that a two-socket system with Xeon E5-2690 processors gives you the lowest licensing cost per TPC-E score, while Table 2 shows that it also gives you the best TPC-E score per physical processor core. Unless you must have more than 384GB of RAM (with affordable 16GB DIMMs) or more than 768GB of RAM (with much more expensive 32GB DIMMs), there are not too many reasons to go with a higher core-count system for an OLTP workload.
One possible reason is that you are concerned that a two-socket Xeon E5-2690 system simply cannot handle your total database workload. Two processors with a total of 16 physical cores is simply not enough computing capacity for your workload. Depending on the magnitude of your workload, that may be true. If you are currently running a four-socket or larger system that is more than a couple of years old, that may not be true. Bigger systems are not faster systems, and the total load capacity of two socket systems has increased dramatically in the last year with Sandy Bridge-EP. If you are convinced that a two-socket Xeon E5-2690 cannot handle your workload, I would look at a four-socket Xeon E5-4650 system, which also lets you go up to 1.5TB of RAM with 32GB DIMMs. Keep in mind that both Xeon E5-2690 and Xeon E5-4650 systems have PCI-E 3.0 support, which gives you twice the I/O bandwidth of the older PCI-E 2.0 standard found in Westmere-EX servers.
If all of this has made your head hurt, you can always contact us for some deeper hardware consulting!
5 thoughts on “Deciding What Processor to Choose for SQL Server 2012”
Thanks for the post. We seem to have made the right choice. Might be missing DELL here.
It’s been 1 year and I’d like your opinion on some recently released processors, when going for a small number of licenses.
Been doing some research and got to this:
For 8 core licensing, two E5-2637 v2 processors seems to be outstanding.
For 12 core, this family still looks very good – two E5-2643 v2 processors.
With an eye on Hekaton, their 768GB max memory size (384GB using cost effective 16 GB memories), still makes them look good for not so big databases (up to few hundred GBs).
Thanks for your great posts
The E5-2637 v2 is an excellent choice when you want the lowest possible physical core count and highest base and turbo clock speed.
This blog post from six weeks ago lists the five best Xeon E5-2600 v2 family processors:
http://sqlserverperformance.wordpress.com/2013/09/17/selecting-an-appropriate-intel-xeon-e5-2600-v2-family-processor-for-sql-server-2012/