Boundary-Switched Multi-Tile Virtual Machines for Faster Reconfiguration
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If multiple application graphs are executed simultaneously in a single reconfigurable processor, then processing efficiency improves, but configuration management becomes more complex
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.
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.
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
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.
Data Source
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.


