List scheduling algorithm for a cycle-driven instruction scheduler
First Claim
1. A method for scheduling a plurality of operations of one or more types of operations using a parallel processing architecture including a plurality of computing resources, the method comprising:
- (a) building a list of partial lists for the one or more types of operations, the partial lists including one or more operations from the plurality of operations;
(b) determining a current partial list of a type of operation to allocate from the list of partial lists;
(c) allocating a computing resource for an operation in the current partial list;
(d) determining if additional computing resources for the type of operation are available for the current partial list;
(e) if additional computing resources are available, reiterating to step (b);
(f) if additional computing resources are not available, performing the steps of;
(1) excluding the current partial list from the list;
(2) if the list includes any other partial lists, reiterating to step (b).
1 Assignment
0 Petitions
Accused Products
Abstract
A method for scheduling a plurality of operations of one or more types of operations including a plurality of computing resources is provided. The method includes building a list of partial lists for the one or more types of operations where the partial lists include one or more operations. A current partial list of a type of operation is determined. A computing resource for an operation in the current partial list is then allocated. The method then determines if additional computing resources for the type of operation are available for the current partial list. If so, the method reiterates back to determining a current partial list. If additional computing resources are not available, the method performs the steps of excluding the current partial list from the list and if the list includes any other partial lists, reiterating back to determining a current partial list.
57 Citations
16 Claims
-
1. A method for scheduling a plurality of operations of one or more types of operations using a parallel processing architecture including a plurality of computing resources, the method comprising:
-
(a) building a list of partial lists for the one or more types of operations, the partial lists including one or more operations from the plurality of operations;
(b) determining a current partial list of a type of operation to allocate from the list of partial lists;
(c) allocating a computing resource for an operation in the current partial list;
(d) determining if additional computing resources for the type of operation are available for the current partial list;
(e) if additional computing resources are available, reiterating to step (b);
(f) if additional computing resources are not available, performing the steps of;
(1) excluding the current partial list from the list;
(2) if the list includes any other partial lists, reiterating to step (b). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for scheduling a plurality of operations using a parallel processing architecture including a plurality of computing resources, the method comprising:
-
(a) building a list of partial lists, the partial lists including one or more operations in the plurality of operations;
(b) assigning priorities to the partial lists;
(c) determining a current partial list with a highest priority;
(d) allocating an available computing resource for an operation in the current partial list;
(e) assigning a new priority to the current partial list;
(f) determining if additional computing resources are available for the current partial list;
(g) if additional computing resources are available, performing the steps of;
(1) determining if the current partial list includes additional operations;
(2) if the current partial list includes additional operations, reiterating to step (d);
(3) if the current partial list does not include additional operations, excluding the current partial list from the list and reiterating to step (c);
(h) if additional computing resources are not available, performing the steps of;
(1) excluding the current partial list from the list;
(2) if the list includes any other partial lists, reiterating to step (c). - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification