Flexible Hardware Resource Assignment in Virtualized Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization models face inefficiencies in hardware resource utilization due to the need for multiple software drivers and complex coordination, leading to performance issues and increased costs from underutilized or overburdened hardware resources.
Innovation Solution
A method and system for flexibly assigning hardware resources to physical and virtual functions using a Resource Virtualization Unit (RVU) that allows for the abstraction of hardware resources, enabling efficient allocation and management of resources across multiple functional blocks, with administrative software defining and assigning local and virtual functions to physical functions, conforming to standard PCI software compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple software drivers are used to manage hardware resources for each guest, then hardware resource allocation can be achieved, but system complexity and coordination overhead increase significantly
Solution Approach 1:
The patent merges multiple software drivers into a single unified driver that manages all hardware resources for a guest. This consolidation eliminates the need for separate drivers for each functional block (FPA, SSO, PKO, etc.), reducing coordination overhead and system complexity while maintaining full hardware resource allocation capability.
Solution Approach 2:
The unified driver is designed to perform multiple functions that previously required separate drivers. It can manage packet input, packet output, scheduling, synchronization, and memory allocation across all functional blocks within a single driver instance, making the system more adaptable without increasing complexity.
2Reliability
If hardware resources are dedicated to each software application, then performance is ensured, but hardware utilization efficiency decreases
Solution Approach 1:
The patent segments hardware resources into functional blocks (FPA, SSO, PKO, etc.) that can be dynamically allocated to different guests. Each guest receives the specific functional blocks it needs, ensuring performance requirements are met while avoiding allocation of unused resources, thus improving overall hardware utilization efficiency.
Solution Approach 2:
The system implements dynamic resource allocation where the unified driver can assign and reassign functional blocks to different guests based on their current performance needs. This dynamic approach ensures that each application receives adequate resources for optimal performance while preventing waste when resources are not needed, resolving the contradiction between performance guarantee and utilization efficiency.
3Ease of operation
If functional blocks are statically assigned to guests, then resource management is simplified, but flexibility and scalability are reduced
Solution Approach 1:
The unified driver implements dynamic assignment of functional blocks to guests, allowing the system to adapt to changing requirements. Resources can be allocated, reallocated, or deallocated based on guest needs without requiring complex static configuration, maintaining ease of operation while significantly improving virtualization flexibility and scalability.
Data Source
AI summary
A method and system for flexibly assigning hardware resources to physical and virtual functions in a processor system supporting hardware virtualization is disclosed. The processor system includes a resource virtualization unit which is used to flexibly assign hardware resources to physical functions and also flexibly assign local functions to virtual functions associated with one or more of the physical functions. Thereby, standard PCI software is compatible with the physical functions and any associated virtualized hardware resources that have been flexibly assigned to the virtual and local functions.


