Multiprocessor Task Preemption and Reassignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, the interruption of a processor to execute high-priority tasks can lead to inefficiencies due to the overhead of inter-processor interrupts and the time required for idle processors to wake up and resume preempted tasks, resulting in suboptimal processor utilization.

Innovation Solution

The scheduling component proactively sends inter-processor interrupts to idle processors, allowing them to monitor task queues without reentering idle states, ensuring that they can quickly resume preempted tasks, thereby reducing the latency and increasing processor utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a processor is interrupted to execute high-priority tasks, then task priority requirements are met, but processor utilization deteriorates due to idle processor wake-up time

Engineering Contradiction:
Improvetask priority executionVSAvoidprocessor utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system proactively wakes up idle processors before they are actually needed to execute preempted tasks. When a high-priority task is scheduled, the scheduler anticipates that current tasks will be preempted and sends wake-up signals to idle processors in advance, so they are ready to immediately pick up and execute the preempted tasks without entering or reentering idle states.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If idle processors reenter idle states after waking up, then energy consumption is reduced, but task resumption latency increases

Engineering Contradiction:
Improveprocessor energy consumptionVSAvoidtask resumption latency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs the wake-up action preliminarily when high-priority tasks are scheduled, before the actual preemption occurs. This timing ensures processors are awakened just in time to avoid unnecessary idle state transitions while minimizing wait time for task execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts processor states based on scheduling needs. Instead of static idle states, processors are transitioned to active monitoring states proactively, allowing them to quickly pick up preempted tasks while the system adapts to changing task priorities and processor availability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9298504B1Systems, devices, and techniques for preempting and reassigning tasks within a multiprocessor system
Publication Date: 2016.03.29 AMAZON TECH INC
  • US9298504B1 patent drawing
  • US9298504B1 patent drawing
  • US9298504B1 patent drawing

AI summary

In a system having multiple processors, idle processors are wakened in anticipation of tasks that may be subsequently queued. When interrupting a first processor to execute a particular task, a scheduler may also send interrupts to idle or otherwise available processors, instructing the idle processors to begin monitoring task queues and to find and execute compatible tasks that may be subsequently queued.