DMA Offloading VM Packet Copying CPU Bottleneck

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of virtual machines (VMs) on a physical server leads to performance bottlenecks and latency in the virtual switch layer due to CPU cycles spent on copying network packets, and offloading to physical switches through hair pinning has performance limitations and security risks.

Innovation Solution

Implementing a direct memory access (DMA) device to offload packet copying between VMs, allowing the DMA device to perform memory copy operations without CPU involvement, thus bypassing physical switch bandwidth and reducing CPU stalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU copies network packets between virtual machines, then packet transfer can be performed, but CPU cycles are consumed causing performance bottlenecks and increased latency

Engineering Contradiction:
Improvepacket transfer throughputVSAvoidCPU cycle consumption
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the packet copying function from the CPU by implementing a DMA device that can perform memory-to-memory copy operations independently. The virtual switch driver initiates the transfer by programming the DMA device with source and destination addresses, then the DMA device executes the copy operation without CPU involvement, freeing CPU cycles for other operations while maintaining high packet transfer throughput

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The DMA device acts as an intermediary between the virtual switch driver and the memory systems of source and destination virtual machines. It receives transfer requests from the driver, autonomously performs the memory copy operation by accessing both memory spaces, and completes the transfer without requiring continuous CPU intervention, thus resolving the contradiction between transfer productivity and CPU time consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If more virtual machines are added to a physical server, then computing capacity increases, but virtual switch layer becomes a performance bottleneck due to increased packet copying demands

Engineering Contradiction:
Improvenumber of virtual machinesVSAvoidvirtual switch performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the packet copying workload from the CPU and virtual switch software layer by implementing hardware-based DMA operations. This allows the system to support more virtual machines without proportionally increasing CPU burden, as each VM pair can utilize independent DMA channels for packet transfers, thereby scaling adaptability while maintaining virtual switch productivity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The DMA device enables packet transfers to serve themselves without CPU intervention. Once the virtual switch driver programs the DMA device with transfer parameters, the DMA device autonomously performs the memory copy operations, allowing the system to handle increased numbers of virtual machines and their inter-VM traffic without requiring proportional CPU resources, thus resolving the scalability bottleneck

Inventive Principle:
Principle #25Self-service

3Ease of operation

If packets are transmitted over physical network switches through hair pinning, then VM-to-VM communication is enabled, but peripheral bus bandwidth is consumed and security risks increase

Engineering Contradiction:
ImproveVM-to-VM communication capabilityVSAvoidperipheral bus bandwidth
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent extracts the packet transfer path from the physical network infrastructure by implementing direct memory-to-memory copying between virtual machines using the DMA device. This eliminates the need for packets to traverse the physical network switch through hair pinning, thereby conserving peripheral bus bandwidth while maintaining full VM-to-VM communication capability through direct memory access

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The DMA device serves as an intermediary that enables direct communication between virtual machines by performing memory copy operations within the host system memory space. This bypasses the need for physical network switch involvement in intra-host VM traffic, reducing peripheral bus bandwidth consumption while preserving communication functionality through hardware-based memory transfer

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3563534B1Transferring packets between virtual machines via a direct memory access device
Publication Date: 2022.07.20 INTEL CORP
  • EP3563534B1 patent drawingFigure 1
  • EP3563534B1 patent drawingFigure 2
  • EP3563534B1 patent drawingFigure 3

AI summary

An example computer system for transferring a packet includes a hypervisor to run a first virtual machine and a second virtual machine. The computer system also includes a first memory address space associated with the first virtual machine to store the packet. The computer system further includes a second memory address space associated with the second virtual machine to receive and store the packet. The computer system also includes a virtual switch coupled to the first virtual machine and the second virtual machine to detect that the packet is to be sent from the first virtual machine to the second virtual machine. The computer system further includes a direct memory access device to copy the packet from the first memory address space to the second memory address space via the direct memory access device.