Scheduler for a fine grained graph processor
First Claim
1. A method for scheduling a task for a fine grained graph processor, the method operated by a scheduler in a fine grained graph processor based system and comprising:
- i. scheduling nodes of a same label field within a set of nodes of an unscheduled sequencing graph for execution by said fine grained graph processor within a same execution time slot to form a scheduled sequencing graph, wherein;
(1) said fine grained graph processor includes a matrix of execution units interconnected by port blocks and a global switched memory, wherein said matrix includes planes of execution units and said planes are interconnected by said global switched memory, and wherein each execution unit of said matrix includes a broadcast switch element, a receive switch element, or a memory element;
(2) said unscheduled sequencing graph is generated from a task coded in a computer programming language; and
(3) said unscheduled sequencing graph includes said set of nodes indicating a set of instructions of said task, each node within said set of nodes including a label field that indicates a distance between nodes of said unscheduled sequencing graph; and
ii. during each scheduling cycle, checking for availability of a least expensive execution path and required execution units for executing instructions of said scheduled sequencing graph within a corresponding execution time slot by determining a first status of execution units of said fine grained graph processor, and a second status of an execution unit scoreboard.
1 Assignment
0 Petitions
Accused Products
Abstract
A novel scheduler design is provided that schedules a set of operations to an array of similar or dissimilar, candidate operations on a cycle by cycle basis, out of a total number of operations. The array of similar or dissimilar units can be atomic in nature or ALU like or complete processors. The scheduler is able to map the operations in a data flow/sequencing graph to the two dimensional or 3 dimensional array (which can be extended to a multi-dimensional array) optimally so as to minimize the total execution times. The mapping is path based computation, where a particular sequence of instructions is routed through the underlying matrix in path that minimized the number of memory hops.
29 Citations
12 Claims
-
1. A method for scheduling a task for a fine grained graph processor, the method operated by a scheduler in a fine grained graph processor based system and comprising:
-
i. scheduling nodes of a same label field within a set of nodes of an unscheduled sequencing graph for execution by said fine grained graph processor within a same execution time slot to form a scheduled sequencing graph, wherein; (1) said fine grained graph processor includes a matrix of execution units interconnected by port blocks and a global switched memory, wherein said matrix includes planes of execution units and said planes are interconnected by said global switched memory, and wherein each execution unit of said matrix includes a broadcast switch element, a receive switch element, or a memory element; (2) said unscheduled sequencing graph is generated from a task coded in a computer programming language; and (3) said unscheduled sequencing graph includes said set of nodes indicating a set of instructions of said task, each node within said set of nodes including a label field that indicates a distance between nodes of said unscheduled sequencing graph; and ii. during each scheduling cycle, checking for availability of a least expensive execution path and required execution units for executing instructions of said scheduled sequencing graph within a corresponding execution time slot by determining a first status of execution units of said fine grained graph processor, and a second status of an execution unit scoreboard. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
Specification