HARDWARE TASK MANAGER
First Claim
1. A computing device comprising:
- a plurality of computing nodes;
a memory in at least one of the plurality of computing nodes, the plurality of computing nodes configured to make memory requests for access to the memory;
an interconnection network operatively coupled to the plurality of computing nodes, the interconnection network providing interconnections among the plurality of computing nodes to route the memory requests;
means for identifying a set of memory requests;
means for determining when all of the memory requests in the set of memory requests have been performed; and
means for initiating execution of a task when all of the memory requests in the set of memory requests have been performed.
2 Assignments
0 Petitions
Accused Products
Abstract
A hardware task manager for managing operations in an adaptive computing system. The task manager indicates when input and output buffer resources are sufficient to allow a task to execute. The task can require an arbitrary number of input values from one or more other (or the same) tasks. Likewise, a number of output buffers must also be available before the task can start to execute and store results in the output buffers. The hardware task manager maintains a counter in association with each input and output buffer. For input buffers, a negative value for the counter means that there is no data in the buffer and, hence, the respective input buffer is not ready or available. Thus, the associated task can not run. Predetermined numbers of bytes, or “units,” are stored into the input buffer and an associated counter is incremented. When the counter value transitions from a negative value to a zero the high-order bit of the counter is cleared, thereby indicating the input buffer has sufficient data and is available to be processed by a task.
-
Citations
28 Claims
-
1. A computing device comprising:
-
a plurality of computing nodes; a memory in at least one of the plurality of computing nodes, the plurality of computing nodes configured to make memory requests for access to the memory; an interconnection network operatively coupled to the plurality of computing nodes, the interconnection network providing interconnections among the plurality of computing nodes to route the memory requests; means for identifying a set of memory requests; means for determining when all of the memory requests in the set of memory requests have been performed; and means for initiating execution of a task when all of the memory requests in the set of memory requests have been performed. - View Dependent Claims (2, 3, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device comprising:
-
a plurality of computing nodes configured to make memory requests for access to a memory in at least one of the plurality of computing nodes; an interconnection network operatively coupled to the plurality of computing nodes, the interconnection network providing interconnections among the plurality of computing nodes to route the memory requests; and a task manager in the at least one of the computing nodes configured to identify a set of memory requests, determine when all of the memory requests in the set of memory requests have been performed and initiate execution of a task when all of the memory requests in the set of memory requests have been performed. - View Dependent Claims (4, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for managing tasks within a computing device having a plurality of computing nodes configured to make memory requests for access to a memory in at least one of the plurality of computing nodes, and an interconnection network operatively coupled to the plurality of computing nodes, the interconnection network providing interconnections among the plurality of computing nodes and the memory to route the memory requests, said method comprising:
-
identifying a set of memory requests; determining when all of the memory requests in the set of memory requests have been performed; and initiating execution of a task when all of the memory requests in the set of memory requests have been performed. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
Specification