Virtual Machine Packet Routing via SmartNIC DMA Remapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine communication systems face inefficiencies in routing packets between virtual machines, particularly due to processor cycle consumption and limitations in routing traffic between adapters, which can lead to increased latency and restricted segment lengths.

Innovation Solution

The implementation of a virtual machine environment with a DMA remapping module and virtual interface layer that allows direct mapping of physical hardware resources to virtual machines, enabling efficient packet routing between virtual machines without relying on external hardware switches or network segments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional virtual machine communication systems are used, then virtual machines can communicate with each other, but processor cycle consumption increases and latency increases

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the packet routing function from the processor to a dedicated hardware component (SmartNIC). The SmartNIC includes a packet router that handles virtual machine communication packets independently, removing the processing burden from the main CPU and reducing latency in packet forwarding operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The SmartNIC acts as an intermediary device between virtual machines and the external network. It includes a virtual machine interface that directly communicates with virtual machines and a packet router that intelligently forwards packets, serving as a mediator that reduces processor involvement and communication latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If traditional routing methods are used, then packets can be routed between virtual machines, but device complexity increases due to external hardware switches

Engineering Contradiction:
Improvepacket routing capabilityVSAvoidhardware architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the packet routing functionality into the SmartNIC itself, combining what were previously separate components (virtual machine interface, packet router, and network interface) into a single integrated device. This eliminates the need for external hardware switches and simplifies the overall system architecture.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The SmartNIC is designed as a multi-functional device that handles multiple tasks: interfacing with virtual machines, routing packets between them, and providing external network connectivity. This universal device replaces multiple specialized components, reducing system complexity while maintaining full routing capability.

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

3Adaptability or versatility

If external hardware switches are used, then network traffic can be managed, but segment length restrictions apply and latency increases

Engineering Contradiction:
Improvenetwork traffic managementVSAvoidsegment length
Core Design Contradiction:
Adaptability or versatilityVSLength of moving object

Solution Approach 1:

The patent extracts the network switching functionality from external hardware switches and implements it within the SmartNIC. This allows the system to bypass external switch limitations regarding segment length, as packets are routed internally without being constrained by external network segment physical limitations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9483290B1Method and system for virtual machine communication
Publication Date: 2016.11.01 MARVELL ASIA PTE LTD
  • US9483290B1 patent drawing
  • US9483290B1 patent drawing
  • US9483290B1 patent drawing

AI summary

Methods and systems for a virtual environment are provided. A method includes receiving a packet from a first virtual machine at a virtual switch; determining if the packet is destined to a second virtual machine by comparing a destination address to a mapping data structure maintained by the virtual switch; transferring the packet to a first virtual function of a device assigned to the first virtual machine by directly mapping the first virtual function to the first virtual machine; the first virtual function initiating a direct memory access (DMA) operation to transfer the packet to the second virtual machine based on a logical memory address of the second virtual machine that is received from a second virtual function; and using the DMA operation to transfer the packet to the second virtual machine.