Host IOMMU Translation Bypass for Virtual Machine Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The overhead associated with guest bus address translation by the hypervisor in virtualization systems, particularly in network function virtualization, leads to computing inefficiency and reduced processing resources, as it involves significant translation overhead for a large number of small access requests.

Innovation Solution

Implementing a method for hypervisor translation bypass by reserving a physical bus address range, allowing the host input-output memory management unit to handle device access requests, thereby reducing the need for hypervisor translation and freeing up processing resources for more requests, enabling more guest virtual machines to run without performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hypervisor handles guest bus address translation for device access requests, then address translation is performed correctly, but processing overhead increases and computing efficiency decreases

Engineering Contradiction:
Improveaddress translation correctnessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the address translation function from the hypervisor and assigns it to the host IOMMU. The host IOMMU is configured with a physical bus address range that includes the allowed address range, enabling it to handle translation requests directly without hypervisor intervention. This extraction reduces the hypervisor's processing overhead while maintaining translation correctness through the host IOMMU's hardware-based translation capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces the host IOMMU as an intermediary between the guest virtual machine and the physical memory. The host IOMMU receives device access requests, performs address translation using the configured physical bus address range, and accesses physical memory directly. This intermediary mechanism eliminates the need for hypervisor-mediated translation, improving processing efficiency while ensuring correct address mapping.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the hypervisor processes a large number of small access requests, then all requests are handled, but processing resources are consumed and performance degrades

Engineering Contradiction:
Improverequest handling capabilityVSAvoidprocessing resource consumption
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent enables the host IOMMU to self-serve by configuring it with the physical bus address range. The host IOMMU autonomously handles address translation and device access requests without requiring hypervisor intervention for each request. This self-service mechanism significantly reduces processing resource consumption while maintaining full request handling capability, as the host IOMMU processes requests independently at hardware speed.

Inventive Principle:
Principle #25Self-service

3Productivity

If more guest virtual machines are run on one physical server, then hardware utilization improves, but translation overhead increases

Engineering Contradiction:
Improvehardware utilization rateVSAvoidtranslation overhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the translation overhead from the hypervisor and assigns it to the host IOMMU. By configuring the host IOMMU with the physical bus address range, each guest virtual machine's address translation requests are handled directly by the host IOMMU without hypervisor intervention. This extraction eliminates the cumulative translation overhead that would otherwise increase with more virtual machines, allowing higher hardware utilization without proportional increases in translation time.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10013199B2Translation bypass by host IOMMU for systems with virtual IOMMU
Publication Date: 2018.07.03 RED HAT ISRAEL
  • US10013199B2 patent drawing
  • US10013199B2 patent drawing
  • US10013199B2 patent drawing

AI summary

A system and method of translation bypass includes a hypervisor retrieving a physical bus address range from a host input-output memory management unit. The hypervisor reserves an allowed address range of the physical bus address range, and sends the allowed address range to a guest virtual machine. Sending the allowed address range sets a guest bus address range mapped by a virtual input-output memory management unit. The guest virtual machine is prevented from accessing any bus address outside of the allowed address range. The hypervisor receives, from the guest virtual machine, an access request to a guest bus address, which is an address within the allowed address range. The hypervisor stores the access request to the guest bus address in physical memory mapped in the host input-output memory management unit to an address outside of the allowed address range.