Intel Speed Shift Support in Windows Server 2016

If you are gathering evidence to help make the case for a complete data platform upgrade in 2017, you want to find as much information as possible to bolster your argument. This post is meant to assist you in your efforts.

By early-mid 2017, Windows Server 2016 will have been GA long enough to convince most skeptics that it is safe and stable. Windows Server 2016 has many tangible advantages over previous versions of Windows Server, which I will be discussing in future blog posts.

SQL Server 2016 already has its first Service Pack available, with many very valuable enhancements (especially for Standard Edition). Some people who are on older versions of SQL Server Enterprise Edition may be able to migrate to SQL Server 2016 Standard Edition SP1.

Finally, Intel is due to release the next generation two-socket server processor (which will require new model servers from the server vendors). One specific new improvement you will get with a new server/processor and Windows Server 2016 is called Intel Speed Shift.

Intel Speed Shift (which is different than the older Intel SpeedStep technology) was added in the Intel Skylake microarchitecture. It requires operating system support in order to work, and the first OS to enable Speed Shift was Windows 10, after an update in November 2015. This feature lets the OS give control of processor P-states back to the hardware, with P-state requests coming from the operating system. This lets the processor increase the clock speed of individual cores much more quickly in response to an OS request for more performance.

The upcoming Intel Xeon E5-2600 v5 processors (Skylake-EP) for two-socket servers are due to ship in mid-2017 (although rumor has it that they are already shipping to some cloud data center providers). I don’t know for sure whether Intel Skylake-EP will have Speed Shift like the mobile and desktop Skylake processors do, but it probably will. Supposedly, the flagship Xeon E5-2699 v5 will have 32 physical cores, even though you will likely want a lower core count model with a higher base clock speed in most cases, to minimize your SQL Server licensing costs.

Why this matters for SQL Server is that many short-duration OLTP queries might run a little faster with Speed Shift enabled. Legacy power management techniques on older processors can take up to 120ms to fully throttle up to full Turbo Boost clock speed, while Speed Shift does it in 35ms, with most of the frequency increase happening in 3-4ms.

Figure 1 shows an example of the difference in how quickly the processor can increase the clock speed with Speed Shift Technology.


Figure 1: Intel Speed Shift Technology Performance Example


If your operating system supports Intel Speed Shift (Windows 10 or Windows Server 2016) and if you have an Intel processor with Speed Shift Technology (Skylake or newer), then you will be able to get the performance benefits of Intel Speed Shift with virtually no effort beyond perhaps changing a BIOS/UEFI setting on your server. Figures 2 and 3 have some more information about how Intel Speed Shift works.


Figure 2: Intel Speed Shift Technology Introduction


Image result for intel speed shift

Figure 3: Intel Speed Shift Technology Details


Over the past year, there has been a decent amount of information regarding Intel Speed Shift support in Windows 10, but nothing regarding Windows Server 2016. Part of the problem here is that we already have Skylake processors available in the mobile and desktop space, and in the single-socket server space, but not on the higher socket count server platforms.

Just as a quick experiment, I installed Windows Server 2016 Standard Edition on a brand new HP Spectre X360 laptop that has an Intel Core i7-7500U Kaby Lake-U processor, to see if Intel Speed Shift would be enabled or not. As you can see in Figure 4, the green SST lettering in the Features box on the left side of the System Summary screen in HWiNFO64 shows that Intel Speed Shift is enabled in Windows Server 2016, at least for this processor (which is the next release after Skylake).



Figure 4: Intel Speed Shift Enabled on Windows Server 2016 Standard Edition


Now, this is not definitive proof that Intel Speed Shift will be enabled with two-socket Skylake-EP processors, but I would say the chances are pretty good (especially given some conversations I have had with some people who actually know the answer)…

The outstanding question is how much will this actually help SQL Server performance? At this point, we simply don’t know, without actually doing some testing. Based on some reading I have been doing about Windows 10, I believe there is a way to temporarily disable Intel Speed Shift in Windows 10. Once I figure that out, it should not be that difficult to do some initial testing with short duration queries (150 ms or less) to see if they have lower average durations when Intel Speed Shift is enabled or not.

There are many other variables to consider regarding your workload and configuration that will likely affect the results in real production usage, but I expect there will be some positive benefit from this feature. As I like to say in presentations, nobody has ever told me that their database server is “too fast”, so I will take any performance improvement that I can find!



Interesting Upcoming Intel Processors

There has been quite a bit of leaked news and rumors about several future Intel processor families over the past couple of weeks, from what I consider to be pretty reliable sources. I’ll start out with the desktop and mobile processors and then move to the server processors.

Right now, it is a little unclear when the 14nm Intel Broadwell desktop processors will be released. These are a Tick release, built on the current Haswell microarchitecture, that was originally supposed to come out in late 2014. There were stories of early yield problems with the 14nm manufacturing process that caused Intel to delay the release in the desktop space. Low-power, mobile Broadwell processors have been available for several months now. The Core i7 Broadwell-U was released in Q1 of 2015, and these are typically used in high-end Ultrabooks, even through they only have two physical cores (plus hyperthreading).

My guess is that we might see higher power, mobile Broadwell-H and desktop Broadwell-S processors in the June-July 2015 timeframe. These will be compatible with the existing desktop LGA1150 socket and Z97 chipset motherboards that Haswell and Haswell Refresh processors used. The rumored models include the Core i7-5775C and Core i5-5675C. Personally, I plan on skipping Broadwell on the desktop, and waiting for Skylake.

Also in the mobile and desktop space (which is a useful preview of upcoming server processor families), there is news of the upcoming 14nm Skylake family being released in the August-September 2015 timeframe. Skylake is a Tock release (meaning a new microarchitecture) that will require a new LGA-1151 socket and a new Z170 chipset for enthusiast desktop machines. Supposedly, the unlocked enthusiast Skylake-S desktop processors (Core i7-6700K and Core i5-6600K) will be released sometime in August 2015. These are supposed to have at least 10% better performance than the current Haswell Refresh “Devil’s Canyon” processors in that same segment (Core i7-4790K and Core i5-4690K), even though the new processors will have lower power consumption and slightly lower clock speeds.

The mainstream Skylake-H for laptops is due for release in September of 2015, so if you are thinking about a new laptop, you might want to wait a few months. I definitely plan on building at least one Skylake-S desktop, pretty much as soon as they are available.

In the server processor space, there is a lot of recent new information. Back on May 5, 2015, Intel announced the Xeon E7 v3 family (Haswell-EX) that I talked about here. Next out of the gate will be the Xeon E5-4600 v3 family (Haswell-EP for four-socket servers), probably in Q4 2015, which I don’t think will be a good choice for SQL Server usage. This is because of the relatively poor scaling that I have seen in benchmark results for the earlier E5-4600 family processors. If you need to have a four-socket database server, a modern Xeon E7 v3 is a much better choice.

A more interesting introduction will be the 14nm Xeon E5-2600 v4 family (Broadwell-EP for two-socket servers), which will probably show up in Q1 or Q2 of 2016. This will be a Tick release, building on the Haswell microarchitecture that will have up to 22 physical cores and DDR4 2400 support. This processor should work in existing model servers such as the Dell PowerEdge R730.

Later in 2016, we should see the 14nm Xeon E7-4800/8800 v4 family (Broadwell-EX for four and eight-socket servers) that will have up to 24 physical cores.

Finally, in 2017, we should see a new 14nm Skylake server CPU that may merge the E5 and E7 lines into a single family, with up to 28 physical cores that will be part of the Purley platform which is detailed here and in Figure 1 below.

As these new processor families are released, with ever higher physical core counts, I really hope that Intel continues to have lower core count, “frequency-optimized” SKUs, with higher clock speeds and much lower SQL Server license costs.


Figure 1: Intel Server Platform Roadmap