SR-IOV Virtual Functions Sharing Across Multi-Hosts via Fake Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Single Root Input/Output Virtualization (SR-IOV) technologies only allow virtual machines within a single host to share physical resources, limiting the ability to dynamically provision PCIe endpoint functions across multiple hosts, which hampers efficient resource utilization and scalability.
Innovation Solution
The method involves simulating fake devices in each host corresponding to SR-IOV virtual functions, redirecting configuration spaces, memory access operations, and interrupts through Non-Transparent Bridge (NTB) devices, allowing seamless sharing of SR-IOV virtual functions across multiple hosts while maintaining security and transparency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If SR-IOV virtual functions are shared within a single host, then resource utilization is improved, but multi-host sharing capability deteriorates
Solution Approach 1:
The patent introduces a bridge device as an intermediary component that enables SR-IOV virtual functions to be shared across multiple hosts. The bridge device acts as a mediator between the PCIe switch and multiple hosts, allowing virtual functions to be accessed by different hosts while maintaining isolation and security. This intermediary structure resolves the contradiction by enabling multi-host sharing without compromising the virtualization benefits.
Solution Approach 2:
The patent extends the sharing capability from a single-host dimension to a multi-host dimension by introducing bridge devices and configuring them in a hierarchical structure. This dimensional expansion allows the same virtual functions to be accessed by multiple hosts simultaneously, transforming the system from single-host to multi-host architecture while maintaining efficient resource utilization.
2Adaptability or versatility
If multiple hosts share PCIe endpoint functions, then scalability is improved, but system complexity deteriorates
Solution Approach 1:
The patent segments the system into distinct functional components: PCIe switches, bridge devices, and host systems. Each component has a specific role in the multi-host sharing architecture. The bridge device is segmented into multiple instances, with each bridge connecting to specific hosts and managing their access to virtual functions. This segmentation reduces system complexity by creating modular, manageable units.
Solution Approach 2:
The bridge device is designed as a universal component that can serve multiple hosts and manage multiple virtual functions simultaneously. This multi-functional design reduces the need for separate dedicated components for each host, thereby reducing overall system complexity while enabling scalable multi-host sharing.
3Adaptability or versatility
If configuration spaces are redirected through bridge devices, then multi-host access is improved, but interrupt handling complexity deteriorates
Solution Approach 1:
The patent implements interrupt remapping that creates copies of interrupt handling paths for each host-accessed virtual function. Each bridge device maintains separate interrupt handling contexts for different hosts, allowing interrupts to be redirected to the appropriate host without affecting others. This copying approach simplifies interrupt handling by isolating each host's interrupt paths while enabling multi-host access.
Data Source
AI summary
In a method for SR-IOV Virtual Functions Sharing on Multi-Hosts, implemented in a management system, one or more fake devices are simulated in one or more hosts with each fake device corresponding to one of a plurality of SR-IOV virtual functions. Each of one or more configuration spaces is redirected from each SR-IOV virtual function to each fake device, respectively. Each of configuration space requests is redirected from a corresponding fake device to a corresponding SR-IOV virtual function when the configuration space request is received. And each of memory access operations is redirected from the corresponding SR-IOV virtual function to a mapped memory on a corresponding host with the corresponding fake device, and each of interrupts generated by one or more SR-IOV virtual machines is redirected to the corresponding fake device.


