Find Bitsum On Google+ Find Bitsum On Twitter Find Bitsum On Facebook
Bitsum
Real-Time CPU Optimization - The CPU affinity and process priority experts!
ParkControl Pro Pre-Release 50% Offer

Your purchase helps to support Bitsum's continued Research, Development, and Production. ParkControl Pro will be released within 30 days, likely much sooner. If it fails to be released in 30 days, a full refund will be given.

ParkControl Pro will include an installer, system tray icon, and an assortment of helpful menu items to facilitate use.

ParkControl

ParkControl screenshot

Downloads

Save yourself the hassle! New in Process Lasso: The Bitsum Highest Performance power plan is preconfigured for high performance use. Process Lasso's newly improved Gaming Mode will automatically induce that power plan when necessary. You won't need to do any manual work with our ParkControl utility. Process Lasso's Gaming Mode remains free indefinitely, so why not give it a try? You'll get the added benefit of ProBalance process optimization.

ParkControl is a small freeware utility that facilitates tweaking of core parking and CPU frequency scaling settings of Windows power plans. It has no installer. It is a live EXE.

Bitsum developed ParkControl because core parking settings are hidden in Windows, but can make such a large difference on performance, particularly when there are bursting CPU bound loads (the most common type).

Core Parking

Core Parking is a sleep state (C6) supported by most newer x86 processors, and newer editions of Windows. Core Parking dynamically disables CPU cores in an effort to conserve power when idle. Disabled cores are re-enabled as the CPU load increases once again. This technology is very similar to frequency scaling, in that it seeks to throttle the CPU when idle.

The problem is that Window's default power profiles are configured far too aggressively when it comes to core parking, especially on workstations. Their interest was in conserving energy, even if this meant marginally decreasing performance. A number of complex parameters control when a core should be parked, and Microsoft tuned heavily towards power savings.

The core parking settings in Windows are implemented as parameters of power plans (aka power profiles). That means you can, for example, disable core parking for the High Performance power plan, but leave it enabled for other plans. And that is exactly the desired tweak for most users: disable parking only for high performance power plans.

Efficacy

Empirical evidence shows that disabling core parking can make a real difference in system performance. There are many factors that will determine how efficacious it will be for any given system, including the CPU type, application load, and user behavior. However, we find that Windows is often over-aggressive in its core parking, resulting in excess latency as cores are unparked to accommodate bursting loads (the most common type of CPU load).

In our tests, we've found AMD processors benefit most from disabling core parking. This is perhaps due to the dramatic difference in the way AMD processors share (hardware) computational resources between logical cores. Microsoft optimized for Intel's HyperThreading, which has much less capable secondary cores. AMD's secondary logical cores are near full CPUs.

YMMV, but if we didn't see real and substantial performance gains after disabling core parking, we wouldn't have authored this utility.

Safety

These tweaks are entirely safe for any PC that is constructed properly. The only way that they could possibly seem to cause some change in behavior is if the PC has overheating issues. In such an event, those issues would be seen regardless of these tweaks by simply placing a sustained high load on the CPU.

Restore Defaults

  1. Click 'Power Options' in the ParkControl app
  2. Select the Power Profile you modified
  3. Click 'Restore default settings for this plan'
  4. Repeat for all modified power plans

Benchmarks


Benchmark results and images courtesy of XTremeHardware.

Changing Parking Settings Using ParkControl

Simply run ParkControl, select the target power profile, change the setting, and click apply!

What is that NUMBER that is shown on the GUI? That is the % of cores that must remain *unparked*. So, if it's 25%, then 75% of the CPU's cores can be parked at once (3 of 4).

Changing Parking Settings Using PowerCfg

You can change these settings yourself via Window's Powercfg.exe. You must run this utility with elevated rights, so be sure to open an elevated console window by right-clicking 'cmd.exe' and selecting 'Run as Administrator'.

Also note that these commands adjust the current power profile. I felt it simplest to use these variables as opposed to giving you GUIDs that may or may not apply to your PC's power profile setup.

FIRST, Backup ALL your Power Settings by creating a dump of everything to a TXT file. You can later use this to revert to your default settings.

powercfg /qh > powerconfig.txt

To mandate 50% of available cores always remain unparked, run:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 50

To adjust it so that only 25% of available cores remain active at all times, allowing 75% of available cores to be parked, you'd run:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 25

Yes, you can use '0' - Windows is not stupid enough to park all cores at once, it will always leave at least one core active. In fact, this is usually the default setting when it is enabled. For example, to enable maximum use of CPU Parking for the power profile you are *currently* using:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 0

To disable CPU Parking completely for the power profile you are *currently* using, you'd want to run:

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 100

APPLY New Settings, NOW!

After changing the power scheme settings for CPU Parking as desired, you then want to make the changes active by running the command:

powercfg -setactive scheme_current

When I first wrote this I included allowing specification of AC or DC (battery) values for the power scheme. Setting the DC power value isn't documented, so I am going to skip that. Still, to do so you'd simply replace '-setacvalueindex' with '-setdcvalueindex'. It also is not entirely clear if this is supported for every power scheme, though it certainly appears to be. Sadly, Microsoft's documentation is quite scarce.

You should not have to reboot for these changes to take effect. They are immediate! Go ahead and check the Resource Monitor and verify that CPU Parking is indeed as you set it.

I hope this helps some people. Why would you go around making manual edits to the registry when powercfg can do the job for you? You shouldn't. Registry edits are prone to mistakes and are generally more tedious and less clear.

How to Show Core Parking Options in the Advanced Power Options

Too bad this option is NOT shown by default in the Windows Power Options, eh? Well, it can be! You can make your Advanced Power Options in Windows show this value!

Download the .REG file here (you can use the freeware RegMerge to see what is inside before applying): DOWNLOAD REG TWEAK

The actual REG file contents are below.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583]
"Attributes"=dword:00000000

Further Research

We've attempted to dig deeper into the core parking rabbit hole, and let me tell you there are countless additional hidden variables that control it's behavior. It's therefore not at all inconceivable that some are not tuned properly. In fact, Microsoft has issued Hotfixes in the past to address this very issue. I'll update my findings here as I'm able. If you want to support this project, buy a licese for Process Lasso or donate.

Donate via PayPal or CC
OR by Bitcoin

WARNING: DO NOT MANUALLY EDIT THE REGISTRY, AS SOME WEB SITES RECOMMEND. THIS WILL TRICK PARKCONTROL INTO THINKING CORE PARKING IS ON, BUT IT HAS NO EFFECT ON THE OPERATING SYSTEM!

ParkControl is freeware that enables easy adjustment of Windows core parking. Process Lasso also supports many of these same functions.

Process Lasso FREE

Automatically optimize running processes with Process Lasso - Keep CPU hogs at bay!

Also see our graphical demo of Lasso's ProBalance automated priority adjustment technology ...

ParkControl PAD file

Love ParkControl? Want More?

Donate via PayPal or CC
OR by Bitcoin

With your donations, we can keep costs at a minimum (if not free).


(c)2015 Bitsum LLC. TN, USA. All rights reserved.
[ Bitsum on Facebook ] [ Privacy Policy ] [ Cookie Policy ] [ Terms of Use ] [ Contact Us ]