🧡 Skip to main content🔍 Skip to search
Matthew AdamsBy Matthew Adams 🕤 Updated on January 3, 2024 at 9:30 am

In large-scale systems with multiple CPUs, each with multiple cores, and multiple NUMA nodes, effectively utilizing all virtual CPUs can present challenges and difficulties. Furthermore, enterprise servers with numerous CPUs usually have dedicated memory and hardware such as PCIe slots that operate at full performance only when running on the correct NUMA node.

Without proper attention to these complexities, systems may experience decreased performance and increased operational costs · Tweak App overview

YouTube video · Automatic CPU pinning in Windows

Overview

Historically, managing apps and processes on systems with more than 64 CPU cores or threads has been challenging. Most existing software solutions support only one NUMA node, which is limited to the first 64 virtual CPUs. This limitation can result in underutilization of hardware resources and may impact system performance.

Task Manager summary view · Intel Xeon Platinum 8124M
Intel Xeon Platinum 8124M CPU with 72 logical processors

Additionally, Windows lacks built-in tools to manage thread affinity and CPU core allocation on systems with more than 64 CPUs. When attempting to change CPU affinity using Windows Task Manager, obscure error messages are more common than successful outcomes.

Even enterprise-level Windows Server OS often fails to correctly assign an app or process to a different CPU NUMA node than the one to which it was initially assigned.

Unable to access or set process affinity · The operation could not be completed · Access is denied
Error: Unable to access or set process affinity

Automation Workshop + Tweak App Action enables you to effectively manage large-scale systems with multiple CPUs, cores, and NUMA nodes without specialized expertise on custom programming and scripting.

CPU affinity

CPU core pinning (processor affinity) allows to bind a process or app to particular CPUs or vCPUs. Overall system efficiency is greatly optimized and machine performance is increased significantly by allocating designated cores and threads to your critical business apps and system processes.

Tweak App Action enables you to automate CPU pinning for different applications. Additionally, CPU priority (and priority boost) can be adjusted for individual apps to further fine-tune Windows systems.

Automation Workshop recognizes all modern CPUs, its NUMA nodes, and virtual CPUs that are available if hyper-threading or simultaneous multithreading is enabled.

CPU affinity on 2 sockets, 4 NUMA nodes, 96 cores, 192 logical processors

To automate setting of CPU affinity, choose how you would like to start your automated workflow. Tasks can be launched automatically in a fully unattended mode, or manually, by a mouse click or icon from the Desktop.

Built-in Task Scheduler and Process & App Monitor are the most used Triggers for unattended scenarios. The Scheduler allows a workflow to run on predefined intervals, for example, every minute or every second. On the other hand the Process & App Monitor allows you to react to application changes, for example, changing CPU pinning as soon as the app is started.

Task Scheduler · Recur every 1 hour

There are other useful Actions that will aid you in automated workflow creation, such as the App Information Action allows you to read current CPU affinity for a specified process, or the List Apps Action, to obtain Process IDs for a particular set of programs.

Let's go!

Use the Tweak App Action to pin an application (or multiple ones) to a particular NUMA or virtual CPUs. Each NUMA node is visually separated by a line and additional CPU/core information is available by hovering the mouse over a virtual CPU (logical processor).

CPU pinning on 8–15 logical processors

Besides choosing particular cores for your programs, it is also possible to adjust CPU priority and priority boost. The modified CPU affinity can be observed immediately (for example, using Windows Task Manager) after the Tweak App Action is completed.

In scenarios when an app is starting its multiple threads, the operating system scheduler (kernel component) can decide to assign a different CPU to the process or app. In such cases you can use the Task Scheduler Trigger that fires up your workflow regularly, to reinforce CPU affinity for the specified process.

Summary

Relying on Windows Task Manager to manage CPU affinity can be problematic due its limitations and bugs. Automation Workshop offers a more reliable and efficient solution—many businesses are already using the Tweak App Action to fine tune CPU affinity for their applications and processes.

By doing so, they are improving system effectiveness, increasing performance, and reducing their hardware costs. Here are 3 key benefits of using the Tweak App Action:

  • Improved system performance—pinning applications to specific CPU cores can reduce performance bottlenecks, allowing applications to run at their peak performance.
  • Automation of the affinity setting process—the Tweak App Action allows users to automate the process of setting CPU affinity, freeing up valuable time and resources.
  • More precise allocation of system resources—with the Tweak App Action, users can allocate specific CPU cores to applications and processes, ensuring that critical workloads receive the resources they need. This can result in a more efficient and reliable system overall.

Overall, the Tweak App Action in Automation Workshop is an effective no-code tool for managing CPU affinity and optimizing system performance. By using it, admins and business users can improve efficiency, reduce costs, and minimize the risk of performance issues.

Just ask…

If you have any questions, please do not hesitate to contact our support team.