Dynamic Core Affinitization for Thread Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information handling systems lack the ability for users to control or influence the scheduling of threads across different core types (P-cores and E-cores) and accelerators, limiting flexibility in operating modes and performance optimization.

Innovation Solution

An information handling system that includes a processor with both P-cores and E-cores, along with an accelerator, provides affinity information to a scheduler. An experience optimization module offers hints to the scheduler to override default scheduling, allowing threads to be scheduled on specific core types or accelerators based on user-selected operating modes and application requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the system uses default scheduling without user control, then the scheduling process is simple and automated, but the flexibility and ability to optimize for specific operating modes is limited

Engineering Contradiction:
Improveflexibility in operating modesVSAvoidscheduling control mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scheduling system transitions from a static default scheduling mechanism to a dynamic scheduling system that can adapt to different operating modes. The scheduler receives hints from the experience optimization module and adjusts thread placement decisions in real-time based on user-selected operating modes, enabling flexible adaptation while maintaining a relatively simple user interface through affinity information provision.

Inventive Principle:
Principle #15Dynamics

2Productivity

If threads are scheduled automatically without user input, then the system operation is simple, but the ability to optimize performance for specific applications is reduced

Engineering Contradiction:
Improveperformance optimizationVSAvoiduser control requirement
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system implements self-service scheduling where the experience optimization module automatically provides hints to the scheduler based on the selected operating mode. Users simply select their preferred operating mode, and the system automatically translates this into scheduling decisions through affinity information, eliminating the need for complex manual thread placement control while maintaining performance optimization capabilities.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If the system provides detailed control over thread scheduling, then user control and customization are improved, but the complexity of the scheduling system increases

Engineering Contradiction:
Improveuser control capabilityVSAvoidscheduling system structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The affinity information acts as an intermediary between the user's operating mode selection and the detailed scheduling decisions. Rather than requiring users to directly control individual thread placement, the experience optimization module translates high-level operating mode preferences into scheduling hints, which the scheduler then uses to make detailed thread-to-core assignments, simplifying the user interface while enabling detailed control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250138877A1Dynamic core class affinitization in an information handling system
Publication Date: 2025.05.01 DELL PROD LP
  • US20250138877A1 patent drawing
  • US20250138877A1 patent drawing

AI summary

An information handling system includes a processor and a scheduler. The processor includes first cores of a first type and second cores of a second type and provides affinity information associated with first cores and the second cores. The scheduler schedules threads on the first cores and the second cores based on the affinity information. The information handling system provides an indication to the scheduler to schedule a thread on the first cores. The scheduler determines that thread is to be scheduled on the second cores based on the affinity information, and schedules the thread on the first cores based on the indication.