Process Lasso 10.4 – CPU Sets and Alder Lake
This exciting release of Process Lasso v10.4 adds CPU Sets and Intel 12th Gen (Alder Lake) support!
CPU Sets, a native Windows feature, are a ‘softer’ form of CPU Affinities. Instead of a hard contract, they are a suggestion of preferred CPU cores. The OS will try to abide by a CPU Set, but has discretion to schedule outside the Set. This may be necessary when the thread load exceeds the number of cores in the Set, or for power management reasons.
CPU Sets give the OS thread scheduler more flexibility than CPU Affinities do. If a process with a CPU Sets rule needs more CPU(s) to handle its thread load, the OS can schedule onto CPUs outside the assigned Sets. In contrast, a CPU Affinity can not be violated, so the process’s compute would be limited. Therefore, for performance tuning, CPU Sets are usually preferred. For hard limits on CPU consumption, traditional CPU Affinities should be used.
Some apps and games are sensitive to CPU Affinity changes. In these cases, CPU Sets are a viable alternative since they are less likely to cause complications.
On Intel 12th Gen CPUs (Alder Lake), CPU Sets can be used to signal the OS to only utilize Performance (P) or Efficient (E) cores, or some mix of each, for a process. Many users will find CPU Sets an ideal method to disable E-cores for select applications.
On systems with more than 64 logical CPU cores, where Windows uses processor groups, a process’s CPU Sets may span multiple processor groups. Therefore, you will add multiple sets to the CPU Sets to span more than one group. That’s what the left-most list is for. Use the ‘+’ button under the left ‘CPU Sets’ list. Then select another processor group from the dropdown in the upper-right. Select the CPUs from that group to add a second CPU Set. That is why the term ‘CPU Sets’ is plural, because you can specify more than one set!
Persistent (Sticky) CPU Sets are fully supported by Process Lasso.
Intel 12th Gen (Alder Lake) CPUs diverged from traditional PC CPU chip topology with their P+E hybrid design, offering a combination of Performance (P) and Efficiency (E) cores. The P-cores are Hyper-Threaded, the E-cores are not. This change required some adaptations of Process Lasso, and that is now complete. E-cores are demarcated by an ‘E’ appendage to the CPU indices in applicable dialogs and menus.
Product installation was also streamlined in this release. The startup configuration dialogs had became unnecessary since almost all users went with defaults after the switch to Governor-as-a-Service a few major versions ago. Users can still select this option in the installer sections, or access it later via the menu item ‘Options / General / Configure Startup…’.
Process Lasso v10.4.0.38 Changelog – Nov 11 2021
- Add CPU Sets, a softer form of CPU Affinities
- Alder Lake (Intel 12th Gen) support
- Streamlined install
(3) Installer: Do not show startup config dialogs by default (now optional section) (5) GUI: Small listview update optimizations (7) Core: Fix an issue where GaaS may not honor chosen language when writing log entries (15) Core/GUI: Add CPU Sets feature (19) GUI: Move Memory Priority process context submenu out of 'More' (19) GUI: Show Memory Priority column by default (19) GUI: Adjust config not writable message (19) GUI: Remove message when Forced Mode enabled (23) GUI: Cosmetic adjustments to CPU selection dialogs (23) GUI: Refactor CPU Affinity rules list dialog to be like that of CPU Sets (external selection dialog) (25) GUI: Do not throttle updates when check is manually invoked by user (29) GUI: Cosmetic to ProBalance Exclusions dialog (33) GUI: Adjust default position of columns in process listviews (35) GUI: Mark Efficiency Cores with "E" in CPU selection dialogs and menu items (35) GUI: Support Hyper-Threading disabled CPU affinities on Alder Lake (38) Core: Fix INI syntax error message after uninstalling BHP while application power profile rule referencing it exists (38) GUI: Cosmetic work to some rule list dialogs