Multi-CPU Boot Task Scheduling via Offline Chart Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
3Reliability
If priority and dependency checks are performed during task scheduling, then task execution correctness is ensured, but scheduling overhead increases
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
Data Source
Figure 1
Figure 2
Figure 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.