Assignable Device Interface Selection for Scalable I/O Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current I/O virtualization solutions, such as SR-IOV, are not scalable enough to support high-density, hyper-scale computing environments with a large number of containers or VMs, leading to inefficiencies in device sharing and resource allocation, particularly in terms of latency and throughput for critical workloads.
Innovation Solution
Scalable IOV introduces Assignable Device Interfaces (ADIs) for fine-grained resource allocation and intelligent selection based on locality and utilization metrics, allowing for efficient and flexible sharing of I/O devices across multiple domains, optimizing ADI assignments through an API-driven approach that considers application requirements and priorities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If direct device assignment is used, then I/O virtualization performance is improved, but device sharing across multiple VMs is not supported
Solution Approach 1:
The patent segments a single physical device into multiple virtual device instances (VDEVs), each capable of being assigned to different VMs. This segmentation allows the device to be shared across multiple virtual machines while maintaining direct device assignment performance characteristics for each VDEV instance.
Solution Approach 2:
The patent creates virtual copies of device interfaces (ADIs) that can be assigned to multiple VMs. These virtual device instances replicate the functionality of the physical device, enabling multiple VMs to access device resources simultaneously with near-native performance.
2Adaptability or versatility
If SR-IOV is used for hardware-assisted I/O virtualization, then device sharing across multiple VMs is enabled, but scalability for high-density computing environments is limited
Solution Approach 1:
The patent further segments virtual device instances into multiple assignable device interfaces (ADIs) within each VDEV. This multi-level segmentation (physical device → VDEVs → ADIs) enables fine-grained resource allocation that scales to thousands of domains, far exceeding traditional SR-IOV capabilities.
Solution Approach 2:
The patent introduces an additional dimension of virtualization by creating multiple ADI instances within each VDEV. This adds a new layer of granularity to the virtualization hierarchy, enabling support for hyper-scale computing environments with thousands of containers or VMs.
3Adaptability or versatility
If traditional virtualization is used, then device sharing is supported, but latency and throughput for critical workloads are degraded
Solution Approach 1:
The patent introduces virtual device instances and assignable device interfaces as intermediaries between VMs and physical devices. These intermediaries enable device sharing while maintaining direct device assignment performance by allowing guest software to directly access assigned ADIs without VMM intervention for most operations.
Data Source
AI summary
Scalable I/O Virtualization (Scalable IOV) allows efficient and scalable sharing of Input/Output (I/O) devices across a large number of containers or Virtual Machines. Scalable IOV defines the granularity of sharing of a device as an Assignable Device Interface (ADI). In response to a request for a virtual device composition, an ADI is selected based on affinity to the same NUMA node as the running virtual machine, utilization metrics for the Input-Output Memory Management Unit (IOMMU) unit and utilization metrics of a device of a same device class. Selecting the ADI based on locality and utilization metrics reduces latency and increases throughput for a virtual machine running critical or real-time workloads.


