System and method thereof to optimize boot time of computers having multiple CPU's
First Claim
1. A computer implemented method, in response to a boot command, for booting a computer system connected to multiple initialized Central Processing Units (CPUs), the computer implemented method comprising:
- accessing a task description chart (TDC) stored in the computer system, wherein the TDC includes a plurality of tasks of a booting process, wherein each task of the plurality of booting process includes selection information of the plurality of tasks of the booting process, comprising a priority field, at least one dependency field, a lock field, and a status field;
categorizing, based on the selection information for the plurality of tasks of the booting process, the accessed TDC to generate;
an independent task chart (ITC) comprising a set of independent tasks independent of any other tasks, anda dependent task chart (DTC) comprising a set of dependent tasks having at least one dependency on another task, wherein the DTC is further categorized into;
a dependent task chart 1 (DTC 1) comprising a first set of dependent tasks from the DTC having at least one dependency on at least one task selected from the set of independent tasks of the ITC, anda dependent task chart 2 (DTC 2) comprising a second set of dependent tasks from the DTC having at least one dependency on the at least one DTC1 task selected from the first set of dependent tasks of the DTC 1 or at least one task selected from the second set of dependent tasks of the DTC 2;
executing the set of tasks from the ITC by selecting at least one ITC task from the ITC based on the selection information, executing the at least one ITC task, updating a status bit register for completion of the at least one ITC task, and checking for at least one unexecuted task from the ITC, therebywhen all tasks in the set of independent tasks of the ITC are completed, selecting at least one DTC 1 task from the DTC 1 based on the selection information, executing the at least one DTC1 task, updating the status bit register for completion of the at least one DTC 1 task, and checking for at least one unexecuted task from the DTC 1, and therebywhen all tasks in the first set of dependent tasks of the DTC 1 are completed, selecting at least one DTC 2 task from the DTC 2 based on the selection information, executing the at least one DTC 2 task based on the at least one dependency on at least one task selected from the first set of dependent tasks of the DTC 1 or at least one task selected from the second set of dependent tasks of the DTC 2, updating the status bit register for completion of the at least one DTC 2 task, and checking for at least one unexecuted task from the DTC 2.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system is provided for optimizing a boot time of a computer system with at least one CPU, in response to a boot command. The system includes memory and a processor. The processor executes instructions stored in the memory to access a task description chart (TDC) comprising essential tasks related to the booting of the system. The TDC is processed offline to create two sets of scheduling charts: an independent task chart (ITC) and a 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 priority. The method and system solve the scheduling overhead problem during the boot process, by optimizing the scheduling.
9 Citations
20 Claims
-
1. A computer implemented method, in response to a boot command, for booting a computer system connected to multiple initialized Central Processing Units (CPUs), the computer implemented method comprising:
-
accessing a task description chart (TDC) stored in the computer system, wherein the TDC includes a plurality of tasks of a booting process, wherein each task of the plurality of booting process includes selection information of the plurality of tasks of the booting process, comprising a priority field, at least one dependency field, a lock field, and a status field; categorizing, based on the selection information for the plurality of tasks of the booting process, the accessed TDC to generate; an independent task chart (ITC) comprising a set of independent tasks independent of any other tasks, and a dependent task chart (DTC) comprising a set of dependent tasks having at least one dependency on another task, wherein the DTC is further categorized into; a dependent task chart 1 (DTC 1) comprising a first set of dependent tasks from the DTC having at least one dependency on at least one task selected from the set of independent tasks of the ITC, and a dependent task chart 2 (DTC 2) comprising a second set of dependent tasks from the DTC having at least one dependency on the at least one DTC1 task selected from the first set of dependent tasks of the DTC 1 or at least one task selected from the second set of dependent tasks of the DTC 2; executing the set of tasks from the ITC by selecting at least one ITC task from the ITC based on the selection information, executing the at least one ITC task, updating a status bit register for completion of the at least one ITC task, and checking for at least one unexecuted task from the ITC, thereby when all tasks in the set of independent tasks of the ITC are completed, selecting at least one DTC 1 task from the DTC 1 based on the selection information, executing the at least one DTC1 task, updating the status bit register for completion of the at least one DTC 1 task, and checking for at least one unexecuted task from the DTC 1, and thereby when all tasks in the first set of dependent tasks of the DTC 1 are completed, selecting at least one DTC 2 task from the DTC 2 based on the selection information, executing the at least one DTC 2 task based on the at least one dependency on at least one task selected from the first set of dependent tasks of the DTC 1 or at least one task selected from the second set of dependent tasks of the DTC 2, updating the status bit register for completion of the at least one DTC 2 task, and checking for at least one unexecuted task from the DTC 2. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system, comprising:
-
multiple Central Processing Units (CPUs); a memory coupled to the multiple CPUs for executing a plurality of instructions stored in the memory, the execution of the instructions causing the multiple CPUs to; access a task description chart (TDC) stored in the computer system, wherein the TDC includes a plurality of tasks of a booting process, wherein each task of the plurality of tasks of the booting process includes selection information of the plurality of tasks of the booting process, comprising a priority field, at least one dependency field, a lock field, and a status field; categorize, based on the selection information for the plurality of tasks of the booting process, the accessed TDC to generate; an independent task chart (ITC) comprising a set of independent tasks independent of any other tasks, and a dependent task chart (DTC) comprising a set of dependent tasks having at least one dependency on another task, wherein the DTC is further categorized into; a dependent task chart 1 (DTC 1) comprising a first set of dependent tasks from the DTC having at least one dependency on at least one task selected from the set of independent tasks of the ITC, and a dependent task chart 2 (DTC 2) comprising a second set of dependent tasks from the DTC having at least one dependency on the at least one DTC 1 task selected from the first set of dependent tasks of the DTC 1 or at least one task selected from the second set of dependent tasks of the DTC 2, execute the set of tasks from the ITC by selecting at least one ITC task from the ITC based on the selection information, execute the at least one ITC task, updating a status bit register for completion of the at least one ITC task, and check for at least one unexecuted task from the ITC, thereby when all tasks in the set of independent tasks of the ITC are completed, select at least one DTC 1 task from the DTC 1 based on the selection information, execute the at least one DTC 1 task, updating the status bit register for completion of the at least one DTC 1 task, and check for at least one unexecuted task from the DTC 1, and thereby when all tasks in the first set of dependent tasks of the DTC 1 are completed, select at least one DTC 2 task from the DTC 2 based on the selection information, execute the at least one DTC 2 task based on the at least one dependency on at least one task selected from the first set of dependent tasks of the DTC 1 or at least one task selected from the second set of dependent tasks of the DTC 2, updating the status bit register for completion of the at least one DTC 2 task, and check for at least one unexecuted task from the DTC 2. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification