Time-Multiplexed Reconfigurable Hardware Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Reconfigurable processors often experience underutilization of hardware resources due to idle periods in either general-purpose or reconfigurable hardware, leading to inefficiencies in executing applications that require a mix of functions.

Innovation Solution

A system that employs a Coarse Grain Reconfigurable Architecture (CGRA) with a scheduler and configuration load/unload controller to time-multiplex programs across both general and reconfigurable hardware, optimizing resource utilization by interleaving execution between the two.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If reconfigurable hardware is used to execute applications requiring specialized functions, then execution efficiency and speed are improved, but hardware resource utilization deteriorates due to idle periods

Engineering Contradiction:
Improveexecution speedVSAvoidhardware utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system dynamically switches between executing applications on general-purpose hardware and reconfigurable hardware based on workload characteristics. The scheduler monitors execution progress and hardware availability, transitioning between execution modes to optimize both speed and utilization. This dynamic adaptation resolves the contradiction by making the hardware usage flexible rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The application execution is segmented into portions that can be handled by either general-purpose hardware or reconfigurable hardware. The scheduler divides the workload into discrete segments and assigns them to appropriate hardware resources based on availability and optimization needs, enabling fine-grained control over resource allocation to eliminate idle periods.

Inventive Principle:
Principle #1Segmentation

2Productivity

If time-multiplexing is implemented to increase hardware utilization, then productivity is improved, but system complexity increases due to scheduling requirements

Engineering Contradiction:
Improvehardware utilizationVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The reconfigurable hardware includes self-service capabilities through automatic configuration loading and execution management. The hardware can autonomously load its own configuration, execute tasks, and signal completion without requiring complex external scheduling interventions. This self-service approach reduces the scheduling complexity burden while maintaining high utilization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The scheduler uses feedback mechanisms to monitor hardware execution status, availability, and workload progress. Based on this feedback, the scheduler makes adaptive decisions about task allocation and mode switching. This feedback-driven approach simplifies complex scheduling by using real-time information to make straightforward, data-driven decisions rather than requiring complex predictive algorithms.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11782760B2Time-multiplexed use of reconfigurable hardware
Publication Date: 2023.10.10 SAMBANOVA SYSTEMS INC
  • US11782760B2 patent drawing
  • US11782760B2 patent drawing
  • US11782760B2 patent drawing

AI summary

A method for executing applications in a system comprising general hardware and reconfigurable hardware includes accessing a first execution file comprising metadata storing a first priority indicator associated with a first application, and a second execution file comprising metadata storing a second priority indicator associated with a second application. In an example, use of the reconfigurable hardware is interleaved between the first application and the second application, and the interleaving is scheduled to take into account (i) workload of the reconfigurable hardware and (ii) the first priority indicator and the second priority indicator associated with the first application and the second application, respectively. In an example, when the reconfigurable hardware is used by one of the first and second applications, the general hardware is used by another of the first and second applications.