VMM Driver Offload for Virtual Machine I/O Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtual machine architectures experience inefficiencies in input/output transactions due to duplicate processing, context switching, and complex implementation, which impact performance and scalability, especially in I/O-bound applications and when handling networking and storage technologies.

Innovation Solution

The introduction of a modified virtual machine manager (VMM) driver that transfers data between the TCP/IP or storage services stacks and offload pseudo driver modules without changing the level of abstraction, eliminating the need for virtual NIC and SCSI drivers and stacks, and utilizing TCP and SCSI offload pseudo drivers to consolidate requests and handle interrupts at a higher level, thereby simplifying implementation and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional virtual machine architecture with full TCP/IP and storage stacks in guest OS is used, then complete functionality and control are achieved, but duplicate processing and context switching reduce I/O performance

Engineering Contradiction:
ImproveI/O performanceVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the TCP/IP and storage service stacks from the guest operating system and places them in the platform manager. This extraction eliminates duplicate processing while maintaining complete functionality, as the stacks now reside in a single location rather than being replicated in both host and guest systems.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces offload pseudo driver modules as intermediaries between the guest OS and the platform manager's TCP/IP or storage stacks. These pseudo drivers enable the guest OS to offload I/O processing to the platform manager without requiring full stacks in both locations, reducing context switching while maintaining functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual NIC and SCSI drivers are implemented in guest OS, then device-specific functionality is achieved, but device complexity and scalability are reduced

Engineering Contradiction:
Improvescalability to new I/O cardsVSAvoidnumber of virtual drivers
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the platform manager's TCP/IP and storage stacks universal by removing their dependency on specific virtual device drivers in the guest OS. The stacks now handle I/O for multiple device types through a unified interface, enabling easier scalability to new I/O cards without requiring guest OS modifications.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent removes virtual NIC and SCSI drivers from the guest operating system, extracting their functionality to the platform manager. This elimination of device-specific virtual drivers reduces implementation complexity while maintaining device functionality through the platform manager's unified stacks.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of time

If data transfer involves multiple abstraction levels and context switching, then complete processing control is achieved, but processing time increases

Engineering Contradiction:
Improvecontext switching timeVSAvoiddata transfer efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The offload pseudo driver modules serve as intermediaries that enable direct data transfer between the guest OS and the platform manager's stacks without requiring multiple context switches. The pseudo drivers handle the abstraction layer transitions efficiently, reducing processing time while maintaining complete processing control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary setup by establishing the offload pseudo driver modules in advance, which pre-configured data transfer paths between the guest OS and platform manager. This preliminary action eliminates the need for dynamic context switching during data transfer operations, improving efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7941812B2Input/output virtualization through offload techniques
Publication Date: 2011.05.10 VALTRUS INNOVATIONS LTD
  • US7941812B2 patent drawing
  • US7941812B2 patent drawing
  • US7941812B2 patent drawing

AI summary

A computer apparatus provides support multiple virtual computing machines. In accordance with one embodiment, the computer apparatus includes a platform manager, a virtual machine manager (VMM) driver of the platform manager, a TCP/IP stack of the platform manager, a guest operating system supported by the platform manager, and a TCP offload pseudo driver module of the guest operating system. The VMM driver is configured to transfer data between a top of the TCP/IP stack and the TCP offload pseudo driver module without changing a level of abstraction of the data. In accordance with another embodiment, the VMM driver is configured to transfer data between a top of a SCSI services stack and a SCSI offload pseudo driver module without changing a level of abstraction of the data. Other embodiments, aspects, and features are also disclosed.