Dynamic P2P PCI Address Mapping for Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing systems, peer-to-peer transactions between PCI devices often require address translations, which can lead to bottlenecks and reduced operational efficiency, especially when numerous transactions are executed, as they need to go through a host device for address translation, slowing down the system.

Innovation Solution

The system dynamically configures itself to enable peer-to-peer communications by using an emulator application to read physical addresses of PCI devices, write them into emulated registers, and configure page tables for physical-to-physical address mapping, allowing direct communication between devices without the need for address translations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If peer-to-peer transactions use virtual addresses for address translation through host device, then security and virtualization control are improved, but processing speed and operational efficiency deteriorate due to translation delays

Engineering Contradiction:
Improvesecurity and virtualization controlVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system dynamically switches between two address mapping modes: virtual-to-physical mapping for secure virtualized operations and physical-to-physical mapping for high-speed peer-to-peer communication. The mapping mode is changed based on the transaction type, allowing the system to adapt between security requirements and performance requirements dynamically

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the address mapping parameter from virtual address translation to physical address direct mapping for peer-to-peer transactions. This parameter change eliminates the translation step while maintaining security through IOMMU configuration, directly addressing the speed-performance issue

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If address translations are performed for all peer-to-peer transactions, then virtualization control is maintained, but system throughput and productivity deteriorate due to translation overhead

Engineering Contradiction:
Improvevirtualization controlVSAvoidsystem throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system applies different address mapping qualities to different transactions: virtual address translation for transactions requiring virtualization control, and physical direct mapping for peer-to-peer transactions requiring high throughput. This local differentiation optimizes both security and productivity

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The IOMMU acts as an intermediary that can be configured to either translate addresses or pass through physical addresses directly. For peer-to-peer transactions, the IOMMU is configured to pass through physical addresses, eliminating translation overhead while maintaining virtualization control for other operations

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If physical addresses are used directly for peer-to-peer communication, then processing efficiency is improved by eliminating address translation, but device complexity increases due to configuration requirements

Engineering Contradiction:
Improveoperational efficiencyVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The emulator application automatically reads physical addresses from PCI devices and configures the page tables without manual intervention. This self-service configuration process handles the complexity automatically, improving productivity while managing device complexity through automation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary configuration actions by having the emulator application read physical addresses and configure page tables before transactions occur. This preliminary setup eliminates the need for complex runtime configuration, improving operational efficiency while managing complexity through advance preparation

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10013388B1Dynamic peer-to-peer configuration
Publication Date: 2018.07.03 AMAZON TECH INC
  • US10013388B1 patent drawing
  • US10013388B1 patent drawing
  • US10013388B1 patent drawing

AI summary

Provided are systems, methods, and computer-program products for enabling peer-to-peer communications between peripheral devices in a computing system. In various implementations, a host device in the computing system can read an address from a peripheral device included in the computing system. The host device can further configure an emulated peripheral device corresponding to the peripheral device, including writing the address to an emulated register of the emulated peripheral device. The host device can further initiate a virtual machine, including reading the address from the emulated register, initializing a page table for the virtual machine, and initiating a guest operating system. The guest operating system can be operable to use the address to access the physical device.