Thread Scheduling for Heterogeneous Multi-Core Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Heterogeneous multi-core processors face inefficiencies in performance and power consumption due to threads with the same context being distributed across cores of different functions during heterogeneous multi-processing operations, leading to processing delays and increased power consumption.
Innovation Solution
A scheduling method that detects threads sharing the same context and migrates them to execute on high-performance cores, ensuring that threads with the same context are assigned to cores with similar functions, thereby reducing inefficiencies and optimizing performance and power usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If threads with the same context are distributed across cores of different functions in heterogeneous multi-core processors, then core utilization is improved, but processing speed and power efficiency deteriorate
Solution Approach 1:
The patent applies local quality by assigning threads with the same context to cores with matching functions (high-performance threads to high-performance cores, low-performance threads to low-performance cores). This ensures that each local region (core) processes threads with appropriate performance characteristics, avoiding the speed mismatch that occurs when threads are arbitrarily distributed across heterogeneous cores.
Solution Approach 2:
The patent changes the scheduling parameter from arbitrary core assignment to context-based core selection. The scheduler detects threads with the same context and modifies the assignment parameter to ensure they are allocated to cores with matching performance levels, thereby resolving the contradiction between utilization and processing speed.
2Productivity
If threads with the same context are distributed across cores of different functions, then load balancing is improved, but power consumption increases
Solution Approach 1:
The patent applies local quality by matching thread context characteristics with core performance characteristics. Threads requiring high performance are assigned to high-performance cores, while less demanding threads are assigned to low-performance cores. This prevents high-performance cores from being idle while low-performance cores are overloaded, achieving load balancing without excessive power consumption.
Solution Approach 2:
The patent introduces dynamic thread migration capability that allows threads to move between cores based on runtime conditions. When a thread's context changes or performance requirements evolve, the scheduler can dynamically reassign the thread to an appropriate core, maintaining optimal load balancing and power efficiency throughout execution.
3Use of energy by moving object
If heterogeneous multi-core processors use cluster switching manner, then power efficiency is improved for specific tasks, but overall performance deteriorates during simultaneous multi-threaded operations
Solution Approach 1:
The patent applies universality by enabling each core to handle multiple thread contexts dynamically. Instead of dedicating specific cores to specific clusters for specific task types, any core can execute any thread as long as the context matching criteria are met. This multi-functional approach allows flexible resource allocation that maintains both power efficiency and overall performance.
Solution Approach 2:
The patent implements feedback mechanisms where the scheduler continuously monitors thread execution status, context changes, and core performance metrics. Based on this feedback, the scheduler adjusts thread-to-core assignments in real-time, migrating threads between cores and clusters as needed to optimize both power efficiency and performance for the current workload mix.
Data Source
AI summary
A scheduling method of a system-on-chip including a multi-core processor includes detecting a scheduling request of a thread to be executed in the multi-core processor, and detecting a calling thread having the same context as the scheduling-requested thread among threads that are being executed in the multi-core processor. The method includes reassigning or resetting the scheduling-requested thread according to performance of a core to execute the calling thread having the same context.


