Exclusive Register Access Control for Virtual Function Initialization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Reliability
If a timing control mechanism is implemented to monitor exclusive access duration, then reliability is improved, but device complexity increases
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.
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
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.
Data Source
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.


