Dynamic Task Pulling and Pushing Across Heterogeneous Processor Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

2Productivity

If higher capacity processor units run all tasks, then processing efficiency improves, but resource utilization deteriorates because capacity is wasted on simple tasks

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidresource waste
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If tasks are statically assigned to processor units, then scheduling is simple, but system adaptability deteriorates when processor usage patterns change

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidscheduling mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8656405B2Pulling heavy tasks and pushing light tasks across multiple processor units of differing capacity
Publication Date: 2014.02.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8656405B2 patent drawing
  • US8656405B2 patent drawing
  • US8656405B2 patent drawing

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.