Exclusive Register Access Control for Virtual Function Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization environments, new virtual functions (VFs) face challenges during initialization, leading to potential GPU stalls and unnecessary resets, as existing methods lack efficient mechanisms to manage exclusive access to GPU registers and prevent VFs from being labeled as hung.

Innovation Solution

A two-way communication channel using an acquire-release protocol is established between the new VF and the controlling physical function, with a timing control to ensure exclusive access is completed within a predetermined time, and a GPU scheduler triggers world switches to allocate GPU time to already initialized VFs, preventing them from being labeled as inactive or hung.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If exclusive access to GPU registers is granted to new VFs during initialization, then initialization efficiency is improved, but GPU stalls occur and system productivity deteriorates

Engineering Contradiction:
Improveinitialization efficiencyVSAvoidGPU stall time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the physical function (PF) preemptively suspend other virtual functions (VFs) before the new VF begins its initialization process. This ensures that the new VF can access GPU registers exclusively without interference, completing initialization efficiently. The PF restores other VFs only after the new VF finishes initialization or times out, thus preventing GPU stalls while maintaining high initialization efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a timing control mechanism is implemented to monitor exclusive access duration, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveinitialization completion assuranceVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback through a timing control mechanism that continuously monitors the duration of exclusive register access by the new VF. The PF receives feedback about the initialization progress and compares it against a predetermined timeout threshold. Based on this feedback, the PF makes decisions to either allow completion or terminate the initialization process, ensuring reliability without excessive complexity.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If world switches are triggered to allocate GPU time to already initialized VFs, then fairness in resource allocation is improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidscheduler complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies periodic action through the GPU scheduler, which triggers world switches at regular intervals to allocate GPU time to already initialized VFs. This periodic scheduling ensures that previously initialized VFs receive fair access to GPU resources even when a new VF is undergoing initialization. The scheduler's periodic intervention maintains resource allocation fairness without requiring complex real-time adjustments.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10198283B2Exclusive access to shared registers in virtualized systems
Publication Date: 2019.02.05 ADVANCED MICRO DEVICES INC
  • US10198283B2 patent drawing
  • US10198283B2 patent drawing
  • US10198283B2 patent drawing

AI summary

A request is sent from a new virtual function (VF) to a physical function for requesting the initialization of the new VF. The controlling physical function and the new VF establish a two-way communication channel that to start and end the VF's exclusive accesses to registers in a configuration space. The physical function uses a timing control to monitor that exclusive register access by the new VF is completed within a predetermined time period. The new VF is only granted a predetermined time period of exclusive access to complete its initialization process. If the exclusive access period is timed out, the controlling physical function can terminate the VF to prevent GPU stalls.