Virtual RDMA Emulation Over TCP for Hypervisor-Agnostic Clouds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems require RDMA-capable hardware like RoCE NICs, which are not supported in most cloud-based systems, and are limited to vendor-specific hypervisors, necessitating significant time and cost for system modifications and orchestration tool adaptations.
Innovation Solution
A software layer emulates RDMA protocols over TCP, enabling RDMA communications without RoCE NICs and supporting any hypervisor, using a software-based RDMA emulation layer that operates over generic Ethernet NICs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If RoCE NIC hardware is used to enable RDMA communications, then RDMA performance is improved, but hardware compatibility and cloud deployment flexibility deteriorate
Solution Approach 1:
The patent creates a software-based copy of RDMA functionality that emulates the behavior of hardware RDMA NICs. The RDMA emulation software layer replicates the essential functions of RoCE NICs, allowing virtual machines to perform RDMA operations without requiring actual RDMA-capable hardware. This copying approach enables cloud-based systems to achieve RDMA performance while maintaining compatibility with standard Ethernet NICs and various hypervisors.
Solution Approach 2:
The patent replaces the mechanical hardware-based RDMA system with a software-based implementation. Instead of relying on physical RoCE NICs and hardware offloading, the system uses software layers that run on general-purpose processors to emulate RDMA protocols over TCP. This substitution eliminates the need for specialized hardware while maintaining RDMA functionality, thereby improving cloud deployment flexibility.
2Reliability
If vendor-specific hypervisors are used to support RDMA operations, then RDMA functionality is maintained, but system adaptability and vendor lock-in increase
Solution Approach 1:
The patent creates a universal RDMA emulation software layer that can operate across multiple hypervisor platforms. The software is designed to be hypervisor-agnostic, working with KVM, VMware, and other mainstream hypervisors without requiring vendor-specific modifications. This multi-functionality approach allows the same RDMA emulation software to provide consistent RDMA functionality across different virtualization environments, eliminating vendor lock-in while maintaining reliability.
3Adaptability or versatility
If software-based RDMA emulation is implemented, then hardware compatibility and cloud flexibility are improved, but system complexity increases
Solution Approach 1:
The patent segments the RDMA functionality into distinct software layers that operate independently. The RDMA emulation software layer is separated from the underlying TCP/IP stack and the virtual machine operations. This segmentation allows each layer to be developed, maintained, and optimized independently, reducing the perceived complexity while enabling flexible deployment across different cloud environments.
4Reliability
If RDMA operations are performed over TCP instead of UDP, then reliability and flow control are improved, but performance overhead increases
Solution Approach 1:
The patent introduces an intermediary RDMA emulation software layer that mediates between the RDMA operations and the TCP transport protocol. This intermediary layer translates RDMA protocol operations into TCP-compatible communication patterns, allowing RDMA functionality to operate over TCP while minimizing the performance overhead. The software layer optimizes the interaction between RDMA commands and TCP stream processing to reduce latency and improve throughput.
Data Source
AI summary
A system and method can facilitate software-based remote direct memory access (RDMA) communications over transport control protocol (TCP). The system establishes, by an RDMA emulation software layer in a first virtual machine, a TCP connection with a second virtual machine. Responsive to establishing the TCP connection, the system identifies, by the RDMA emulation software layer in the first virtual machine based on socket information received from the second virtual machine, a TCP socket associated with the TCP connection. Responsive to the first virtual machine initiating an RDMA send operation, the system, by the RDMA emulation software layer in the first virtual machine: prepends an RDMA send frame with a protocol header associated with the RDMA emulation software layer; and transmits, via the TCP socket, the prepended RDMA send frame. The system performs the RDMA send operation over the TCP connection.


