Dynamic Task Pulling and Pushing Across Heterogeneous Processor Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current operating systems lack an effective solution for scheduling tasks across multiple processor units of different capacities in heterogeneous multiprocessing architectures, leading to inefficient task distribution and processing.
Innovation Solution
A method where tasks are initially scheduled on the lowest capacity processor units, with higher capacity units able to pull processing-intensive tasks from lower capacity units when idle and push less intensive tasks to lower capacity units when overloaded, maintaining system equilibrium by matching task needs with corresponding processor capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tasks are scheduled on lowest capacity processor units initially, then all tasks can be accommodated, but processing efficiency deteriorates because intensive tasks run on underpowered units
Solution Approach 1:
The scheduling system dynamically adjusts task distribution by allowing processor units to pull tasks from lower capacity units when idle and push tasks to lower capacity units when overloaded. This dynamic reallocation continues until system equilibrium is reached, resolving the contradiction between initial simple scheduling and optimal processing efficiency.
Solution Approach 2:
The system monitors task processor usage and uses this feedback to determine when to pull or push tasks between processor units. Processor units with higher capacity monitor usage patterns and adjust task assignment accordingly, creating a self-regulating mechanism that optimizes processing efficiency without complex external control.
2Productivity
If higher capacity processor units run all tasks, then processing efficiency improves, but resource utilization deteriorates because capacity is wasted on simple tasks
Solution Approach 1:
The system dynamically balances task distribution by enabling higher capacity processor units to pull intensive tasks when idle while pushing simple tasks to lower capacity units when overloaded. This dynamic adjustment ensures optimal resource utilization across all processor units.
Solution Approach 2:
The system changes the distribution parameter of tasks across processor units based on monitored usage patterns. When a higher capacity unit has idle time, the system changes task assignment by pulling intensive tasks to it; when overloaded, it pushes simple tasks to lower capacity units, optimizing resource utilization.
3Adaptability or versatility
If tasks are statically assigned to processor units, then scheduling is simple, but system adaptability deteriorates when processor usage patterns change
Solution Approach 1:
The system transitions from static to dynamic task assignment by allowing processor units to autonomously pull or push tasks based on real-time usage monitoring. This dynamic mechanism adapts to changing usage patterns without requiring complex external reconfiguration.
Solution Approach 2:
Processor units self-regulate task distribution by monitoring their own usage and autonomously pulling tasks when idle or pushing tasks when overloaded. This self-service mechanism provides high adaptability without requiring complex centralized scheduling control.
Data Source
AI summary
A mechanism is provided for scheduling tasks across multiple processor units of differing capacity. In a multiple processor unit system with processor units of disparate speeds, it is advantageous to have the most processing-intensive tasks run on the processor units with the highest capacity. All tasks are initially scheduled on the lowest capacity processor units. Because processor units with higher capacity are more likely to have idle time, these higher capacity processor units may pull one or more tasks onto themselves from the same or lower capacity processor units. A processor unit will attempt to pull tasks that utilize a larger percentage of the timeslice. When a higher capacity processor unit is overloaded or near capacity, the higher capacity processor unit may push tasks to processor units with the same or lower capacity. A processor unit will attempt to push tasks that utilize a smaller percentage of the timeslice.


