Partial PCI I/O Virtualization for VM Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data center technologies face inefficiencies in resource allocation due to static assignment of IT resources, leading to suboptimal CPU utilization and inflexibility in responding to changing business needs, resulting in underutilization of hardware resources.

Innovation Solution

A computer system incorporating a virtual machine monitor and host that enables direct I/O operations, allowing guest operating systems to control PCI devices without emulation, thereby reducing overhead and enhancing resource allocation flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If I/O emulation is used for memory-mapped I/O registers and I/O port registers, then virtual machine isolation and management are improved, but system overhead increases and performance deteriorates

Engineering Contradiction:
Improvevirtual machine isolationVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial virtualization by selectively emulating only PCI configuration space while allowing direct access to memory-mapped I/O registers and I/O port registers. This partial approach maintains sufficient virtual machine isolation through PCI configuration emulation while avoiding the performance penalty of full I/O emulation, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent segments the PCI address space into different regions: PCI configuration space is emulated for virtual machine isolation, while memory-mapped I/O and I/O port registers are accessed directly by guest operating systems. This segmentation allows different parts of the I/O subsystem to be handled differently, balancing isolation requirements with performance needs.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If static resource assignment is used, then system stability and simplicity are improved, but resource utilization and adaptability deteriorate

Engineering Contradiction:
Improvesystem stabilityVSAvoidresource allocation flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic resource allocation through virtualization, allowing IT resources to be reassigned from static assignments to dynamic allocation based on business needs. The virtual machine monitor enables resources to be migrated and reallocated flexibly while maintaining system stability through controlled virtualization management, thus resolving the contradiction between stability and adaptability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If full I/O device emulation is implemented, then virtual machine portability and isolation are improved, but device control overhead and complexity increase

Engineering Contradiction:
Improvevirtual machine portabilityVSAvoidemulation overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements partial I/O emulation by emulating only the PCI configuration space portion necessary for virtual machine portability and isolation, while allowing direct guest operating system control of actual I/O devices. This reduces emulation overhead and device complexity while maintaining sufficient virtualization capabilities.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7613847B2Partially virtualizing an I/O device for use by virtual machines
Publication Date: 2009.11.03 VALTRUS INNOVATIONS LTD
  • US7613847B2 patent drawing
  • US7613847B2 patent drawing
  • US7613847B2 patent drawing

AI summary

A computer system comprises a physical computer and a virtual machine monitor executable on the physical computer and configured to create an emulation of at least one guest operating system adapted to control the physical computer. The computer system further comprises a host executable on the physical computer that manages physical resources coupled to the physical computer on behalf of the virtual machine monitor and the at least one guest operating system. The host is adapted to virtualize a Peripheral Component Interconnect (PCI) configuration address space whereby the at least one guest operating system controls PCI input/output (I/O) devices directly and in absence of I/O emulation.