Dynamic Core Affinitization for Thread Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.

