Reconfigurable Processor Clustering for Configuration Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current reconfigurable processor designs face challenges in reducing configuration time, power consumption, and hardware reuse due to inefficient task scheduling and network architectures, particularly in multimedia processing applications like MPEG-4, where computational complexity varies significantly across modes and operations.

Innovation Solution

A dynamically reconfigurable processor is designed using a methodology that identifies correlated compute-intensive regions within applications, employs a reduced complexity graph matching algorithm for pre-processing, and implements reconfiguration-aware static scheduling to manage task and resource dependencies, along with a heterogeneous hierarchical routing architecture for efficient resource allocation and interconnectivity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional FPGA reconfiguration approaches are used, then hardware flexibility and programmability are improved, but configuration time and power consumption increase significantly

Engineering Contradiction:
Improvehardware flexibilityVSAvoidconfiguration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-organizing configuration data into hierarchical clusters before runtime. Compute-intensive regions are identified and grouped into clusters during design time, with configuration data pre-processed and stored in a hierarchical structure. This allows the reconfigurable processor to load and switch between pre-organized configuration clusters much faster than traditional approaches that configure the entire device at once.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the reconfigurable processor configuration into hierarchical clusters of compute-intensive regions. Instead of treating the entire FPGA as a single reconfigurable unit, the configuration is divided into smaller, independent clusters that can be loaded and switched separately. This segmentation enables partial reconfiguration and reduces the overall configuration time and data transfer requirements.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If traditional FPGA reconfiguration approaches are used, then hardware flexibility and programmability are improved, but power consumption increases due to redundant configurations

Engineering Contradiction:
Improvehardware flexibilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The patent applies preliminary action by performing graph matching and identifying common subgraphs during design time. Applications are analyzed to find correlated compute-intensive regions that can be shared across different application modes. Configuration data is pre-processed to eliminate redundancies, and a hierarchical cluster structure is established that maximizes resource reuse. This preliminary analysis significantly reduces runtime power consumption by avoiding redundant configuration operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements discarding and recovering by identifying and eliminating redundant configuration data across different application modes. The graph matching algorithm detects common subgraphs that represent shared compute-intensive regions, allowing the system to discard duplicate configuration data and recover resources for other uses. This reduces both the configuration memory requirements and the power needed for configuration operations.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of time

If compute-intensive regions are localized in specific chip areas, then configuration time is reduced and power consumption decreases, but requires sophisticated task scheduling and resource allocation

Engineering Contradiction:
Improveconfiguration timeVSAvoidtask scheduling complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing comprehensive graph matching and task scheduling analysis during the design phase. The system identifies all compute-intensive regions, determines their spatial relationships, and pre-calculates optimal scheduling strategies for different application modes. This preliminary work creates a detailed map of resource dependencies and execution patterns, which greatly simplifies runtime scheduling decisions and reduces the complexity of dynamic resource allocation.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If hierarchical network architecture with RAM-style configuration loading is used, then individual configuration loading time is reduced by 2-4 times, but redundant and repetitive configurations remain high

Engineering Contradiction:
Improveconfiguration loading timeVSAvoidredundant configurations
Core Design Contradiction:
Loss of timeVSLoss of substance

Solution Approach 1:

The patent applies preliminary action by performing graph isomorphism detection and common subgraph identification during design time. The system analyzes the application's control data flow graph to find repeated computational patterns and correlated compute-intensive regions. Configuration data is pre-processed to extract and eliminate redundancies, storing only unique configuration clusters with references to shared resources. This preliminary analysis dramatically reduces the amount of redundant configuration data that would otherwise need to be loaded repeatedly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements copying by creating a hierarchical cluster structure where shared compute-intensive regions are defined once and then referenced by multiple application modes. Instead of copying the same configuration data multiple times, the system creates a single master copy of shared clusters and uses symbolic references to instantiate them across different modes. This reduces configuration memory usage and loading time while maintaining the ability to quickly switch between application variants.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8281297B2Reconfigurable processing
Publication Date: 2012.10.02 THE ARIZONA BOARD OF REGENTS ON BEHALF OF THE UNIV OF ARIZONA
  • US8281297B2 patent drawing
  • US8281297B2 patent drawing
  • US8281297B2 patent drawing

AI summary

A method of producing a reconfigurable circuit device for running a computer program of moderate complexity such as multimedia processing. Code for the application is compiled into Control Flow Graphs representing distinct parts of the application to be run. From those Control Flow Graphs are extracted basic blocks. The basic blocks are converted to Data Flow Graphs by a compiler utility. From two or more Data Flow Graphs, a largest common subgraph is determined. The largest common subgraph is ASAP scheduled and substituted back into the Data Flow Graphs which also have been scheduled. The separate Data Flow Graphs containing the scheduled largest common subgraph are converted to data paths that are then combined to form code for operating the application. The largest common subgraph is effected in hardware that is shared among the parts of the application from which the Data Flow Graphs were developed. Scheduling of the overall code is effected for sequencing, providing fastest run times and the code is implemented in hardware by partitioning and placement of processing elements on a chip and design of the connective fabric for the design elements.