SMT Processor Usage Estimation via Thread State Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Simultaneous Multi-Threading (SMT) processors distort CPU usage measurements, leading to inaccurate throughput estimates, which can result in misperceptions about processing capacity and impact system performance and capacity planning.

Innovation Solution

A method and system to determine a CPU usage adjustment factor by sampling CPU usage and thread states, deriving a distribution of running threads, and applying an adjustment factor to provide a more accurate CPU usage estimate for SMT processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SMT processors execute multiple threads in parallel to improve throughput, then processor throughput is improved, but CPU usage measurements become distorted and less accurate

Engineering Contradiction:
Improveprocessor throughputVSAvoidCPU usage measurement accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies feedback by continuously monitoring actual thread execution states and using this information to adjust CPU usage measurements. The system samples thread states at intervals and uses the distribution of observed thread counts to calculate correction factors that feedback into the CPU usage reporting mechanism, thereby compensating for the distortion caused by SMT parallel execution.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the parameter of CPU usage measurement by introducing correction factors derived from thread state distributions. Instead of directly reporting raw CPU usage percentages, the system transforms these values using parameters calculated from observed thread execution patterns, converting distorted measurements into corrected estimates that reflect actual processor utilization more accurately.

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If operating systems report CPU usage on SMT processors, then system monitoring is enabled, but the reported usage does not reflect actual processing capacity

Engineering Contradiction:
ImproveCPU usage information availabilityVSAvoidCPU usage estimate reliability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent introduces an intermediary correction mechanism between the operating system's raw CPU usage reporting and the final reported values. This intermediary layer samples thread states, calculates distribution-based correction factors, and applies these factors to bridge the gap between uncorrected OS reports and accurate utilization estimates, thereby maintaining information availability while improving reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent substitutes the mechanical (direct) reporting mechanism with a statistical correction mechanism. Instead of directly trusting raw CPU usage percentages, the system replaces this direct reporting with a statistical model that samples thread states and computes corrected values based on observed execution patterns, thereby improving reliability without losing monitoring capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Extent of automation

If capacity planners use reported CPU usage data for forecasting, then planning decisions can be made, but the forecasts are inaccurate due to measurement distortion

Engineering Contradiction:
Improvecapacity planning automationVSAvoidcapacity forecast accuracy
Core Design Contradiction:
Extent of automationVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by pre-calculating correction factors based on thread state distributions before capacity planning decisions are made. The system continuously samples thread execution patterns and maintains updated correction factor tables that can be applied in advance to forecasted data, ensuring that capacity planners receive accurate utilization estimates without manual intervention to adjust for SMT distortion.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7680628B1Estimating processor usage
Publication Date: 2010.03.16 UNITED SERVICES AUTOMOBILE ASSOCIATION (USAA)
  • US7680628B1 patent drawing
  • US7680628B1 patent drawing
  • US7680628B1 patent drawing

AI summary

Methods and systems are disclosed for determining a processor usage adjustment factor and for automatically applying the processor usage adjustment factor to provide a processor usage estimate for an SMT processor. In one implementation, the methods and systems obtain samples of processor usage reported by the operating system at a predefined sampling rate over a predefined sampling interval. Thread states for the threads substantially corresponding to the reported processor usage are so obtained at the predefined sampling rate and over the predefined sampling interval. This sampling may be performed for servers running different applications and having diverse processing loads. An estimate of the distribution of the number of threads running for the processor usage reported may then be determined from the sampled data. A processor usage adjustment factor may then be derived, based on the distribution, and used to provide a processor usage estimate.