CGRA Hot-Plug Resource Pooling for Multi-Tenant Runtime Continuity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing systems face challenges in dynamically managing reconfigurable processors due to hardware underutilization and inefficiencies in virtualization, particularly in multi-tenancy and dynamic workload scenarios, where practical virtualization support for accelerators has not kept pace with accelerator innovation, leading to hardware underutilization and performance gaps.
Innovation Solution
A technology that enables the dynamic removal and addition of Coarse-Grained Reconfigurable Array (CGRA) processors from a pool of such processors without shutting down the system, using a controller and runtime processor to manage hot-plug events, allocate resources, and ensure seamless operation through file descriptor data structures and interrupt handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PCIe pass-through techniques are used to dedicate physical hardware to virtual machines, then hardware compatibility and isolation are improved, but hardware underutilization and loss of multi-tenancy occur
Solution Approach 1:
The patent segments reconfigurable processor resources into virtualized units that can be dynamically allocated to multiple virtual machines. Instead of dedicating entire physical hardware to single VMs, the system divides processor resources into shareable segments that maintain isolation through virtualization, enabling multi-tenancy while improving utilization.
Solution Approach 2:
The patent implements universal reconfigurable processor resources that can serve multiple functions and multiple virtual machines simultaneously. The same physical processor pool can be configured and allocated to different VMs based on workload requirements, providing multi-functionality and eliminating hardware underutilization while maintaining proper isolation through virtualization layers.
2Reliability
If reconfigurable processors are statically allocated to virtual machines, then hardware compatibility is improved, but adaptability to dynamic workloads deteriorates
Solution Approach 1:
The patent implements dynamic resource allocation where reconfigurable processor resources can be allocated, deallocated, and reconfigured at runtime based on workload demands. The system allows VMs to request and receive processor resources dynamically without static pre-allocation, enabling adaptation to changing computational requirements while maintaining hardware compatibility through standardized virtualization interfaces.
3Adaptability or versatility
If practical virtualization support is added to keep pace with accelerator innovation, then workload adaptability is improved, but device complexity increases
Solution Approach 1:
The patent introduces a virtualization layer as an intermediary between physical reconfigurable processors and virtual machines. This intermediary layer handles resource management, allocation, and configuration tasks, shielding the complexity of accelerator hardware from VMs while providing standardized access interfaces. The virtualization layer acts as a mediator that simplifies the overall system architecture despite the underlying hardware complexity.
4Productivity
If reconfigurable processors are removed or added during operation, then resource utilization is improved, but system stability may deteriorate
Solution Approach 1:
The patent implements hot-plug capability that allows reconfigurable processors to be added or removed from the system during operation without shutting down. The virtualization layer prepares and manages resource allocation in advance, ensuring that dynamic resource changes occur smoothly with proper handling of configuration loading and task migration, thereby maintaining system stability during resource transitions.
Data Source
AI summary
A data processing system comprises a pool of reconfigurable data flow resources with arrays of physical configurable units, a controller, and a runtime processor. The controller is configured to generate a hot-plug event in response to detecting a removal of an unallocated array of physical configurable units from the pool of reconfigurable data flow resources. The runtime processor is configured to execute user applications on a subset of the arrays of physical configurable units and to receive the hot-plug event from the controller. The runtime processor is further configured to make the removed unallocated array of physical configurable units unavailable for subsequent allocations of subsequent virtual data flow resources and subsequent executions of subsequent user applications, while the subset of the arrays of physical configurable units continues the execution of the user applications.


