FPGA Virtual Device Scheduling via Partial Region Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveuser freedomVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

2Reliability

If entire FPGA device is allocated to single tenant, then exclusive control and performance are ensured, but resource utilization deteriorates

Engineering Contradiction:
Improveexclusive controlVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #26Copying

3Productivity

If FPGA device is divided into multiple PRs for sharing, then resource utilization is improved, but device complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11429447B2Scheduling regions of a field programmable gate array as virtual devices
Publication Date: 2022.08.30 HUAWEI TECH CO LTD
  • US11429447B2 patent drawing
  • US11429447B2 patent drawing
  • US11429447B2 patent drawing

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.