.. _power_management: Computer Power Configuration ============================ Why this matters ---------------- .. important:: Treat this configuration as a baseline requirement for production performance, not a last-resort troubleshooting step. Start with :ref:`Required Power/Firmware Settings `, then use this page for detailed procedures and validation. Navigate can drive sustained high data rates (camera readout, storage I/O, network transfer) while also running CPU- and memory-intensive processing. On modern platforms, the *host's* power management configuration (Windows power plan, chipset/firmware drivers, and BIOS/UEFI power features) can materially affect throughput, latency, and run-to-run stability. In our experience, we have seen server-grade, high-performance systems perform surprisingly poorly when configured with power-saving defaults (for example: deep CPU sleep states, package C-states, or aggressive firmware-controlled power management). The symptoms are often subtle: lower-than-expected FPS/throughput, increased jitter, inconsistent job runtimes, and "mystery slowdowns" that disappear after correcting BIOS/OS power settings. At a high level, the goal is to keep the platform in a *deterministic performance state*: * OS power plan prioritizes performance (minimizes power saving). * Chipset/management drivers are correctly installed (avoids missing firmware interfaces). * BIOS/UEFI disables deep idle states that add wake-up latency (C-states), while leaving frequency scaling and turbo enabled (P-states + Turbo). Windows Host Configuration -------------------------- 1. Update baseline software and firmware ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. Ensure the system is on a supported Windows release (Windows 10/11 or Windows Server). #. Apply your vendor's recommended BIOS/BMC/firmware updates (Supermicro/HPE/Dell/etc.). #. Reboot after firmware updates. 2. Set Windows to a performance-focused power mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Recommended (general):** High performance (works broadly). **Optional (where available):** Ultimate Performance (not present on all editions). **How to set:** Control Panel → Power Options → select **High performance** (or **Ultimate Performance**). **Additional Windows Settings (AC power):** Power Options → Change plan settings → Advanced power settings: * Processor power management: * Minimum processor state (Plugged in) = **100%** * Maximum processor state (Plugged in) = **100%** * PCI Express: * Link State Power Management = **Off** 3. Install chipset platform drivers (including Intel Management Engine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Intel Management Engine (ME) is a chipset subsystem that provides platform management capabilities independent of the OS; the Windows driver typically appears as the **Intel Management Engine Interface (MEI)** device. Install the correct chipset drivers first, then ME/MEI. **Confirm MEI is installed:** Device Manager → System devices → look for **Intel(R) Management Engine Interface**. 4. Optional Windows Update: CPU/chipset-related driver updates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows can deliver additional driver updates through **Optional updates**. Although it is referred to as "optional", these updates often include important chipset, storage, and network drivers that improve performance and stability. **How to set:** Settings → Windows Update → Advanced options → Optional updates → Driver updates BIOS/UEFI Configuration ----------------------- The exact BIOS menu paths vary by vendor and CPU generation, but the concepts are similar. 1. NUMA and Node Interleaving ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * **Disable Node Interleaving** - recommended for modern non-uniform memory access (NUMA)-aware Operating Systems. .. important:: Some platforms do not expose an explicit **Node Interleaving** setting (or it is hidden when the platform defaults to NUMA mode). 2. Power and idle-state controls (C-states, P-states) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **How to set:** Advanced → Advanced CPU Configuration → Advanced Power Management Configuration Key settings: * Keep **Turbo + P-states enabled** (fast frequency scaling). * Disable **deep core/package C-states** (avoid wake-up latency and jitter). * Disable **autonomous hardware power management** (keep behavior deterministic). Recommended BIOS settings ------------------------- .. list-table:: BIOS settings reference (performance mode) :header-rows: 1 :widths: 28 18 54 * - Setting (location) - Recommended - What it does (1 line) * - **CPU P State Control** (APM) - - * - AVX P1 - Nominal - Controls the target performance state under heavy AVX; *Nominal* avoids extra down-binning beyond platform defaults. * - SpeedStep (P-states) - Enabled - Enables OS-managed frequency/voltage scaling (fast ramp-up without sleeping). * - EIST PSD Function - HW_ALL - Uses hardware assistance for P-state transitions across all cores for responsiveness. * - Turbo Mode - Enabled - Allows boosting above base frequency when power/thermals permit. * - **Hardware PM State Control** (APM) - - * - Hardware P-States (HWP) - Disabled - Prevents the CPU from autonomously selecting performance states (keeps policy deterministic). * - Autonomous PM - Disabled - Disables out-of-band autonomous power decisions that can introduce variability. * - **CPU C State Control** (APM) - - * - Enable Monitor MWAIT - Disabled - Disables MWAIT-based idle entry hints that can lead to deeper idle behavior. * - CPU C1 Auto Demotion - Disabled - Prevents automatic demotion from shallow idle (C1) into deeper C-states. * - CPU C6 Report - Disabled - Hides C6 from the OS, preventing deep core sleep selection. * - Enhanced Halt State (C1E) - Disabled - Disables C1E voltage/frequency drop behavior that can add wake latency/jitter. * - **Package C State Control** (APM) - - * - Package C State - Disabled - Prevents the entire socket/package from entering deep idle (high wake latency). * - Package C State Limit - C0/C1 - Caps package idle to shallow states only (best for consistent multi-socket performance). Validation and Troubleshooting ----------------------------- *Generate an energy report (helps spot platform power issues):* .. code-block:: powershell powercfg /energy *Verify the active scheme again:* .. code-block:: powershell powercfg /getactivescheme If performance is still lower than expected, re-check: * BIOS: C-states (core + package) truly disabled / limited to C0/C1. * Windows: power plan is High/Ultimate Performance and PCIe link state power management is Off. * Drivers: chipset and MEI installed; vendor storage/NIC drivers installed if required.