Quick CPU(Core Parking Manager v3)
Latest Version: 22.214.171.124 - Released: 11/12/2019
Quick CPU (formerly known as Core Parking Manager v3) is an application that was designed to fine-tune and monitor CPU performance settings such as: Core Parking, Frequency Scaling and Turbo Boost, as well as making other adjustments. Below you’ll find all the information about how it works, how to interpret application data and settings, and how to make these adjustments.
CPU Performance and power consumption
Back in a day, most computers were desktop machines with the main goal for the hardware, to offer absolute best performance and there was no real need for technologies such as SpeedStep, Turbo Boost etc.
However, in the modern world, power consumption sometimes takes a higher priority than performance output. Considering significant change in technology and expectations from the hardware, CPU's have gotten a lot of new features such as TurboBoost, SpeedStep, Hyper-Threading and individual core state/s that help to reduce power consumption and heat. Even though these are all positive changes, it sometimes creates a situation where an end user is not getting top performance when it is required (delayed performance boostboost). This can be caused by many hard to predict factors, such as system state, availability, CPU state, heat and many many more. This application was made to provide help in controlling such factors and reduce the effect of degrading performance when possible. Many features mentioned above will be described in greater details in the description below, so if you are interested read on ...
CPU Core Parking
CPU Core parking is a feature that was introduced in Windows Server 2008 R2. The processor power management (PPM) engine and the scheduler work together to dynamically adjust the number of cores that are available to run threads. The PPM engine chooses a minimum number of cores for the threads that will be scheduled. Cores that are parked generally do not have any threads scheduled, and they will drop into very low power states when they are not processing interrupts, DPCs, or other strictly affinitized work. The remaining cores are responsible for the remainder of the workload. Core parking can potentially increase energy efficiency during lower usage.
The problem with Windows way of core parking is lack of flexibility since by default you are given very few options for setting Core parking index on your machine
The functionality of this application allows for you to control the number of CPU cores that need to be enabled or disabled (or you can simply enable all the cores at all times, see explanations on how it works below) based on your personal requirements, also now by looking at CPU graph you can tell if the specific core is enabled or disabled. This information is also available in the CPU performance tab under “Enabled cores” and “Parked cores”. This is real time info, so you don’t have to press the “Refresh” button to find out the current status.
Here's an example of how core parking actually works and the meaning of an index number:
Let's say we have a CPU with total of 6 cores (including logical) this will be 100% of our CPU power, where each core will represent about ~ 17% (100 / 6 = 16.6 ~17). Now for example we would like that 4 cores out of 6 to never be parked by the OS regardless of the load. In this case we set the number to 68% (17 * 4 = 68). This will tell the OS that it can only park 2 cores out of 6. For example, if we set the number to a 100% we are basically telling the OS that NONE of our CPU cores can be parked and they should function at all times with full performance (see the pictures below), and in the opposite case scenario if we set the number to 0% or close to that, OS will be able to park any number of cores (don't forget to press the "Apply" button when you are setting the number). I hope this'll help explaining how it works.
CPU frequency scaling is a feature that enables the operating system to scale CPU frequency up or down to try and match supply to demand, delivering CPU performance when necessary or saving energy when possible. Similar to Core Parking OS is trying to scale CPU frequency dynamically based on the system load. The index for this control works similar to Core parking. On specific detail about the frequency scaling is that even if you set an index to 100% it’ll increase (and keep) the frequency up to the CPU base frequency level, and still use dynamic scaling for any extra performance
You can see an example in the image below where frequency scaling is set to 100% and the OS is keeping CPU frequency as close to its base (2.6 GHz in this specific example) as possible at all times. However, you can see that during heavy system loads CPU can spike higher than its base frequency thanks to ‘Turbo Boost’ technology. The good news is that you can go above the base frequency levels and keep your CPU close to it’s Maximum possible frequency thanks to Intel Turbo Boost and AMD Turbo CORE technologies. And that’s what the next section is about.
During the normal system load CPU in your system operates at a standard clock speed (which indicates its overall performance). In fact, if some heavy lifting is required (considering power usage) Turbo Boost kicks in increasing CPU clock frequency for the duration of the task. By setting TurboBoost index to its maximum value CPU will try to provide performance greater than the performance level corresponding to the Processor base frequency at all times.
Intel Turbo Boost and AMD Turbo CORE technologies are features that allow processors to achieve additional performance when it is most useful (that is, at high system loads). Basically it raises CPU operating frequency (as well as performance) in a dynamic (non deterministic) way.
Here’s what Intel states about their turbo boost technology:
Intel® Turbo Boost Technology 2.01 accelerates processor and graphics performance for peak loads, automatically allowing processor cores to run faster than the rated operating frequency if they’re operating below power, current, and temperature specification limits. Whether the processor enters into Intel® Turbo Boost Technology 2.0 and the amount of time the processor spends in that state depends on the workload and operating environment.
C-State Residency (Intel)
Important: C-State Residency configuration settings are saved on the actual CPU (hardware registers). This is not an OS configuration. Please do it with caution.
Processor C-states are idle power saving states and during all the C-state/s (other than C0) the processor is idle, meaning that nothing is executing. C0 can be considered as an idle power state, meaning it is the non-idle state when the core is actually executing instructions.
Core idle states - How It works
Each core has several idle states, C0, C1, C3 etc ... After all hardware threads supported by a core have executed HALT instruction (instruction which halts CPU/unit until the next external interrupt is fired) core transitions to the first non iddle state C1. Now that the core is in C1, the coprocessor's power management (don't mistake with the OS power manager) routine needs to figure out whether it is worthwhile to shut the core down further and drop it into a next C-state. In which case, further parts of the core are shut down and power gated.
On the images below (see aplication footer) you can observe the percentage of time CPU spends in the specific C-State supported by the CPU.
|C0||At least one hardware thread within the core is executing some task. In this state core stays active.|
|C1|| All four hardware threads within the core finish their tasks. They all execute HALT instruction. At this point the core is clock-gated |
|C2||Can also be considered as a transition state. Core clock is gated, Interrupts are not served.|
|C3||Sometimes referred as a sleep state. In this state the processor might not be keeping its cache coherent, internal clock is off|
|C6 and up||Deep power down state|
Advanced CPU Settings (INTEL)
All the features presented on the Advanced CPU Settings form are CPU dependent and will or will not be available depending on your CPU model. Another factor that can affect the availability of a particular setting is the fact that it’s not locked by your system BIOS
Remember that all of these settings are not OS settings and will be stored directly on your CPU hardware registers, that being said, make sure you know what you are doing and perform it with caution.
For more information about all the features please visit the following page: Advanced CPU Settings
- Performance graph for each core. Displays if the core is Active or Parked
- Adjustable size for the individual CPU graph
- Real time counter to display number of active vs parked cores
- Adjustable CPU core parking settings
- Adjustable CPU frequency scaling settings
- Adjustable CPU turbo boost settings
- Real time C-State residency indicators and configuration
- Real time CPU speed
- Real time CPU utilization
- Real time CPU temperature
- System memory profile
- System power output
- System power state settings support (AC/DC)
- System power plan support
- Application updates
- Changes are applied on the fly. NO NEED TO RESTART
This application requires .NET Framework 4.6.1 to be installed on your machine. In case you don’t have it yet, you can download it from the Microsoft site: .NET Framework 4.6.1 Web Installer
NOTE: Versions prior to 126.96.36.199 were compiled to target both platforms x64 and x32 however, even on the x64 platform the app was running as 32 bit process. Now if you do choose to install 64 bit version of the app please do manual uninstall of any versions prior to 188.8.131.52.
Current version 184.108.40.206
Release date: 11/12/2019
Compiled for: .NET 4.6.1
Tested on platforms: Win7 x64-en SP 1, Win8 x64-en, Win8.1 x64-en, Win10 x64-en
Send your suggestions to: firstname.lastname@example.org
|Release version||Release date||Download||Release notes|
|220.127.116.11||Nov 12, 2019||Download version 18.104.22.168||View release notes|
|22.214.171.124||Sep 18, 2019||Download version 126.96.36.199||View release notes|
|188.8.131.52||Jun 14, 2019||Download version 184.108.40.206||View release notes|
|220.127.116.11||Mar 7, 2019||Download version 18.104.22.168||View release notes|
|22.214.171.124||Feb 14, 2019||Download version 126.96.36.199||View release notes|
|188.8.131.52||Nov 4, 2018||Download version 184.108.40.206||View release notes|
|220.127.116.11||Sep 30, 2018||Download version 18.104.22.168||View release notes|
|22.214.171.124||Jun 18, 2018||Download version 126.96.36.199||View release notes|
|188.8.131.52||Apr 10, 2018||Download version 184.108.40.206||View release notes|
|220.127.116.11||Feb 1, 2018||Download version 18.104.22.168||View release notes|
|22.214.171.124||Nov 14, 2017||Download version 126.96.36.199||View release notes|
|188.8.131.52||Aug 19, 2017||Download version 184.108.40.206||View release notes|
|220.127.116.11||Jul 14, 2017||Download version 18.104.22.168||View release notes|
|22.214.171.124||Jun 19, 2017||Download version 126.96.36.199||View release notes|
|188.8.131.52||May 18, 2017||Download version 184.108.40.206||Initial release|