As we recently learned, there are four new hardware vulnerabilities that affect Intel processors. These new bugs allow attackers to lose sensitive data by exploiting microarchitectural data sampling (MDS) side-channel vulnerabilities, the most serious of which is probably "ZombieLoad".
In contrast to previous speculative execution errors, which partially affected AMD and arm-based processors, the MDS errors can only be found in Intel chips. In the short term, the only way to mitigate or mitigate these vulnerabilities is to disable concurrent multithreading (SMT), or, as Intel calls it, "hyper-threading."
Microsoft is currently releasing operating system level updates to address the four MDS vulnerabilities. You will receive this with this month's Windows 10 1903 update. However, this doesn't fully mitigate the problem as we need motherboard BIOS updates and Intel has reportedly released the new microcode to motherboard partners. However, at the time of writing, no new BIOS revisions were released to the public. We believe that we can test a worst-case scenario by disabling hyperthreading. For older platforms that are not upgraded, this may be the only solution.
With this in mind, today we're examining the impact of disabling hyper-threading on Intel processors that support this feature. We have done this in the past and it is an interesting test. However, there is a new critical incentive to review this data as Intel's latest vulnerability affects SMT.
We grabbed a Core i7-8700K and 7700K and tested them in a number of games and applications with and without hyper-threading enabled. We haven't looked at the i9-9900K because it's an 8-core part, so the missing threads are not a problem for gaming performance, although this still negatively affects application performance and should be consistent what we see from the 8700K and 7700K.
With more time (we are close to Computex 2019, so pay attention to our reporting), we would like to have tested some Intel Core CPUs with dual-core hyper-threading, as the effects will undoubtedly be brutal there. Although we have some older data, we can fall back on it.
We ran all tests with Windows 10 Build 1903 and equipped the rigs with 32 GB DDR4-3200 memory and a GeForce RTX 2080 Ti to reduce GPU bottlenecks. Gaming benchmarks were run at both 1080p and 1440p, although we'll start with application benchmarks first.
First we have Cinebench R20 results and when we look at the Core i7-8700K we see a 24% reduction in performance when hyper-threading is disabled. Of course, such a drop in performance does not go unnoticed. In terms of performance, we're essentially turning the 8700K into a 7700K, which is a fairly old downgrade.
Meanwhile, with Hyper Threading disabled, the 7700K slows 26%, and now we have a simple old quad-core or a Core i5 from the Kaby Lake generation. In applications where all cores are heavily used, disabling SMT / Hyper-Threading has a big impact on performance.
WinRAR sees a massive 36% reduction in throughput for the 8700K. Obviously, hyperthreading works very well for this type of workload. We also see a massive drop in the 7700K, which in this case corresponds to a 39% reduction.
Corona is a high-performance renderer, and here the 8700K saw a 31% drop in performance when hyper-threading was disabled, while the 7700K saw a similar drop in performance of 33%. In both cases, the performance degradation is significant, indicating that rendering and encoding tasks can experience significant performance degradation depending on how the updates work to mitigate the errors.
Blender sees a smaller decrease of 25% in the 8700K with hyper-threading disabled, which is closer to what we saw on Cinebench R20, although it is still significant. The 7700K with fewer cores suffers a little more and here we see a performance reduction of 29%.
Before we start playing, we wanted to note the total system power consumption. Admittedly, we do not consider the consumption of individual processors, so it is difficult to assess the efficiency. However, as you can see, disabling hyper-threading on the 8700K doesn't save much power in this test, as the overall system is reduced by ~ 5% in use. The 7700K was better used with HT enabled, and we saw an 11% reduction here, which is more likely to be the drop in performance that we saw.
In first place are 1080p results for Assassins Creed Odyssey. Here, the 8700K only saw a 13% reduction in the average frame rate and no change in the 1% low. The 7700K, on the other hand, with its fewer cores, saw a massive reduction in both the average frame rate and 1% lower results. Here we saw a drop of 23% for the average frame rate and 21% for the 1% low. Those with quad-core processors will be significantly more affected by a reduction in hyper-threading performance.
If you are now primarily bound to a GPU, the 8700K will also work with deactivated Hyper-Threading, as we can see at 1440p, also with an RTX 2080 Ti. Those with quad cores and God forbids dual cores, any reduction in hyper Threading efficiency will sting.
Battlefield V is a very CPU-intensive title, although for this content we only had time to test the single player part of the game, and even then, thanks to the wonderful hardware change lock, we needed two Origin accounts. If we look at the topic, we don't see a big drop in performance here. The biggest drop was up to 12% when you consider the low margins of 1% for the 7700K.
Increasing the resolution to 1440p didn't help with the 1% slow performance, and we see that disabling hyper-threading in both cases degrades performance, although the gap isn't as big as Saw's productivity workloads.
Division 2 results are brutal. Check out the drop in performance of the 7700K with Hyper Threading disabled. The average frame rate is reduced by 37% and the low result by 1% by 38%, similar to WinRAR.
The impact on the performance of the 6-core 8700K isn't nearly as extreme, but still, a 1% drop in performance by 13% is not appreciated by most players. The switch to 1440p and now to 8700K is not the performance-limiting component, even with deactivated Hyper-Threading, but the RTX 2080 Ti. However, with a low performance of 1%, we still see a reduction of 32% for the 7700K.
A little side note. Far Cry New Dawn plays better on the 9700K than on the 8700K. The 9700K enables an average of ~ 120 fps at 1080p. We address this because when disabling hyper-threading, the 8700K matches the 9700K in this test. Therefore, 6-cores / 6-threads in this title are basically more efficient than 6-cores with 12-threads, and you'll see that quite a bit with games testing SMT.
However, the 7700K, with its fewer cores, doesn't have the same problem with hyper-threading enabled, although it was still a bit faster with the system disabled. At least for this game without hyper-threading, this is not a problem and will likely be an advantage, but not if you have a dual core.
If we switch to 1440p, we can see that the number of cores is not a problem here. It's actually hyper-threading that slows down the 7700K and 8700K.
If we move on, we have Hitman 2 and here we see that disabling Hyper-Threading doesn't really affect the 8700K, but it is devastating for the Quad-Core 7700K. The average frame rate decreased by 18%, but was far worse, which is equivalent to a 1% decrease in performance by almost 30%. Granted, we still see over 60 fps, but for those who are chasing high frame rates, this kind of performance hit is tough.
Even at 1440p, the 7700K is severely affected when hyper-threading is disabled, as we still see a 1% reduction in performance above 25%.
Next up is Rage 2, where the 8700K experienced almost no drop in performance when hyper-threading was disabled. The average frame rate of the 7700K is practically unchanged, but the 1% low drops significantly by 20%.
As soon as we increase the resolution in Rage 2 to 1440p, this is enough to remove the CPU as a performance-limiting component, at least when we look at the hyper-threading-free 7700K. Disabling Hyper-Threading does not affect performance here.
We have seen in the past how demanding Shadow of the Tomb Raider can be, and we are reminded of it here. With the 8700K, performance decreased by 10-12% when hyper-threading was disabled, and by 24% with the 7700K, although the 1% low margins were similar to those of the 8700K. In both cases, disabling SMT has a big impact on this title.
Even at 1440p, the effect is significant, at least for the 7700K. The 8700K still experienced a slight drop in performance, but it was nothing more than the 20% drop in the 7700K.
Finally, we have some World War II results with the low-level volcano API. The game runs perfectly with 4 cores here, so that no CPU suffers when hyper-threading is deactivated. At 1440p we see something similar, as both CPUs are able to get maximum performance out of the RTX 2080 Ti.
We now have a pretty good idea of how Intel's 4- and 6-core CPUs work with hyper-threading enabled or disabled. To summarize the results quickly, the performance of heavy core applications was typically reduced between 25 and 35%.
The impact on game performance can vary significantly depending on the game and other factors such as resolution, visual quality settings and of course the associated GPU. For the games we tested with a 6-core Intel CPU, you'll have minimal performance impact for the most part, though 1% performance sometimes suffers and you'll notice a drop in performance in games with high refresh rates.
For those with an 8-core / 16-thread part like the 9900K, the effects on gaming are practically nonexistent, although application performance without SMT will still drop 25-35%. On the other hand, CPUs in the lower price range, which rely more on hyper-threading, will experience the greatest loss of performance. Even the Quad-Core 7700K often suffered a lot of performance degradation in gaming tests. This means that the loss of hyper-threading is even more devastating for users with dual-core SMT-enabled parts.
At the moment, we can't say exactly what the four MDS mitigations will do for performance (for Windows PCs), but we can expect there will be some hits and we know that hyper-threading is the strongest will be felt has the greatest impact. Phoronix has tested the damage limitation under Linux and the performance losses range from negligible to massive. Phoronix also found that Intel systems are now ~ 16% slower than before the Specter, Meltdown, Foreshadow, and Zombieload slowdowns. Meanwhile, AMD has only seen a 3% drop in performance. They also argue that the damage limitation impact is enough to bring the Core i7-8700K much closer to the Ryzen 7 2700X and the Core i9-7980XE to the Threadripper 2990WX.
If Intel can't pull a rabbit out of the hat and make remedial measures so effective that hyper-threading remains unaffected, it could have disastrous consequences for users of dual and quad-core Intel CPUs that support hyper-threading. This includes Core i3 and Core i5 processors from Clarkdale to Kaby Lake, Core i7 to Kaby Lake as well as Kaby Lake and Coffee Lake Pentium processors.
For those who use legacy hardware and are not doing business-critical tasks, the best performance option may not be to update until the attacks based on these exploits are clearly defined. This is not our official recommendation, but a color comment on an alternative route as soon as the corresponding updates are released.
This article provided an interesting study of where hyper-threading makes the biggest difference, and while this shows a worst-case scenario in which SMT has to be completely thrown out of the picture, we've seen some movement in that direction. Google has disabled Hyper-Threading in Chrome OS. The OpenBSD community recommends the same, while Apple patched systems with partial damage limits and disclosed that disabling hyper-threading is required to fully limit the damage. Other providers such as Microsoft have not yet taken a final stance.
Photo credit: Intel CPU imprint by Christian Wiediger, dark chip by David Latorre