Intermediate Block Storage Allocation for Directed Graph Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing techniques, such as neural network and graphics processing, face challenges in efficiently handling large amounts of data due to limitations in managing storage and execution of complex operations within processors.
Innovation Solution
A processor is designed with storage, execution circuitry, and a handling unit that allocates physical storage locations for intermediate data blocks and generates execution instructions to facilitate efficient execution of consumption operations, allowing for flexible and complex task execution by traversing location data and sending instructions to execution circuitry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If intermediate data blocks are stored in storage for use across multiple operations, then the flexibility and efficiency of executing complex tasks is improved, but the storage management complexity and overhead increases
Solution Approach 1:
The handling unit acts as an intermediary between production operations and consumption operations, managing the allocation of physical storage locations for intermediate data blocks. It generates execution instructions that include location data, enabling consumption operations to efficiently access intermediate blocks without direct management overhead, thus improving execution efficiency while controlling complexity
Solution Approach 2:
The handling unit pre-allocates physical storage locations for intermediate data blocks before consumption operations execute. By preparing storage locations in advance and generating execution instructions with embedded location data, the system eliminates runtime storage management overhead and improves overall execution efficiency
2Ease of operation
If physical storage locations are allocated for intermediate data blocks with location data, then data accessibility across operations is improved, but the overhead of generating and traversing execution instructions increases
Solution Approach 1:
The handling unit generates execution instructions that are self-contained with embedded location data for intermediate data blocks. These instructions automatically traverse the location data structure and directly access the required storage locations, enabling consumption operations to execute autonomously without additional management overhead, thus improving data accessibility while controlling instruction generation complexity
Data Source
AI summary
A processor comprising storage, execution circuitry and a handling unit configured to obtain task data that describes a task to be executed, comprising a plurality of operations representable as a directed graph of operations. The plurality of operations comprises: a set of production operations comprising generating a set of blocks comprising an intermediate block generated by a production operation in determining a final block; and a consumption operation. The handling unit generates a set of location data indicative of respective physical storage locations allocated to store respective blocks, traverses the set of location data to obtain location data indicative of a physical storage location for storing the intermediate block, and generates and sends execution instructions to instruct the execution circuitry to execute at least part of the consumption operation to read the intermediate block from the physical storage location, the execution instructions comprising the location data.


