Boundary-Switched Multi-Tile Virtual Machines for Faster Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing procedures for configuring and distributing configuration files in reconfigurable processors are complex and time-consuming, and there is a need to efficiently execute multiple, unrelated application graphs simultaneously in a single reconfigurable processor.

Innovation Solution

A reconfigurable data processor with a bus system that partitions configurable units into sets, uses memory access controllers to confine memory access, and includes a configuration controller for swapping application graphs without interfering with other sets, allowing simultaneous execution of multiple application graphs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If configuration files are distributed and loaded using existing procedures, then reconfigurable processors can execute application graphs, but the procedures are complex and time-consuming

Engineering Contradiction:
Improveexecution speed of application graphsVSAvoidconfiguration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The reconfigurable processor array is divided into multiple independent sets of configurable units, where each set can be configured and execute application graphs independently. This segmentation allows parallel configuration operations across different sets, reducing the overall configuration time while maintaining execution speed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple application graphs are executed simultaneously in a single reconfigurable processor, then processing efficiency improves, but configuration management becomes more complex

Engineering Contradiction:
Improvethroughput of application graphsVSAvoidconfiguration management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is segmented into multiple independent sets of configurable units, with each set capable of executing a separate application graph. This physical segmentation simplifies configuration management by allowing independent configuration of each set, avoiding the complexity of managing multiple applications within a single monolithic configuration system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Boundary switches are introduced as intermediary components between different sets of configurable units. These switches control and isolate communications between sets, enabling simultaneous execution of multiple application graphs while maintaining simple, independent configuration management for each set.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If configurable units are partitioned into sets with blocked communications, then simultaneous execution of multiple application graphs is enabled, but bus system complexity increases

Engineering Contradiction:
Improveconcurrent execution capabilityVSAvoidbus system structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Boundary switches serve as intermediary components that manage communications between partitioned sets of configurable units. These switches are strategically placed at the boundaries of sets and can selectively block or allow communications, enabling concurrent execution of multiple application graphs while maintaining a relatively simple bus system structure through localized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260093654A1Multi-tile virtual machines with boundary switch configuration
Publication Date: 2026.04.02 SAMBANOVA SYSTEMS INC
  • US20260093654A1 patent drawing
  • US20260093654A1 patent drawing
  • US20260093654A1 patent drawing

AI summary

A reconfigurable data processor comprises an array of configurable units including a plurality of tiles and a bus system. The bus system includes boundary switches on tile boundaries, configurable to partition the array into sets of configurable units spanning one or more tiles. A configuration controller is configured to load a configuration file to form a virtual machine across multiple tiles by setting the boundary switches to isolate the virtual machine.