Glenn’s Tech Insights For June 13, 2019

(Glenn’s Tech Insights… used to be part of our bi-weekly newsletter but we decided to make it a regular blog post instead so it can get more visibility. It covers interesting new hardware and software developments that are generally relevant for SQL Server).

AMD Announcements at the E3 Conference

On June 10, 2019 AMD President and CEO, Dr. Lisa Su delivered a presentation at the E3 Expo 2019 in Los Angeles. During this presentation, Dr. Su announced more architectural details about the 7nm Ryzen 3000 series mainstream desktop processors,including a new 16C/32T, Ryzen 9 3950X SKU. AMD also demoed the upcoming 7nm AMD EYPC “Rome” server processors, along with the upcoming 7nm AMD Radeon RX 5700 “Navi” video cards. The updated Ryzen 3000 SKU list is shown in Figure 1.

AMD Ryzen 3000 Series

Figure 1: AMD Ryzen 3000 Lineup

One of the more interesting bits of new information is the fact that AMD has been working closely with Microsoft to develop improvements to how scheduling and thread allocation is handled on AMD Zen2 architecture processors on Windows 10 Build 1903. They are moving from a hybrid thread expansion strategy (where active cores are placed as far away from each other as possible) to thread grouping, where new threads are allocated  as close as possible to already active cores, hopefully on the same CCX. This improves thread to thread communication by speeding up memory access. This is designed to improve the apparent scheduling issues seen on Windows with some AMD Zen processors. You will need an updated AMD chipset driver to get this improvement.

It is not yet clear how well this will work on more heavily threaded workloads like you typically see on a database server. I am also not yet 100% certain that this fix is in Windows Server 2016 and Windows Server 2019 yet. The upcoming AMD EPYC “Rome” processors use the same Zen 2 architecture, so it is possible they will benefit from this change with some workloads.

Figure 2: Topology Awareness

Another Windows 10 Build 1903 improvement that will definitely help AMD Zen architecture processors is a feature that AMD calls faster clock ramping. It is actually UEFI Collaborative Power Performance Control 2 (CPPC2), which lets the processor and operating system cooperate more closely (and quickly) to increase the clock speed of individual cores more rapidly under a load. This feature moves P-state control from the OS to the processor, so the processor can “throttle up” much more quickly than before. AMD is claiming a clock ramp time of 1-2ms with this improvement compared to about 30ms before. This will also require a UEFI/BIOS update and a new AMD chipset driver before it will work.

This feature is very similar to Intel Speed Shift, which was introduced with their Skylake processors, and improved with Kaby Lake. Intel Speed Shift requires Windows 10 v10586 or Windows Server 2016 or newer. Intel Speed Shift takes 15-30ms to ramp up, so it is not as responsive as AMD’s implementation. AMD also revealed that the Zen 2 architecture processors will have hardware level mitigations for Spectre and Spectre v4. Keep in mind that AMD processors are not vulnerable to Meltdown, or newer exploits such as Foreshadow or Zombieload.

These architectural improvements in the Zen 2 architecture will also show up in the upcoming (Q3 2019) 7nm AMD EPYC “Rome” server processors, which is very exciting from a SQL Server perspective.

Glenn’s Tech Insights For May 28, 2019

(Glenn’s Tech Insights… used to be part of our bi-weekly newsletter but we decided to make it a regular blog post instead so it can get more visibility. It covers interesting new hardware and software developments that are generally relevant for SQL Server).

AMD Computex 2019 Announcements

On May 27, 2019, AMD President and CEO, Dr. Lisa Su delivered the opening keynote at Computex 2019 Taipei. During this keynote, Dr. Su announced more details about the 7nm Ryzen 3000 series mainstream desktop processors, 7nm AMD EYPC “Rome” server processors, 7nm AMD Radeon RX 5700 “Navi” video cards and the upcoming X570 chipset motherboards.

AMD is claiming a 15% IPC improvement, a 2X L3 cache size increase, and a 2X floating point performance improvement over the Ryzen 2000 series. AMD revealed some fairly detailed specifications and pricing for some of the Ryzen 3000 series processors, as shown in Figure 1.

Ryzen 3000

Figure 1: AMD Ryzen 3000 Series Processors

AMD ran some Cinebench R20 and Blender demonstrations on stage comparing Ryzen 3000 series processors to various Intel mainstream desktop and HEDT processors. If these demonstrations are accurate (and we won’t know for sure until the various hardware enthusiast sites and respected YouTube hardware reviewers do independent testing), then AMD should have an amazing, game-changing product. They will have better single-threaded CPU performance, better multi-threaded CPU performance, PCIe 4.0 support, and lower prices than equivalent current Intel processors.

Just in case 12C/24T isn’t enough, there are many reports from good sources that there will be a 16C/32T SKU that will be released later this year. The Ryzen 3000 processors are due to be on store shelves on July 7, 2019.

3rd Gen Ryzen Performance

Figure 2: AMD Ryzen 3000 Performance Comparisons

There was also a quick AMD EPYC “Rome” demonstration, comparing a two-socket AMD EPYC “Rome” system to a two-socket Intel Xeon Platinum 8280M system, where the AMD system had more than twice the performance. This isn’t a huge surprise, since the AMD system had 64C/128T processors vs. 28C/56T processors for the Intel system. We still don’t know the detailed specifications for the  7nm “Rome” processors, but if they show similar IPC improvements to the AMD Ryzen 3000 series desktop processors (they both use the same Zen 2 architecture), it will be very impressive.  Forrest Norrod, AMD’s SVP and GM of the Datacenter and Embedded Solutions Group, confirmed a Q3 2019 Release Date for “Rome” during the keynote.

Here are some relevant YouTube videos:

AMD R9 3900X, 3800X, 3700X Specs & Price: 16-Core Held Back for Now (& RX 5700 GPU)

3rd Gen AMD Ryzen 5, 7 & 9 Announced… It’s Official, Intel’s Screwed

AMD’s $500 12-Core Ryzen 9 3900X CONFIRMED! Computex 2019 Keynote Recap

I need to buy AMD stock. NOW.

Gigabyte X570 Master VRM & PCB Analysis | Efficiency Estimations

Corsair Force Series MP600 SSD PCIe 4.0

Corsair announced a new Force Series MP600 PCIe 4.0 M.2 SSD at Computex 2019. If you have this drive in a PCIe 4.0 system, you will get up to 4,950 MB/s of sequential read performance and 4,240 MB/s of sequential write performance. That is pretty impressive, but it is not close to what a PCIe 4.0 x4 M.2 socket can deliver, which would be nearly 8 GB/sec. Apparently, the Psison PS5016-E16 controller is the bottleneck, keeping the drive limited to about 5GB/sec on reads.

The large heatsink means this won’t fit in your laptop! Actually, because PCIe 4.0 uses significantly more power than PCIe 3.0, I don’t think we will be seeing PCIe 4.0 support in laptops for a while. That large heatsink should help reduce thermal throttling of the drive in desktop systems.


Figure 3: Corsair Force Series MP600 SSD

This is one of the first announced PCIe 4.0 drives in the consumer space. There are no details yet about capacity, pricing, or availability.

Glenn’s Tech Insights For May 15, 2019

(Glenn’s Tech Insights… used to be part of our bi-weekly newsletter but we decided to make it a regular blog post instead so it can get more visibility. It covers interesting new hardware and software developments that are generally relevant for SQL Server).

Microarchitectural Data Sampling in Intel Processors

On May 14, 2019, news broke that a new series of speculative execution side-channel flaws are present in most existing Intel mobile, desktop, and server processors. These newly announced exploits are detailed in this advisory from Intel. Jon Masters from Red Hat has a pretty detailed explanation of these vulnerabilities here.  Here are the four CVEs:

CVE-2018-12126 Microarchitectural Store Buffer Data Sampling (MSBDS)

CVE-2018-12127 Microarchitectural Load Port Data Sampling (MLPDS)

CVE-2018-12130 Microarchitectural Fill Buffer Data Sampling (MFBDS)

CVE-2019-11091 Microarchitectural Data Sampling Uncacheable Memory (MDSUM)

For affected Intel processors, you will need OS patches plus microcode updates (BIOS updates) from your hardware vendor. You may want to consider disabling hyper-threading on affected processors. Microsoft has updated their guidance on this subject here:

SQL Server guidance to protect against Spectre, Meltdown and Micro-architectural Data Sampling vulnerabilities

Intel has a deep dive on this subject here:

Deep Dive: Intel Analysis of Microarchitectural Data Sampling

Microsoft has already released an updated PowerShell script that you can use to check your current OS and hardware status regarding these exploits. This article walks you through how to download the PowerShell script and run it to check your patching status:

How to test MDS (Zombieload) patch status on Windows systems

Figure 1 shows the results on my AMD Threadripper 2950X system (which is intrinsically less vulnerable to these types of attacks). This is after I patched Windows 10 yesterday.


Figure 1: Get-SpeculationControlSettings Results

BTW, the SQL Server 2017 security update for SSAS that was released on May 14, 2019 is for a completely different issue.

AMD Ryzen 3000 Series Speculation

As Computex Taipei 2019 gets closer (May 27), there are an increasing number of leaks and rumors about the exact specifications and features of the upcoming AMD Ryzen 3000 series desktop processors. This family of 7nm mainstream desktop processors will supposedly have SKUs starting with 6C/12T, going up to 16C/32T. Ryzen 3000 series processors will also have PCIe Gen 4.0 support. These processors are supposed to work in most existing 300 and 400 series AM4 socket motherboards. There will also be new 500 series motherboards that will offer additional features.

See the source image

Figure 2: 2019 AMD Client Lineup

The main unknowns at this point are the exact specifications in terms of base and max boost speeds and how much instructions per clock (IPC) improvement we will see compared to the existing AMD Ryzen 2000 series processors. Depending on what the answers to these are, we may see these processors actually having better single-threaded CPU performance compared to Intel. If that happens, it will further establish AMD as a viable competitor to Intel from nearly every perspective in this market segment. This would be great for the consumer.

Here are some videos that cover the latest rumors and leaks:

The Full Nerd ep. 93: AMD Ryzen 3000 and Radeon Navi rumors, Computex predictions, Q&A

AMD Ryzen 3000 16c specs LEAKED, RX 600 series, Nvidia SUED | Awesome Hardware #0187-A

HW News – Intel Shortage Ending, Ryzen 9 16-Core, & AMD Supercomputer

You might be thinking that this is interesting, but what does it have to do with SQL Server? If the Ryzen 3000 series performs as expected, and is successful in the marketplace, it will be a good precursor to the upcoming 7nm AMD EPYC “Rome” server processors. It will give us some hint about the IPC and clock speed increases that we can expect from the Zen 2 architecture. We should also get much more detail about the Rome processors at Computex.