FPGA Virtual Device Scheduling via Partial Region Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions for providing FPGA devices as cloud services result in low resource utilization since only one tenant can exclusively use the FPGA device, leading to underutilization of resources.
Innovation Solution
The method involves dividing the FPGA device into reconfigurable regions (PRs) that can be scheduled among multiple virtual devices (VDs), allowing multiple VDs to share PR resources, with a scheduler determining the optimal PR allocation based on context content and priority values to ensure fair and efficient resource distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If device pass-through technology is used to provide FPGA device to tenant VM, then data exchange bandwidth and user freedom are improved, but resource utilization of FPGA device deteriorates
Solution Approach 1:
The FPGA device is divided into multiple reconfigurable regions (PRs) that can be independently allocated to different virtual devices. This segmentation allows the FPGA device to be shared among multiple tenants while maintaining the ability to reconfigure each region dynamically, thus improving resource utilization while preserving user freedom through virtual device abstraction.
Solution Approach 2:
The patent implements dynamic reconfiguration of PRs based on scheduling decisions. The scheduler can dynamically allocate and reassign PRs to different VDs according to demand, enabling the system to adapt resource distribution in real-time. This dynamic approach resolves the contradiction by allowing flexible resource sharing without compromising the operational freedom of individual tenants.
2Reliability
If entire FPGA device is allocated to single tenant, then exclusive control and performance are ensured, but resource utilization deteriorates
Solution Approach 1:
By segmenting the FPGA device into multiple PRs, the system can allocate specific regions to individual tenants while allowing other regions to be used by different tenants or remain idle. This segmentation enables exclusive control over assigned PRs while improving overall resource utilization through multi-tenant sharing of the same physical device.
Solution Approach 2:
The patent creates virtual copies of FPGA functionality through multiple VDs that can each access PRs. These virtual devices provide tenants with the perception of exclusive control over their allocated resources, while the underlying physical FPGA device is efficiently shared among multiple tenants, thus resolving the contradiction between exclusive control and resource utilization.
3Productivity
If FPGA device is divided into multiple PRs for sharing, then resource utilization is improved, but device complexity increases
Solution Approach 1:
The patent introduces a scheduler as an intermediary component that manages the complexity of PR allocation and reconfiguration. The scheduler abstracts the complex tasks of monitoring PR usage, making allocation decisions, and triggering reconfiguration events, thereby enabling efficient resource utilization without requiring direct complex management by the system administrator or tenants.
Solution Approach 2:
The system implements self-service mechanisms where the scheduler automatically monitors PR usage states and initiates reconfiguration operations without external intervention. This automation reduces the operational complexity burden on users while maintaining high resource utilization through continuous dynamic allocation and reassignment of PRs to VDs.
Data Source
AI summary
A resource scheduling method, to improve resource utilization of a field-programmable gate array (FPGA) device, includes receiving a resource scheduling request from a host, where the resource scheduling request requests to schedule a partial region (PR) on the FPGA device to serve a first virtual device (VD) of the host, the FPGA device includes N PRs, the host includes M VDs, each of the M VDs is configured corresponding to one virtual machine (VM), the first VD is one of the M VDs, and both N and M are integers greater than one, obtaining context content of the first VD based on the resource scheduling request, determining a target PR in the N PRs, and deploying the context content of the first VD in the target PR.


