Atomic Partitioning in Reconfigurable Processors for VM Isolation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Productivity
If configurable units are shared among multiple application graphs, then resource utilization improves, but interference between application graphs occurs
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.
Data Source
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.


