Dynamic multilevel task management method and apparatus
First Claim
1. In a data processing system, a method of selecting tasks for execution by one or more system resources comprising the steps of:
- (a) placing a task set into circuit modules arranged in a predetermined order determined by a task ID code, each of said circuit modules comprising a bid constructor circuit for constructing a bid for each task, said bid comprising at least a priority code and said task ID code, the bid comprising an integral portion and a fractional portion, the integral portion being determined by the priority code and the fractional portion indicating whether the task has been previously executed;
(b) establishing in each of said circuit modules a single priority code for each task in the task set thereby rendering the task set as a round-robin task set;
(c) initiating the execution of the round-robin task set in the order established by the task ID code;
(d) interrupting the execution of the round-robin task set for a new task comprising a second round-robin task set having a higher priority code than the priority code established for the round-robin task set, wherein said priority codes vary dynamically over time; and
(e) after the execution of the new task, resuming the execution of the round-robin set while maintaining the order of said round-robin task set as established in step (a).
0 Assignments
0 Petitions
Accused Products
Abstract
A method for the orderly execution of multiple tasks in a data processing system and a circuit for implementing that method include a plurality of task modules which construct bids based upon the order of the task and its priority. The highest priority highest order number tasks are switched to available system execution resources. The system permits the orderly execution of round-robin task sets in an environment of dynamically changing priorities. When a round-robin task set is interrupted, the system is able to return to the round-robin task set after execution of the higher priority task at the exact point the interruption occurred.
70 Citations
9 Claims
-
1. In a data processing system, a method of selecting tasks for execution by one or more system resources comprising the steps of:
-
(a) placing a task set into circuit modules arranged in a predetermined order determined by a task ID code, each of said circuit modules comprising a bid constructor circuit for constructing a bid for each task, said bid comprising at least a priority code and said task ID code, the bid comprising an integral portion and a fractional portion, the integral portion being determined by the priority code and the fractional portion indicating whether the task has been previously executed;
(b) establishing in each of said circuit modules a single priority code for each task in the task set thereby rendering the task set as a round-robin task set;
(c) initiating the execution of the round-robin task set in the order established by the task ID code;
(d) interrupting the execution of the round-robin task set for a new task comprising a second round-robin task set having a higher priority code than the priority code established for the round-robin task set, wherein said priority codes vary dynamically over time; and
(e) after the execution of the new task, resuming the execution of the round-robin set while maintaining the order of said round-robin task set as established in step (a). - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a data processing system, a method of selecting tasks for execution by one or more system resources comprising the steps of:
-
(a) establishing a task set in circuit modules, said circuit modules arranged in a predetermined order determined by a task ID code;
(b) establishing in each of said circuit modules a priority code for each task in the task set;
(c) creating a bid for each task in the task set, the bid comprising a priority code and the task ID code;
(i) determining if the task ID code of the next task to run matches or is greater than the task ID code of any task in the task set, and (ii) determining if the priority code of the next task to run matches the priority code of any task in the task set;
(d) selecting the highest valued bid for execution by a system resource and designating said task as the next task to run;
(e) executing the next task to run, and after the execution of said task, comparing the priority code and task ID code of said task with each of the other tasks in the task set. - View Dependent Claims (7, 8, 9)
-
Specification