Runtime Virtualization of Reconfigurable Data Flow Resources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing environments face challenges in efficiently virtualizing specialized hardware accelerators like reconfigurable processors due to multi-tenancy and dynamic workload requirements, leading to hardware underutilization and inefficiencies in resource allocation.

Innovation Solution

A system and method for runtime virtualization of coarse-grained reconfigurable array processors, utilizing a runtime processor to allocate and manage reconfigurable data flow resources, including arrays of configurable units and memory, with a unified interface and dynamic resource management to support multi-client and dynamic-workload scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reconfigurable processors are dedicated to single user or application, then performance and resource allocation efficiency are improved, but hardware underutilization and inability to support multi-tenancy occur

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidmulti-tenancy support
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The reconfigurable processor is divided into multiple virtual instances or slices that can be independently allocated to different users or applications. Each virtual instance maintains isolation while sharing the physical hardware resources, enabling multi-tenancy without sacrificing performance or utilization efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A virtualization layer or hypervisor is introduced between the physical reconfigurable processor and the users/applications. This intermediary manages resource allocation, isolation, and sharing, allowing multiple users to access the hardware efficiently while maintaining security and performance guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If reconfigurable processors are shared across multiple users, then hardware utilization is improved, but resource isolation and security between users deteriorate

Engineering Contradiction:
Improvehardware utilizationVSAvoidresource isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The processor resources are segmented into isolated virtual environments for each user or application. Memory spaces, configuration registers, and execution contexts are partitioned to ensure that users cannot access or interfere with each other's resources, maintaining security and isolation while enabling shared hardware access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtualization layer provides controlled access and isolation mechanisms between users and the physical hardware. It mediates resource sharing by ensuring that each user sees only their allocated resources while the system manages the shared physical underlying infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If reconfigurable processors are dynamically allocated, then adaptability to changing workloads is improved, but complexity of resource management increases

Engineering Contradiction:
Improvedynamic workload supportVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A virtualization layer or resource manager acts as an intermediary that handles the complexity of dynamic allocation, migration, and deallocation of processor resources. This layer abstracts the complexity from users and applications, providing simple interfaces for requesting and releasing resources while managing the underlying dynamic allocation mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system incorporates monitoring and feedback mechanisms that track resource usage patterns and workload characteristics. This feedback information is used to make intelligent decisions about resource allocation, migration, and consolidation, simplifying management through automated policies rather than manual control.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If reconfigurable processors are virtualized, then multi-tenancy and resource sharing are improved, but performance overhead and latency increase

Engineering Contradiction:
Improvemulti-tenancy capabilityVSAvoidexecution performance
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The virtualization is implemented at an appropriate granularity level that balances isolation needs with performance requirements. By segmenting resources into suitable units and using direct hardware access mechanisms for time-critical operations, the system minimizes virtualization overhead while maintaining multi-tenancy benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtualization layer is designed to be as transparent and lightweight as possible for performance-critical paths. It uses efficient mechanisms such as direct memory mapping, interrupt redirection, and hardware-assisted virtualization to minimize the performance penalty of resource sharing while maintaining security and isolation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250377935A1Method for Providing Runtime Virtualization of Reconfigurable Data Flow Resources
Publication Date: 2025.12.11 SAMBANOVA SYSTEMS INC
  • US20250377935A1 patent drawing
  • US20250377935A1 patent drawing
  • US20250377935A1 patent drawing

AI summary

A method is provided for controlling a system of reconfigurable data flow resources and a plurality of transfer resources using a runtime processor that is configured with logic. The method includes using the runtime processor to present a unified interface to the reconfigurable data flow resources and the plurality of transfer resources wherein the unified interface enables attachment of one of the configurable units to every other one of the configurable units. The method further includes using the runtime processor to control execution of a plurality of application graphs based on an execution file wherein the application graphs are representations of how the configurable units interact to exchange data to provide data flow with each other through the unified interface, the execution file including topologies for subarrays of configurable units with the topologies indicating how to load the configuration files.