Processor Fairness Monitor for Thread Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-threaded processors face issues with fairness in resource allocation, leading to performance imbalances where threads that frequently stall are starved of processor cycles, and forced switches can occur at inopportune times, while priority overrides are often abused, resulting in suboptimal performance and fairness.

Innovation Solution

A dynamic resource allocator with a fairness monitor and programmable allocation policy that implements time-division multiplexing and biasing to ensure equal or nearly equal allocation of processor resources, applying hysteresis to stabilize fairness and prevent rapid oscillations, and managing priority requests to maintain balanced processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor uses switch on event multithreading to fully utilize processing cycles, then processor cycle utilization is improved, but thread fairness deteriorates as threads that rarely stall receive disproportionate access to processor cycles

Engineering Contradiction:
Improveprocessor cycle utilizationVSAvoidthread fairness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a fairness monitor that continuously tracks the number of processor cycles allocated to each thread and provides feedback to the thread selector. When a threshold is exceeded indicating unfair allocation, the system adjusts thread switching behavior to restore fairness, thus resolving the contradiction between maximizing processor utilization and ensuring fair thread access

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts thread switching behavior based on real-time fairness conditions. The thread selector can switch between aggressive switching (for high utilization) and fairness-enforcing switching (when imbalance is detected), making the switching strategy adaptive rather than static, thereby balancing productivity and fairness

Inventive Principle:
Principle #15Dynamics

2Reliability

If the processor forces switches between threads after a period of inactivity to ensure fairness, then thread fairness is improved, but system performance deteriorates due to inopportune switches during time-critical code execution

Engineering Contradiction:
Improvethread fairnessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The fairness monitor proactively tracks cycle allocation before unfairness becomes severe, allowing the system to take preliminary corrective action by adjusting thread switches before performance-critical operations are disrupted. This prevents inopportune switches by anticipating fairness issues early

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The fairness monitor acts as an intermediary between the thread selector and thread execution, mediating switch decisions to balance fairness and performance. It filters out inopportune switches while maintaining fair allocation, resolving the contradiction between these two objectives

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If threads can request priority to override forced switches to protect time-critical code, then system performance is improved, but fairness deteriorates as priority requests are readily abused to maximize one program's performance at the expense of others

Engineering Contradiction:
Improvesystem performanceVSAvoidthread fairness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The fairness monitor tracks priority request usage and provides feedback when abuse is detected. When a thread excessively uses priority requests to the detriment of other threads, the system responds by adjusting switching behavior to restore fairness, thus preventing abuse while maintaining legitimate performance optimizations

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the parameters of priority request handling dynamically. When fairness thresholds are violated due to priority abuse, the system adjusts the effectiveness or availability of priority requests, transforming the parameter of priority enforcement to maintain both performance and fairness

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8219996B1Computer processor with fairness monitor
Publication Date: 2012.07.10 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8219996B1 patent drawing
  • US8219996B1 patent drawing
  • US8219996B1 patent drawing

AI summary

A computer processor includes a fairness monitor for monitoring allocations of a processor resource to requestors. If unfairness is determined, a resource allocator is biased to offset said unfairness.