Real-time Scheduling Using Expected Resource Usage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Scheduling tasks in multi-core systems and data centers is a complex NP-hard optimization problem that leads to sub-optimal resource allocation, resulting in latency degradation, wasted resources, high cost, and high power consumption due to the exponential increase in possible combinations with larger numbers of tasks and resources.
Innovation Solution
A method utilizing a special purpose optimization processor and coprocessor that analyzes applications to determine expected runtime resource use, assigning resources based on latency and resource contention costs, and continuously updating allocation schemes to optimize task distribution across processing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If optimal scheduling is attempted for large numbers of tasks and resources, then resource allocation efficiency improves, but computation time and system complexity increase exponentially
Solution Approach 1:
The patent segments the scheduling problem into multiple components: task affinity analysis, resource availability detection, and dynamic assignment decisions. The scheduler processes tasks in discrete time slots and makes incremental allocation decisions rather than attempting to solve the entire scheduling problem at once, thereby reducing computational complexity while maintaining optimization goals.
Solution Approach 2:
The system performs preliminary analysis of task-resource affinity relationships before actual scheduling occurs. By pre-computing compatibility metrics between tasks and resources, the scheduler reduces the computational burden during real-time decision-making, enabling efficient optimal scheduling without exponential complexity increases.
2Speed
If simple heuristic scheduling is used, then scheduling speed improves, but resource utilization and performance deteriorate
Solution Approach 1:
The patent implements partial optimization by focusing scheduling efforts on the most critical resources and tasks rather than attempting to optimize every assignment equally. The scheduler applies sophisticated optimization algorithms selectively to high-impact decisions while using simpler rules for less critical assignments, maintaining fast scheduling speeds while improving overall resource utilization.
Solution Approach 2:
The system enables resources to self-report their availability and performance characteristics, and tasks to self-describe their requirements and preferences. This self-service mechanism reduces the computational burden on the central scheduler, enabling faster decision-making while still achieving optimized resource allocation through automated affinity-based matching.
3Ease of operation
If uniform random task distribution is applied, then scheduling simplicity is maintained, but resource contention and latency increase
Solution Approach 1:
The patent changes the scheduling parameter from uniform random distribution to affinity-based selective distribution. The scheduler considers task-resource compatibility metrics, resource availability states, and historical performance data to dynamically adjust assignment decisions. This parameter change eliminates hotspots and reduces latency while maintaining operational simplicity through automated decision rules.
Solution Approach 2:
The system implements feedback mechanisms where resource performance, task completion times, and contention patterns are continuously monitored and fed back to the scheduler. This feedback enables the scheduler to adapt its assignment strategy in real-time, avoiding high-latency assignments and optimizing resource utilization without complicating the scheduling operation.
4Speed
If preset waiting time mechanisms are used for resource availability checking, then scheduling speed is maintained, but resource allocation optimality deteriorates
Solution Approach 1:
The patent transitions from static preset waiting time mechanisms to dynamic resource availability detection. The scheduler continuously monitors resource states and adjusts assignment timing based on real-time availability rather than fixed waiting periods. This dynamic approach maintains scheduling speed by making decisions only when resources are actually available, while improving allocation optimality by capturing genuine availability opportunities.
Data Source
AI summary
A method of assigning processing resources is described. The method includes receiving an application and analyzing the application to determine an expected run time use of the processing resources. At least a portion of the processing resources are assigned to the application based on the expected run time use of the processing resources. A computing system architecture including a processing resource pool, an interface, and a special purpose optimization coprocessor is also described. The interface receives an application to be executed. The special purpose optimization coprocessor receives information about the application and the processing resource pool and outputs an allocation scheme for allocating tasks of the application to the processing resource pool.


