Hybrid Von-Neumann Dataflow Processor Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dataflow architectures face challenges in implementing control flow speculation and intercommunication of data values, making them inefficient for general computing tasks compared to Von Neumann architectures, and compiling arbitrary Von Neumann programs into dataflow programs is complex.

Innovation Solution

A hybrid Von Neumann/dataflow architecture that dynamically switches between execution modes on a general-purpose processor and a dataflow processor, allowing specific portions of an application program to be executed on the dataflow processor for improved performance and power efficiency, while using a prediction table to optimize execution based on execution benefits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dataflow architecture is used for general computing tasks, then processing speed is improved through instruction level parallelism, but control flow speculation becomes difficult to implement and intercommunication between functional units becomes costly

Engineering Contradiction:
Improveprocessing speedVSAvoidcontrol flow implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the computing task into segments that can be executed on different architectures. The hybrid processor separates instruction execution into dataflow-compatible portions (executed on dataflow functional units) and control-flow-intensive portions (executed on the Von Neumann processor), allowing each segment to leverage the strengths of its designated architecture while avoiding their weaknesses

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A translation layer or intermediary mechanism is introduced between the Von Neumann instruction stream and the dataflow execution engine. This intermediary translates suitable instructions into dataflow operations while managing the complexity of control flow speculation and intercommunication, thereby enabling dataflow processing without directly exposing its complexity to the programmer or compiler

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If arbitrary Von Neumann programs are compiled as dataflow programs, then instruction level parallelism is achieved, but compilation complexity increases significantly

Engineering Contradiction:
Improveinstruction level parallelismVSAvoidcompilation complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

Instead of attempting to convert entire programs to dataflow form, the system applies dataflow compilation selectively to specific regions or basic blocks of code that exhibit suitable characteristics (e.g., loops with regular data dependencies, computation-intensive sections). This local application reduces compilation complexity while still achieving instruction level parallelism where beneficial

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The compilation process applies partial transformation, converting only the portion of the program that benefits from dataflow execution rather than the entire program. This partial action approach balances the benefits of parallelism against the costs of compilation complexity by being selective about which code regions undergo dataflow translation

Inventive Principle:
Principle #16Partial or excessive action

3Use of energy by stationary object

If hybrid architecture switches between execution modes, then power efficiency is improved for specific program portions, but switching overhead between processors increases

Engineering Contradiction:
Improvepower efficiencyVSAvoidswitching overhead
Core Design Contradiction:
Use of energy by stationary objectVSLoss of time

Solution Approach 1:

The system performs preliminary analysis during compilation or runtime to identify and mark code regions suitable for dataflow execution. By pre-characterizing these regions, the hybrid processor can make faster switching decisions without extensive runtime analysis, reducing the overhead associated with mode transitions while still achieving power efficiency benefits

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10216693B2Computer with hybrid Von-Neumann/dataflow execution architecture
Publication Date: 2019.02.26 WISCONSIN ALUMNI RES FOUND
  • US10216693B2 patent drawing
  • US10216693B2 patent drawing
  • US10216693B2 patent drawing

AI summary

A dataflow computer processor is teamed with a general computer processor so that program portions of an application program particularly suited to dataflow execution may be transferred to the dataflow processor during portions of the execution of the application program by the general computer processor. During this time the general computer processor may be placed in partial shutdown for energy conservation.