Dataflow Circuit Memory Allocation via Local and Shared Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current programmable logic devices face a tradeoff between maximizing data throughput and minimizing resource cost in dataflow systems, as existing methods for allocating data between communication buffers do not account for the specific access patterns of data passing through communication buffers, leading to suboptimal performance in applications like network packet transmission and video decompression.
Innovation Solution
A method and apparatus for implementing a dataflow circuit model that assigns data portions to either local queue storage or centralized shared storage based on the access levels of actors, using a combination of static and dynamic analysis to optimize memory allocation and balance between throughput and cost.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If dedicated communication queues are used for data storage, then data throughput is improved, but resource cost increases
Solution Approach 1:
The patent applies local quality by differentiating storage allocation at the data portion level rather than uniform allocation. Specifically, frequently accessed data portions are allocated to local queue storage (higher quality storage for critical data), while infrequently accessed portions use shared memory storage (lower quality storage for non-critical data). This resolves the contradiction by optimizing throughput for critical data while minimizing resource cost for non-critical data.
Solution Approach 2:
The patent segments data objects into multiple data portions and applies different storage allocation strategies to different portions based on their access characteristics. This segmentation allows the system to achieve high throughput for frequently accessed portions while using cheaper storage for less critical portions, thereby resolving the throughput versus resource cost tradeoff.
2Quantity of substance
If shared memory is used for data storage, then resource cost is reduced, but data throughput decreases
Solution Approach 1:
The patent applies local quality by allocating storage resources differentially based on data access patterns. Critical data portions requiring high throughput are placed in local queue storage with dedicated access, while non-critical portions use shared memory. This ensures that resource cost is minimized overall while throughput is maintained for data that actually requires it.
Solution Approach 2:
The patent implements dynamic storage allocation where the assignment of data portions to local or shared storage is determined based on runtime access patterns and performance requirements. This dynamic approach allows the system to adaptively balance resource cost and throughput based on actual workload characteristics.
Data Source
AI summary
Method, apparatus, and computer readable medium for implementing a circuit model in an integrated circuit are described. In some examples, the circuit model includes a communication channel between actors. Data portions of at least one data object passed between the actors over the communication channel are identified. An implementation is generated for the circuit model in which data portions are assigned to either local queue storage of the communication channel or centralized shared storage of the communication channel based on levels of access thereof by the actors.


