Operator graph changes in response to dynamic connections in stream computing applications
US-9135057-B2 · Sep 15, 2015 · US
US10565134B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10565134-B2 |
| Application number | US-201715859473-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 30, 2017 |
| Priority date | Dec 30, 2017 |
| Publication date | Feb 18, 2020 |
| Grant date | Feb 18, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, and apparatuses relating to multicast in a configurable spatial accelerator are described. In one embodiment, an accelerator includes a first output buffer of a first processing element coupled to a first input buffer of a second processing element and a second input buffer of a third processing element; and the first processing element determines that it was able to complete a transmission in a previous cycle when the first processing element observed for both the second processing element and the third processing element that either a speculation value was set to a value to indicate a dataflow token was stored in its input buffer (e.g., as indicated by a reception value (e.g., bit)) or a backpressure value was set to a value to indicate that storage is to be available in its input buffer before dequeuing the dataflow token from the first output buffer.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a first output buffer of a first processing element coupled to a first input buffer of a second processing element and a second input buffer of a third processing element via a data path that is to send a dataflow token to the first input buffer of the second processing element and the second input buffer of the third processing element when the dataflow token is received in the first output buffer of the first processing element; a first backpressure path from the first input buffer of the second processing element to the first processing element to indicate to the first processing element when storage is not available in the first input buffer of the second processing element; a second backpressure path from the second input buffer of the third processing element to the first processing element to indicate to the first processing element when storage is not available in the second input buffer of the third processing element; a first speculation path from the first input buffer of the second processing element to the first processing element to indicate to the first processing element when the dataflow token is to be stored in the first input buffer of the second processing element; and a scheduler of the first processing element to: dequeue the dataflow token from the first output buffer of the first processing element for a first transmission attempt, that sends the dataflow token onto the data path, when the first backpressure path and the second backpressure path indicate storage is available for the first transmission attempt, and when the first backpressure path indicated storage was not available in the first input buffer for the first transmission attempt of the dataflow token and the second backpressure path indicated storage was available in the second input buffer for the first transmission attempt of the dataflow token, dequeue the dataflow token from the first output buffer of the first processing element for a second transmission attempt, that sends the dataflow token onto the data path, when the first speculation path indicates the dataflow token is to be stored in the first input buffer of the second processing element. 2. The apparatus of claim 1 , further comprising a second speculation path from the second input buffer of the third processing element to the first processing element to indicate to the first processing element when the dataflow token is to be stored in the second input buffer of the third processing element, wherein the scheduler of the first processing element is to, when both the first backpres sure path and the second backpressure path indicated storage was not available for the first transmission attempt of the dataflow token, dequeue the dataflow token from the first output buffer of the first processing element for the second transmission attempt of the dataflow token when the first speculation path indicates the dataflow token is to be stored in the first input buffer of the second processing element and the second speculation path indicates the dataflow token is to be stored in the second input buffer of the third processing element. 3. The apparatus of claim 2 , wherein the second processing element is to set a reception bit in storage of the second processing element when the dataflow token is stored in the first input buffer of the second processing element. 4. The apparatus of claim 3 , wherein the scheduler of the first processing element is to clear the reception bit in the storage of the second processing element after the dataflow token is dequeued from the first output buffer of the first processing element. 5. The apparatus of claim 3 , wherein the first speculation path from the first input buffer of the second processing element comprises a first logic gate with a first input coupled to the first backpressure path and a second input coupled to the storage of the second processing element of the reception bit to output a speculation value from the second processing element to the scheduler of the first processing element. 6. The apparatus of claim 5 , wherein the second speculation path from the second input buffer of the third processing element comprises a second logic gate with a first input coupled to the second backpressure path and a second input coupled to storage of the third processing element of a reception bit to output a speculation value from the third processing element to the scheduler of the first processing element. 7. The apparatus of claim 3 , wherein the reception bit being set in the storage of the second processing element does not stall execution of the second processing element on the dataflow token in the first input buffer. 8. The apparatus of claim 1 , wherein the scheduler of the first processing element is to dequeue the dataflow token from the first output buffer of the first processing element for the first transmission attempt of the dataflow token when the first backpressure path and the second backpressure path indicate storage is available and independent of any values on the first speculation path or a second speculation path, wherein the second speculation path from the second input buffer of the third processing element to the first processing element indicates to the first processing element when the dataflow token is to be stored in the second input buffer of the third processing element. 9. A method comprising: coupling a first output buffer of a first processing element to a first input buffer of a second processing element and a second input buffer of a third processing element via a data path that is to send a dataflow token to the first input buffer of the second processing element and the second input buffer of the third processing element when the dataflow token is received in the first output buffer of the first processing element; sending a first backpressure value on a first backpressure path from the first input buffer of the second processing element to the first processing element to indicate to the first processing element when storage is not available in the first input buffer of the second processing element; sending a second backpressure value on a second backpressure path from the second input buffer of the third processing element to the first processing element to indicate to the first processing element when storage is not available in the second input buffer of the third processing element; sending a first speculation value on a first speculation path from the first input buffer of the second processing element to the first processing element to indicate to the first processing element when the dataflow token is to be stored in the first input buffer of the second processing element; dequeuing the dataflow token from the first output buffer of the first processing element for a first transmission attempt that sends the dataflow token onto the data path, when the first backpressure value on the first backpressure path and the second backpressure value on the second backpressure path indicate storage is available for the first transmission attempt; and when the first backpressure value on the first backpressure path indicated storage was not available in the first input buffer for the first transmission attempt of the dataflow token and the second backpressure value on the second backpressure path indicated storage was available the second input buffer for the first transmission attempt of the dataflow token, dequeuing the dataflow token from the first output buffer of the first processing element for a second transmission attempt that sends the dataflow token onto the data path, when the first speculation value on the first speculation path indicates the dataflow token is to be store
Cache consistency protocols · CPC title
using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title
for non-native instruction set, e.g. Javabyte, legacy code · CPC title
in a multiprocessor architecture (interprocessor communication using common memory G06F15/167) · CPC title
using buffers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.