Dataflow Graph Visualization with Embedded Execution Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional dataflow graph visualization tools require a fully functional dataflow computer program as input and are unable to correlate performance metrics with the graph, necessitating significant design expertise and an iterative process of rewriting and re-evaluating the program to address performance bottlenecks.

Innovation Solution

A computer-based tool that analyzes a computer program to generate a dataflow graph with embedded performance metrics, allowing users to visualize and refactor the graph directly, facilitating the detection and modification of performance-improving changes without rewriting the original code, and operating on programs from both dataflow and sequential paradigms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional dataflow graph visualization tools are used, then a fully functional dataflow computer program is required as input, but this increases the complexity and time required for performance analysis

Engineering Contradiction:
Improveperformance metrics correlationVSAvoiddesign expertise required
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis on computer programs before they are fully developed or executed. By analyzing source code and generating dataflow graphs with embedded performance metrics during the development phase rather than requiring a complete functional program, the system enables early performance evaluation and reduces the need for iterative rewriting and re-evaluation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary analysis layer that translates source code into dataflow graphs with embedded performance metrics. This intermediary representation allows performance analysis without requiring the program to be fully functional, bridging the gap between source code and executable performance measurement.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If iterative processes of rewriting and re-evaluating the program are used to address performance bottlenecks, then performance can be improved, but this increases the time and number of steps required

Engineering Contradiction:
Improveperformance optimizationVSAvoiditerative process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Performance metrics are embedded in the dataflow graph during the initial analysis phase, allowing performance bottlenecks to be identified early in the development process. This preliminary identification reduces the need for multiple iterative cycles of rewriting and re-evaluating, as performance issues can be addressed in the design phase rather than discovered during later testing and optimization cycles.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If dataflow graphs are generated without embedded performance metrics, then the graph structure can be visualized, but the ability to correlate performance metrics with the graph is lost

Engineering Contradiction:
Improvegraph visualizationVSAvoidperformance metrics correlation
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system merges the dataflow graph structure with performance metrics into a single integrated representation. By embedding performance metrics directly in the dataflow graph nodes and edges, the system maintains visual clarity while simultaneously preserving performance information, eliminating the need for separate metrics correlation processes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The dataflow graph serves multiple functions simultaneously: it visualizes the program structure and contains embedded performance metrics. This multi-functional representation allows the same graphical structure to provide both visual understanding and performance analysis capabilities without requiring separate systems or processes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11989537B2Dataflow-based computer program visualization and refactoring
Publication Date: 2024.05.21 XILINX INC
  • US11989537B2 patent drawing
  • US11989537B2 patent drawing
  • US11989537B2 patent drawing

AI summary

A computer-based visualization and refactoring system is capable of analyzing a computer program to determine computation tasks of the computer program and channels linking the computation tasks. The system generates, in a memory of computer hardware, a dataflow graph having nodes representing the computation tasks and edges representing the channels. The edges connect the nodes. Source code representations of the computation tasks are determined. Execution metrics of the computer program are determined. The nodes of the dataflow graph are annotated with the source code representations and the nodes and/or the edges are annotated with the execution metrics. The dataflow graph is displayed on a display device as annotated.