Selective Multithreaded Memory Training for CPU Sockets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of memory training steps with newer memory standards leads to longer boot times in multi-socket computer systems, especially when memory reference code (MRC) is executed serially across CPU sockets, which can exceed power constraints and result in potential damage to servers.
Innovation Solution
Implementing a selective multithreading (SMT) approach that dynamically enables multithreading based on power constraints and memory configurations of CPU sockets, allowing parallel execution of memory training on a subset of sockets while prioritizing power management to minimize boot time without exceeding power limits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by stationary object
If memory training is executed serially across CPU sockets, then power consumption is reduced, but boot time increases significantly
Solution Approach 1:
The patent implements dynamic multithreading enablement where the system automatically adjusts the number of CPU sockets executing memory training in parallel based on real-time power availability. The bootstrap processor monitors power constraints and dynamically schedules memory training tasks across available sockets, transitioning between serial and parallel execution modes as needed, thereby optimizing both boot time and power consumption.
Solution Approach 2:
The system changes the execution parameter from fixed serial execution to variable parallel execution by adjusting the number of active threads based on power constraints. The patent modifies the memory training execution model to allow flexible distribution of training tasks across different numbers of CPU sockets, transforming a static time-consuming process into a dynamic one that adapts to power availability.
2Loss of time
If multithreading is enabled for parallel memory training execution, then boot time is reduced, but power consumption may exceed constraints
Solution Approach 1:
The bootstrap processor continuously monitors power consumption during memory training and uses this feedback to adjust the number of active multithreads. When power constraints are approached, the system reduces the number of simultaneously executing sockets; when power headroom is available, it increases parallel execution, creating a closed-loop control system that balances boot time reduction with power constraint compliance.
Solution Approach 2:
The patent implements dynamic multithreading enablement where the system automatically adjusts the number of CPU sockets executing memory training in parallel based on real-time power availability. The bootstrap processor monitors power constraints and dynamically schedules memory training tasks across available sockets, transitioning between serial and parallel execution modes as needed, thereby optimizing both boot time and power consumption.
3Loss of time
If all CPU sockets execute memory training in parallel, then boot time is minimized, but power constraints are exceeded causing potential damage
Solution Approach 1:
The patent applies partial action by enabling multithreading only to the extent necessary to reduce boot time without exceeding power constraints. Rather than always executing all sockets in parallel (excessive action), the system activates only the appropriate number of threads based on real-time power availability, ensuring safe operation while maximizing performance benefits.
Solution Approach 2:
The bootstrap processor continuously monitors power consumption during memory training and uses this feedback to adjust the number of active multithreads. When power constraints are approached, the system reduces the number of simultaneously executing sockets; when power headroom is available, it increases parallel execution, creating a closed-loop control system that balances boot time reduction with power constraint compliance.
Data Source
AI summary
Embodiments described herein are generally directed to selective multithreaded execution of memory training by CPU sockets. In an example, a memory configuration and a current phase of execution of memory training for each of multiple CPU sockets of a computer system is received. Based on the memory configuration and the current phase of execution of each of the CPU sockets an estimated power usage across all CPU sockets may be determined. Based on the estimated power usage and a power consumption threshold (e.g., PTAM or PA), performance of the current phase of execution of one or more CPU sockets may be selectively released for one or more channels of the one or more CPU sockets.


