We had already noticed that the WinRAR benchmark, but also the application itself, does not benefit from Hyper-Threading Technology from Intel. In fact we had the same values found on the CPU 2600K, both with 8 logical cores and both with 4 logical cores.
Now we will try to shed light on the problems and secrets of the core parking of Windows Seven.
We previously reported as with a simple change to the Windows registry you can disable the core parking on Windows Seven and obtain an improvement in the performance of WinRAR.
The Czechs of Deep in It have discovered how to enable an easier control of the core parking in Windows Seven.
XtremeHardware staff analyzed in depth the implications of this discovery, testing ways in which this trick works and the changes in performance, these settings imply.
Finally, we tried to understand the reasons of this "failure" of the Windows Seven core parking with targeted affinity testing.
The Core Parking
Windows Vista and Windows Seven implement a new energy-saving technique: the core parking.
This technique puts in a state of deep energy saving, if supported by the CPU, the cores not currently needed for the processing in progress.
Because sending in a state of energy saving and waking up a core is a fairly slow process, the operating system must try to guess whether a given core will be needed in the near future or not.
Like all forecasts, it may be wrong.
This is what probably happens with WinRAR in Windows Seven with the core parking enabled and an Intel CPU with Hyper Threading.
We verified that with CPU without Hyper Threading or with Hyper-Threading disabled, the "failure" does not occur.
It does not occur even with AMD Bulldozer, which could be affected by a similar problem because of the modules architecture. The hypothesis we did is that Windows Seven still did not use the core parking on bulldozers CPU. We will investigate this problem as soon as possible in a future article.
Controlling the Core Parking
This value expresses the maximum percentage (in hex, which translates 64 to 100 in decimal) of CPUs that can be "parked".
Setting this value to zero effectively disables the core parking.
We have verified that you need a reboot for the changes to take effect. This is probably due to the fact that this parameter is set at boot in the kernel and you can not change it anymore.
A second way, more practical, is a setting to enable an advanced processor core power management, to control the parking. By setting to zero the Attributes sub key in the registry key
you enable this setting in the panel. We verified that the change of this value is immediate, namely it does not require a reboot and it works in real time: it is not necessary to close and reopen the running program. This tells us that this setting works at the system level. Another important thing to note is that this setting is only effective with the core parking disabled, as described above (and after a reboot). With the core parking enabled, this setting has, strangely, no effect.
One last thing to note is an error in the caption, at least in the Italian version of Windows. It says "Minimum Stopped cores processor performance." In fact, the 0% setting completely enables the core parking and 100% setting completely disables it. Intermediate values are obviously possible.
These are three examples of the setting in action.
Disabling the core parking, the performance with Sandy Bridge CPUs rise significantly. Below you can see the graphs made with both the stable version of WinRAR (4.01), both using the latest beta (4.10). We tested the correct application of this patch with the following processors, all of them with Hyper-Threading Technology:
- Intel i7 860 skt 1156 4c/8t
- Intel i7 875k skt 1156 4c/8t
- Intel i3 2100 skt 1155 2c/4t
- Intel i3 2120 skt 1155 2c/4t
- Intel i7 2600k skt 1155 4c/8t
- Intel i7 3960X skt 2011 6c/12t
The results after disabling the core parking have been really exciting, reaching an improvement of 40%.
Bulldozer CPU and non Hyper Threaded Intel CPU have not seen any improvement.
- Avanti >>