Hardware Task Scheduling Device Eliminates Polling Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional task scheduling on processors incurs unnecessary overhead and inefficiency due to continuous polling of status registers, wasting CPU cycles and increasing power usage with minimal actual work done.

Innovation Solution

A hardware-based task scheduling system that includes a task selection device with hardware logic and an arbiter, which detects component conditions, determines executable tasks, and transfers execution directly to the next task without polling, using a function pointer table to manage task execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the processor runs in a loop calling each task in turn and polls status registers to check prerequisite conditions, then task scheduling can be achieved without operating system overhead, but CPU cycles are wasted (10-15% loss) due to continuous polling

Engineering Contradiction:
Improvescheduling overheadVSAvoidCPU cycle waste
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The hardware logic circuit proactively monitors component status registers and determines task readiness in advance, rather than waiting for the processor to poll. When prerequisite conditions are met, the hardware logic sets corresponding bits in a task readiness register, preparing task information for immediate execution without requiring processor intervention to check status.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A hardware logic circuit acts as an intermediary between status registers and the processor loop. This intermediary continuously monitors status registers, evaluates prerequisite conditions, and maintains a task readiness register that the processor can quickly check. The hardware logic absorbs the polling function, eliminating the need for the processor to repeatedly check status registers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the processor continuously polls status registers to determine if tasks can be executed, then task execution conditions can be detected, but power usage increases for minimal actual work done

Engineering Contradiction:
Improvetask execution condition detectionVSAvoidprocessor power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The hardware logic circuit performs self-service by autonomously monitoring status registers and determining task readiness without processor involvement. The circuit continuously evaluates prerequisite conditions and updates the task readiness register automatically, freeing the processor from energy-consuming polling operations while maintaining reliable detection of execution conditions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The hardware logic proactively determines task readiness in advance by continuously monitoring status registers and setting bits in the task readiness register when conditions are met. This preliminary action ensures that when the processor needs to execute a task, the information is already prepared, eliminating the need for energy-intensive repeated polling.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If tasks poll status registers on entry to check prerequisite conditions, then tasks can determine if they can proceed, but unnecessary overhead is incurred for tasks that cannot execute

Engineering Contradiction:
Improvetask execution autonomyVSAvoideffective work vs overhead
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The hardware logic circuit performs preliminary evaluation of prerequisite conditions and sets corresponding bits in the task readiness register before tasks are called. When the processor loop checks the task readiness register, it can immediately identify which tasks are ready to execute without requiring tasks to poll status registers, eliminating wasted overhead for non-executable tasks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hardware logic circuit serves as an intermediary that prepares task readiness information in advance. Instead of tasks independently polling status registers, the hardware logic consolidates this information and presents it to the processor loop through the task readiness register, reducing redundant polling operations and improving productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11704152B2Processor zero overhead task scheduling
Publication Date: 2023.07.18 KIOXIA CORP
  • US11704152B2 patent drawing
  • US11704152B2 patent drawing
  • US11704152B2 patent drawing

AI summary

A method for scheduling tasks on a processor includes detecting, in a task selection device communicatively coupled to the processor, a condition of each of a plurality of components of a computer system comprising the processor, determining a plurality of tasks that can be next executed on the processor based on the condition of each of the plurality of components, transmitting a signal to an arbiter of the task selection device that the plurality of tasks can be executed, determining, at the arbiter, a next task to be executed on the processor, storing, by the task selection device, the entry point address of the next task to be executed on the processor, and transferring, by the processor, execution to the stored entry point address of the next task to be executed.