Configurable Spatial Accelerator Dataflow Execution Circuits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current processor architectures face challenges in achieving exascale performance and energy efficiency, as they struggle to improve both performance and energy efficiency simultaneously due to high energy costs associated with out-of-order scheduling, complex register files, and other structures, making it difficult to meet the demands of high throughput and low energy consumption per operation.
Innovation Solution
A spatial array of processing elements, such as a configurable spatial accelerator (CSA), is introduced, featuring a set of lightweight, back-pressured communication networks and dataflow operators that execute operations only when input data is available and there is space for output, eliminating control overheads and utilizing network dataflow endpoint circuits to perform dataflow operations instead of traditional processing elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional processor architectures with out-of-order scheduling and complex register files are used, then performance can be improved, but energy consumption increases significantly
Solution Approach 1:
The processor is divided into multiple independent processing elements (PEs) that operate in parallel, each handling specific dataflow operations. This segmentation eliminates the need for complex centralized control structures like out-of-order scheduling and large register files, as each PE is simpler and more energy-efficient while collectively achieving high performance through parallel execution
Solution Approach 2:
The dataflow architecture allows operations to execute automatically when input data is available and output space exists, without requiring complex control logic. The system self-regulates through back-pressure mechanisms where downstream PEs signal upstream PEs when their output buffers are full, eliminating the need for energy-intensive control units while maintaining correct execution order
2Adaptability or versatility
If conventional processor structures with control overhead are used, then functionality is maintained, but energy efficiency deteriorates
Solution Approach 1:
The complex control overhead structures (out-of-order schedulers, complex register files, branch prediction units) are extracted and removed from the architecture. Instead, a simpler dataflow control mechanism is implemented where control signals are passed explicitly between PEs through the interconnect network, maintaining functionality while dramatically reducing energy consumption associated with control logic
Solution Approach 2:
The architecture uses dynamic dataflow execution where the activation of each PE is determined by the availability of input data and the status of output buffers. This dynamic execution model allows the system to adapt to different computational workloads without requiring static control structures, achieving versatility with minimal energy overhead
Data Source
AI summary
Systems, methods, and apparatuses relating to a configurable accelerator having dataflow execution circuits are described. In one embodiment, a hardware accelerator includes a plurality of dataflow execution circuits that each comprise a register file, a plurality of execution circuits, and a graph station circuit comprising a plurality of dataflow operation entries that each include a respective ready field that indicates when an input operand for a dataflow operation is available in the register file, and the graph station circuit is to select for execution a first dataflow operation entry when its input operands are available, and clear ready fields of the input operands in the first dataflow operation entry when a result of the execution is stored in the register file; a cross dependence network coupled between the plurality of dataflow execution circuits to send data between the plurality of dataflow execution circuits according to a second dataflow operation entry; and a memory execution interface coupled between the plurality of dataflow execution circuits and a cache bank to send data between the plurality of dataflow execution circuits and the cache bank according to a third dataflow operation entry.


