Paravirtual RDMA Interface for Virtual Machine Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization technologies do not provide flexible virtualized RDMA facilities, which are essential for high-performance computing and financial computing environments that require high-bandwidth and low-latency inter-system communications, limiting their adoption in these fields.

Innovation Solution

A paravirtual interface is implemented, allowing applications within virtual machines to access RDMA through a virtual RDMA driver that transmits requests via a socket-like communications interface to a virtualization layer, which multiplexes requests and manages state information for RDMA connections, enabling efficient RDMA operations and facilitating virtual machine migration and snapshotting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional virtualization technologies are used, then virtual machine execution is provided, but high-bandwidth and low-latency inter-system communications are not achieved

Engineering Contradiction:
Improveinter-system communication speedVSAvoidvirtualization system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a paravirtual interface as an intermediary layer between the guest operating system and the host system. This interface includes a virtual RDMA driver that translates guest RDMA operations into host-compatible operations, enabling efficient remote direct memory access while maintaining virtualization abstraction. The intermediary handles protocol translation and resource management, achieving high-speed communication without requiring complex modifications to the guest OS.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The RDMA functionality is segmented into distinct components: a virtual RDMA driver in the guest OS, a paravirtual interface layer, and host-side RDMA support. This segmentation allows each component to be optimized independently - the guest driver provides simple interfaces, the paravirtual layer handles complex translation, and the host manages physical resources - thereby achieving high performance without overwhelming system complexity.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If virtualization abstraction is implemented, then ease of operation is improved, but computational overhead increases

Engineering Contradiction:
ImproveRDMA access easeVSAvoidcomputational overhead
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The paravirtual interface enables self-service RDMA operations where the virtual RDMA driver in the guest OS can directly initiate and manage RDMA transfers without requiring intervention from the host OS for each operation. The guest driver maintains local state information and can perform common RDMA operations autonomously, reducing the computational overhead associated with virtualization context switches and host-guest communication for each RDMA transaction.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If virtual RDMA driver is implemented, then RDMA capabilities are provided, but device complexity increases

Engineering Contradiction:
ImproveRDMA capabilityVSAvoidvirtualization layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The paravirtual interface is designed as a universal layer that can handle multiple types of RDMA operations (read, write, register, deregister) and support various guest operating systems through a standardized interface. Rather than implementing separate virtualization mechanisms for each operation type or guest OS, the single paravirtual interface provides multi-functional support, reducing overall system complexity while maintaining broad adaptability.

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

Data Source

PatentUS10452580B2Method and system for providing remote direct memory access to virtual machines
Publication Date: 2019.10.22 VMWARE INC
  • US10452580B2 patent drawing
  • US10452580B2 patent drawing
  • US10452580B2 patent drawing

AI summary

The current document is directed to methods and systems that provide remote direct memory access (“RDMA”) to applications running within execution environments provided by guest operating systems and virtual machines above a virtualization layer. In one implementation, RDMA is accessed by application programs within virtual machines through a paravirtual interface that includes a virtual RDMA driver that transmits RDMA requests through a communications interface to a virtual RDMA endpoint in the virtualization layer.