Atomic Partitioning in Reconfigurable Processors for VM Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing reconfigurable processors face challenges in efficiently executing multiple, unrelated application graphs simultaneously due to complex distribution and loading procedures of configuration files, which are time-consuming and hinder parallel processing.

Innovation Solution

A reconfigurable data processor with a bus system that partitions configurable units into sets, using memory access controllers to confine memory access and enable simultaneous execution of application graphs through virtual addressing and dynamic reconfiguration, allowing independent configuration load and unload operations without interfering with other sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If configuration files are distributed and loaded for multiple application graphs, then the processor can execute multiple functions, but the procedures become complex and time-consuming

Engineering Contradiction:
Improveability to execute multiple application graphsVSAvoidcomplexity of configuration distribution procedures
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The array of configurable units is divided into multiple independent sets, where each set can load and execute its own application graph independently. This segmentation allows multiple application graphs to be distributed and loaded simultaneously without interfering with each other, reducing the overall complexity of configuration procedures while maintaining the ability to execute multiple functions.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If configuration files are distributed and loaded for multiple application graphs, then the processor can execute multiple functions, but the execution time increases

Engineering Contradiction:
Improveability to execute multiple application graphsVSAvoidtime for configuration distribution and loading
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Multiple application graphs are pre-loaded into different sets of configurable units before execution begins. This preliminary loading allows the configuration distribution to be completed in advance, and once loaded, multiple application graphs can be executed simultaneously without additional configuration delays, significantly reducing the overall execution time.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If configurable units are shared among multiple application graphs, then resource utilization improves, but interference between application graphs occurs

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidisolation between application graphs
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The array of configurable units is divided into multiple independent sets, with each set dedicated to executing a specific application graph. This segmentation provides physical isolation between application graphs, preventing interference while maintaining high resource utilization within each set. Each set can be independently configured and executed without affecting other sets.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260086968A1Atomic group partitioning for reconfigurable processors
Publication Date: 2026.03.26 SAMBANOVA SYSTEMS INC
  • US20260086968A1 patent drawing
  • US20260086968A1 patent drawing
  • US20260086968A1 patent drawing

AI summary

A reconfigurable data processor comprises an array of configurable units and a bus system. The array includes a plurality of atomic partitionable groups, each comprising a minimum set of configurable units usable to compose a virtual machine. The bus system is connected to the array and configurable to isolate the atomic partitionable groups. A configuration controller is configured to allocate one or more atomic partitionable groups to a virtual machine for executing an application graph. Configurable units of each group allocated to a virtual machine are isolated from communicating with configurable units in groups allocated to other virtual machines via the bus system.