Data Flow Program Optimization via Access Pattern Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data flow programming techniques require significant manual analysis and testing, making them difficult, tedious, and error-prone for high-performance applications like digital signal processing, especially when implementing on programmable hardware such as FPGAs, where efficient resource usage and execution requirements are critical.

Innovation Solution

A system and method that optimizes data flow programs by incorporating access pattern information, allowing for the generation of optimized implementations that meet user-defined execution requirements, such as latency, throughput, and buffer size, through the use of access pattern information and linear inequalities, enabling automated analysis and optimization of data flow diagrams and specifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual analysis and testing are used to optimize data flow programs, then implementation accuracy can be maintained, but the process becomes difficult, tedious, and error-prone

Engineering Contradiction:
Improveimplementation accuracyVSAvoidease of optimization process
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system enables automated self-optimization by having the data flow program analyze its own access patterns and generate optimization recommendations without requiring manual intervention. The automated analyzer examines token consumption and production patterns, schedules actor firings, and optimizes buffer sizes based on the program's own execution characteristics.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical analysis processes with an automated computer-based system. The automated analyzer uses computational algorithms to examine access patterns, calculate optimization parameters, and generate recommendations, substituting the manual mechanical process of analyzing data flow programs with an automated electronic system.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If access pattern information is incorporated into the optimization process, then resource utilization and performance can be improved, but the complexity of the system increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of access patterns during the optimization phase, examining token consumption and production schedules before generating the final optimized implementation. This preliminary action allows the system to calculate optimal buffer sizes and scheduling parameters in advance, improving resource utilization without requiring complex runtime analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent optimizes resource utilization by changing key parameters such as buffer sizes, actor firing schedules, and token production/consumption rates based on analyzed access patterns. The system adjusts these parameters to match the actual data flow characteristics, improving productivity while managing system complexity through parameter-based optimization rather than structural complexity.

Inventive Principle:
Principle #35Parameter changes

3Extent of automation

If automated optimization is implemented, then manual effort and errors are reduced, but the need for access pattern information and analysis increases

Engineering Contradiction:
Improveautomation levelVSAvoidanalysis requirements
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The automated optimization system serves itself by automatically analyzing its own access patterns and generating optimization recommendations. The data flow program provides its own access pattern information to the automated analyzer, which then produces optimized scheduling and buffer size recommendations without requiring external manual analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where the automated analyzer examines actual access pattern data from the data flow program, compares it against optimization goals, and generates recommendations based on this feedback. The access pattern information serves as feedback that drives the automated optimization process, allowing the system to adapt to actual execution characteristics.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9335977B2Optimization of a data flow program based on access pattern information
Publication Date: 2016.05.10 NATIONAL INSTRUMENTS CORP
  • US9335977B2 patent drawing
  • US9335977B2 patent drawing
  • US9335977B2 patent drawing

AI summary

System and method for optimizing a data flow diagram based on access pattern information are described. Access pattern information for a data flow diagram may be received. The data flow diagram may include a plurality of interconnected actors, e.g., functional blocks, visually indicating functionality of the data flow diagram. The access pattern information may include one or more of: input pattern information specifying cycles on which tokens are consumed by at least one of the actors, or output pattern information specifying cycles on which tokens are produced by at least one of the actors. A program that implements the functionality of the data flow diagram may be generated based at least in part on the access pattern information.