Dynamic SMT Scheduling for Hybrid Processor Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic simultaneous multi-threading (SMT) scheduling on hybrid platforms faces challenges in maximizing processor performance due to shared resources among logical processors, leading to poor performance and responsiveness, especially in lightly threaded workloads and multi-threaded environments, where concurrent background threads compete for CPU time.

Innovation Solution

Implementing dynamic SMT scheduling with core isolation techniques, such as forced parking of SMT sibling logical cores, to prioritize critical foreground tasks while allowing user-initiated background tasks to utilize SMT cores efficiently, using thread runtime telemetry circuitry to dynamically adjust scheduling policies based on concurrency and utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic SMT scheduling is implemented to allow multiple threads to share CPU time, then processor utilization increases, but performance and responsiveness deteriorate due to resource sharing among logical processors

Engineering Contradiction:
Improveprocessor utilizationVSAvoidperformance and responsiveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic SMT scheduling that adapts the degree of thread sharing based on runtime conditions. The system transitions between different scheduling modes (e.g., from fully shared SMT to more isolated execution) depending on workload characteristics, allowing the system to optimize between processor utilization and performance responsiveness in real-time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes scheduling parameters dynamically based on detected conditions such as thread priority, workload type, and system state. By adjusting parameters like thread isolation level, scheduling frequency, and resource allocation ratios, the system resolves the contradiction between maximizing utilization and maintaining performance

Inventive Principle:
Principle #35Parameter changes

2Reliability

If core isolation techniques are applied to prioritize critical foreground tasks, then responsiveness improves, but productivity decreases due to reduced parallelism

Engineering Contradiction:
ImproveresponsivenessVSAvoidparallel task execution
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the CPU execution resources into different isolation levels or domains. Critical foreground tasks are allocated to isolated execution contexts that prevent interference from background threads, while non-critical tasks can share resources more aggressively. This segmentation allows the system to maintain responsiveness for important tasks without completely eliminating parallel execution opportunities

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying complete isolation to all tasks, the system applies partial isolation selectively only where needed. Background tasks may execute with reduced isolation or even without isolation when resources are abundant, while foreground tasks receive enhanced isolation. This partial application of isolation principles balances responsiveness requirements with overall productivity

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If static scheduling policies are used to manage SMT cores, then system simplicity is maintained, but adaptability to varying workload conditions deteriorates

Engineering Contradiction:
Improvescheduling system simplicityVSAvoidworkload condition adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements feedback mechanisms where the scheduling system continuously monitors runtime conditions such as thread execution patterns, resource utilization, and performance metrics. Based on this feedback, the system automatically adjusts scheduling decisions to adapt to varying workload conditions, transforming static policies into dynamic, self-regulating scheduling behavior

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The scheduling system performs self-adjustment based on detected workload characteristics without requiring external reconfiguration. The system automatically identifies optimal scheduling parameters and isolation levels by analyzing runtime behavior, enabling it to adapt to new workload conditions autonomously while maintaining relatively simple user-side configuration

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240220446A1Methods, systems, and apparatuses for dynamic simultaneous multi-threading (SMT) scheduling to maximize processor performance on hybrid platforms
Publication Date: 2024.07.04 INTEL CORP
  • US20240220446A1 patent drawing
  • US20240220446A1 patent drawing
  • US20240220446A1 patent drawing

AI summary

Techniques for implementing dynamic simultaneous multi-threading (SMT) scheduling on a hybrid processor platforms are described. In certain examples, a hardware processor includes a first plurality of physical processor cores of a first type to implement a plurality of logical processor cores of the first type; a second plurality of physical processor cores of a second type, wherein each core of the second type is to implement a plurality of logical processor cores of the second type; and circuitry to: determine if a set of threads of a foreground application is to use more than a lower threshold (e.g., a threshold number (e.g., one) of logical processor cores) and less than or equal to an upper threshold (e.g., a total number of the first plurality of physical processor cores of the first type and the second plurality of physical processor cores of the second type), and disable a second logical core of a physical processor core of the second type, and not disable a first logical core of the physical processor core of the second type, in response to a determination that the set of threads of the foreground application is to use more than the lower threshold number of logical processor cores and less than or equal to the upper threshold (e.g., the total number of the first plurality of physical processor cores of the first type and the second plurality of physical processor cores of the second type).