Multi-CPU Boot Task Scheduling via Offline Chart Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for booting computers with multiple CPUs suffer from significant overhead due to priority, dependency, and task status checks during scheduling, leading to increased boot time and inefficient core utilization.

Innovation Solution

An optimized method and system that categorizes tasks into independent and dependent charts based on priority and dependency, allowing for offline scheduling and execution without additional checks, utilizing a status bit register to manage task execution and reduce overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If parallel execution of boot tasks is implemented using Task Description Chart (TDC) with priority, dependency and task status checks, then boot time optimization is achieved, but scheduling overhead increases significantly

Engineering Contradiction:
Improveboot timeVSAvoidscheduling overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-categorizing all boot tasks into independent task charts (ITC) and dependent task charts (DTC) during system design, before actual boot execution. This offline categorization establishes task relationships and dependencies in advance, eliminating the need for complex runtime checks during boot scheduling, thus reducing scheduling overhead while maintaining parallel execution benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the boot task scheduling process into distinct categories: independent tasks (ITC) that can execute without dependencies, and dependent tasks (DTC) that require prerequisite completion. This segmentation allows the system to apply different scheduling strategies to different task types, simplifying the overall scheduling mechanism while enabling efficient parallel execution of independent tasks

Inventive Principle:
Principle #1Segmentation

2Loss of time

If complete parallelization of boot process is implemented, then boot time is reduced, but core utilization efficiency decreases due to polling and waiting

Engineering Contradiction:
Improveboot timeVSAvoidcore utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies dynamics by implementing an event-driven task execution model where tasks automatically trigger dependent tasks upon completion, rather than using static polling mechanisms. This dynamic approach allows CPU cores to remain active and productive by immediately transitioning to executing newly available tasks, thereby improving core utilization efficiency while maintaining reduced boot time through parallel execution

Inventive Principle:
Principle #15Dynamics

3Reliability

If priority and dependency checks are performed during task scheduling, then task execution correctness is ensured, but scheduling overhead increases

Engineering Contradiction:
Improvetask execution correctnessVSAvoidscheduling overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-establishing task dependency relationships and priority levels during the offline categorization phase. All task metadata including dependencies, priorities, and execution conditions are determined before boot time, allowing the runtime scheduler to simply follow the pre-computed execution plan without performing complex checks, thus ensuring correctness while minimizing overhead

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2962192B1System and method thereof to optimize boot time of computers having multiple cpus
Publication Date: 2017.12.06 HUAWEI TECH CO LTD
  • EP2962192B1 patent drawingFigure 1
  • EP2962192B1 patent drawingFigure 2
  • EP2962192B1 patent drawingFigure 3

AI summary

Disclosed is method and system for optimizing a boot time of a computer system with at least one CPU, in response to a boot command. The system comprises of a memory and a processor. The processor executes a set of instructions stored in the memory to access a task description chart (TDC) comprising a set of essential tasks related to the booting of the system. The TDC is processed offline to create two sets of scheduling charts Viz., Independent Task Chart (ITC) and Dependent Task chart (DTC). The ITC includes all the independent tasks and the DTC includes all the dependent tasks. The DTC is further divided into DTC1 and DTC2. The tasks from all the charts are selected for execution based on the priority. The proposed method and system solves the scheduling overhead problem of the system during the boot process, by optimizing the scheduling process.