A SQL Server Hardware Tidbit a Day – Day 26

For Day 26 of this series, I want to talk a little about laptop processor selection (since I get a lot of questions about it).  Many DBAs, Developers, and consultants use laptop computers as their primary workstations for working with SQL Server. Even more than an actual database server, you are pretty much stuck with the processor that you initially buy in a laptop (unless you are pretty brave and willing to do some major surgery on the laptop).

Having the “right” processor for your needs is very important in a laptop. Making the wrong choice could mean that you have a lot less processing power or a lot less battery life than you expect. Unfortunately, you cannot usually rely on the sales clerk at Best Buy to give you good advice about which processor to pick for your new laptop.

If you need a new laptop right now (April 2013) you want a 22nm Intel Ivy Bridge processor in your laptop. In most cases, I would recommend a Core i7 model, such as a Core i7-3840QM that has four-cores plus hyper-threading (assuming that you want a larger, desktop-replacement type of laptop). If you are looking at an Ultrabook form factor, you will be stuck with a low-voltage processor such as a Core i7-3537U processor, which has two-cores plus hyper-threading. The U suffix on the processor model number is the giveaway that you are looking at a low-voltage processor, which will give you better battery life but much lower performance.

If you can wait until early June 2013, you should start seeing new laptops with the 22nm Intel Haswell processor. Haswell will have about 5-10% better processor performance at the same clock-speed, but much better integrated graphics performance and much better battery life than Ivy Bridge.

For some comparison results, the Geekbench blog has a post with a number of results for some different models of the MacBook Pro. You can use this to get a rough idea of how much better an Ivy Bridge based machine (Mac or PC) will perform compared to various older processors.

Another important benefit you get with a new Intel Ivy Bridge machine is native 6Gbps SATA III support, which means that you can take advantage of the fastest 6Gbps SSDs. You will also get USB 3.0 ports, which are a huge improvement over USB 2.0 ports (which are usually limited to about 25-30MB/sec throughput).

A SQL Server Hardware Tidbit a Day – Day 25

For Day 24 of this series, I want to talk about the recent history of Dell rack-mounted servers, to help illustrate how processor performance and server capacity has dramatically improved over the past seven years.

Back in 2005-2006, you could buy a two-socket Dell PowerEdge 1850, with two hyper-threaded Intel Xeon “Irwindale” 3.2GHz processors and 16GB of RAM (with a total of four logical cores). This was fine for an application or web server, but it did not have the CPU horsepower (the 32-bit Geekbench score was about 2200) or memory capacity for a heavy duty database workload.

Around the same time, you could also buy a four-socket Dell PowerEdge 6850, with four dual-core, Intel Xeon 7040 “Paxville” 3.0GHz processors and 64GB of RAM (with a total of 16 logical cores with hyper-threading enabled). This was a much better choice for a database server because of the additional processor, memory, and I/O capacity compared to a PowerEdge 1850. Even so, its Geekbench score was only about 4400, which is pretty pathetic by today’s standards. Back in 2006-2007, it still made perfect sense to buy a four-socket database server for most database server workloads.

By late 2007, you could buy a two-socket Dell PowerEdge 1950, with two, quad-core Intel Xeon E5450 processors and 32GB of RAM (with a total of eight logical cores) and you would actually have a pretty powerful platform for a database server. A system like this would have a 32-bit Geekbench score of about 8000. The biggest weakness of this system was having only two x8 PCI-E 1.0 expansion slots.

By late 2008, you could buy a four-socket Dell PowerEdge R900, with four, six-core Intel Xeon X7460 processors and 256GB of RAM (with a total of of 24 logical cores). This was a very powerful , but costly platform for a database server, with a 32-bit Geekbench score of around 16500. There are still many of these model servers being used for production purposes, and while they sound impressive, that are actually a very bad choice for an upgrade to SQL Server 2012 because of their high physical core counts and low single-threaded performance. The Xeon X7460 was the last generation of Intel SMP processors, before the NUMA-capable Nehalem was introduced.

By early 2009, you could buy a two-socket Dell PowerEdge R710, with two, quad-core Intel Xeon X5570 processors, and 144GB of RAM (with a total of 16 logical cores) and you would have a very powerful database server platform. This system would have a 32-bit Geekbench score of around 15000. This would give you fairly close to the capacity of a four-socket R900, with better single-threaded performance.

By early 2010, you could buy that same Dell PowerEdge R710, with more powerful six-core Intel Xeon X5680 processors (with a total of 24 logical cores), and push the 32-bit Geekbench score to about 22500. This gives you quite a bit more CPU capacity than the PowerEdge R900 that you bought in late 2008. If you are concerned about 144GB of RAM not being enough memory in the R710, you could buy two R710s, and have nearly triple the CPU capacity of a single R900. This assumes that you can split your database workload between two database servers, by moving databases or doing things like vertical or horizontal partitioning of an existing large database.

Finally, by mid-2012, you could buy a 12th generation, Dell PowerEdge R720, with even faster eight-core Intel Xeon E5-2690 processors (with a total of 32 logical cores), which would push the 32-bit Geekbench score to about 29000.  The R720 has 24 memory slots, so you can have 384GB of RAM with 16GB DIMMs or 768 GB of RAM with more expensive 32GB DIMMs. You also get seven PCI-E 3.0 expansion slots, which gives you more potential I/O bandwidth than you can get with a four-socket server (since they are still using the older PCI-E 2.0 standard).

This gap will open up even more in Q3 of 2013, when the 12-core, 22nm Intel Xeon E5-2600 v2 series (Ivy Bridge-EP) processors are released. These will be pin-compatible with the current E5-2600 series, so they will work with current model servers (probably requiring a BIOS update). They should be available very quickly after Intel releases them.

This overall trend has been continuing over the past several years, with Intel introducing new processors in the two socket space roughly a year ahead of introducing a roughly equivalent new processor in the four socket space. This means that you will get much better single-threaded OLTP performance from a two-socket system than from a four-socket system of the same age (as long as your I/O subsystem is up to par).

Given the choice, I would rather have two, two-socket machines instead of one, four-socket machines in almost all cases. The only big exception would be a case where you absolutely need to have far more memory in a single server that you can get in a two socket machine (a Dell PowerEdge R720 can now go up to 768GB if you are willing to pay for 32GB DIMMs), and you are unable to do any re-engineering to split up your load between two servers.

If you want to dive deeper into this subject, you might want to listen to my latest Pluralsight course, which is SQL Server 2012:Evaluating and Sizing Hardware. You can also contact us if you are interested in expert hardware consulting as you get ready to upgrade your database hardware.

A SQL Server Hardware Tidbit a Day – Day 24

For Day 24 of this series, I want to talk a little about some things to consider as you make the decision whether to purchase a two-socket database server or a four- socket database server. Traditionally, it was very common to use a four-socket machine for most database server scenarios, while two-socket servers were most often used for web servers or application servers. With the advances in in new processors and the improvements in memory density of the past four to five years, you may want to reconsider that conventional wisdom.

Historically, two-socket database servers simply did not have enough processor capacity, memory capacity, or I/O capacity to handle many more demanding database workloads. Back in 2007, a two-socket server would typically have been limited to about eight processor cores, 32GB of RAM, and two or three PCI-E 1.0 or 2.0 expansion slots, which made it much more challenging to run a large database workload on a two-socket server in the past.

Processors have gotten far more powerful in the last few years, and memory density has gone up dramatically. Modern two-socket servers have 24 memory slots, which means that you can have 384GB of RAM with affordable 16GB DDR3 DIMMs or 768GB of RAM with more expensive 32GB DDR3 DIMMs. The price/GB of 32GB memory modules is still about $39/GB compared to about $13/GB for 16GB memory modules, but the prices for the larger modules has fallen 25% in the last two months.

It is also possible to get much more I/O capacity connected to a two-socket server than it was a few years ago. The latest generation, two-socket servers that use the Intel Xeon E5-2600 series processor can have six or seven PCI-E 3.0 expansion slots, that each have twice the bandwidth of the older PCI-E 2.0 standard.

Because of how the way that the Intel Tick-Tock processor release strategy works, two-socket servers get the latest processor microarchitectures and manufacturing process technology releases significantly sooner than when these same advances show up in the four-socket space. Right now, two-socket servers have the 32nm Sandy Bridge-EP, while four-socket servers are still using the older 32nm Westmere-EX that has higher core counts but lower single-threaded processor performance.

This performance gap will be even wider in Q3 of 2013, when the upcoming 22nm 12-core Ivy Bridge-EP is released. Four-socket servers will finally get caught up somewhat in Q4 of 2013, when the 22nm 15-core Ivy Bridge-EX is released but Ivy Bridge-EX  will still have higher core counts and lower single-threaded processor performance than Ivy Bridge-EP. The gap will open up again, probably in early 2015, when Haswell-EP is released.

The final reason to think about this issue is the cost of SQL Server 2012 core licenses. If you can run your workload on a two-socket server instead of a four-socket server, you can save over 50% on your SQL Server core-based license costs, which can be a very substantial savings! Even with SQL Server 2012 Standard Edition licenses, the license cost savings would pay for a very capable two-socket database server (exclusive of the I/O subsystem).