Virtualized RDMA Emulation for Heterogeneous Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy applications with RDMA requirements face performance issues when migrated to virtualized network environments, as existing solutions rely on homogeneous RDMA devices and cannot achieve high performance without them.

Innovation Solution

A communication system that enables virtualized RDMA by simulating/emulating an RDMA device, using DMA copy mechanisms, memory sharing, FPGAs, and software emulation to facilitate RDMA operations between virtual machines, allowing for high-performance virtualized RDMA without requiring homogenous physical devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If legacy applications with RDMA requirements are migrated to virtualized network environments using existing solutions, then the applications can run in virtualized environments, but performance deteriorates due to reliance on homogeneous RDMA devices

Engineering Contradiction:
Improvesupport for non-homogeneous devicesVSAvoidRDMA performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a virtualization layer (hypervisor or software-defined networking component) that acts as an intermediary between the physical network and virtual machines. This intermediary translates RDMA operations from virtual machines into appropriate physical network operations, enabling non-homogeneous devices to provide RDMA services while maintaining high performance. The virtualization layer manages the complexity of device heterogeneity and presents a unified RDMA interface to applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent employs virtualization to create virtual copies of RDMA devices that can be instantiated on different physical hardware. These virtual RDMA devices (vRDMA) can be deployed on non-homogeneous physical devices while maintaining the appearance and behavior of standard RDMA devices. The virtualization layer copies and translates RDMA operations to work with the underlying physical hardware diversity.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If virtualized RDMA is implemented without homogeneous physical devices, then device diversity and resource utilization improve, but system complexity increases

Engineering Contradiction:
Improvedevice homogeneity requirementVSAvoidvirtualization layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs a universal virtualization layer that can manage multiple types of physical network devices through a single unified interface. This multi-functional virtualization layer handles diverse hardware architectures, network interfaces, and RDMA implementations by translating them into a common virtual RDMA protocol. The universality of the virtualization layer simplifies device diversity management while enabling flexible resource allocation across heterogeneous hardware.

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

Solution Approach 2:

The virtualization layer incorporates feedback mechanisms to monitor and adapt to the capabilities of underlying physical devices. By receiving feedback about device status, capabilities, and performance characteristics, the virtualization layer can dynamically adjust resource allocation, routing decisions, and RDMA operation parameters to optimize performance while managing complexity. This feedback-driven adaptation allows the system to handle device heterogeneity automatically.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11507404B2Virtualized remote direct memory access
Publication Date: 2022.11.22 INTEL CORP
  • US11507404B2 patent drawing
  • US11507404B2 patent drawing
  • US11507404B2 patent drawing

AI summary

Particular embodiments described herein provide for an electronic device that can be configured to receive a remote direct memory access (RDMA) message from a first virtual machine located on a first network element, determine that the RDMA message is destined for a second virtual machine that is located on the first network element, and use a local direct memory access engine to process the RDMA message, where the local direct memory access engine is located on the first network element. In an example, the electronic device can be further configured to determine that the RDMA message is destined for a third virtual machine on a second network element, wherein the second network element is different than the first network element and use an other device acceleration driver to process the RDMA message instead of the local direct memory access engine.