Fast Guest Data Path for Co-Resident Virtual Machine Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High performance computing tasks face inefficiencies due to communication and network overhead costs, even when executed on the same physical machine, as virtual machines employ full communication protocol stacks and do not effectively share memory resources.
Innovation Solution
Implementing a Fast Guest Data Path (FGDP) that short-circuits communication protocol processing between co-resident virtual machines by using low-latency inter-process communication mechanisms and enabling memory sharing between guest applications, allowing them to communicate directly without going through the entire network stack and facilitating high-bandwidth, low-latency network communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machines use full communication protocol stacks for inter-VM communication, then communication reliability is maintained, but communication overhead and processing time increase significantly
Solution Approach 1:
The patent segments the communication path into two distinct modes: traditional network protocol path for external communication, and direct memory access path for internal co-resident VM communication. This segmentation allows each path to be optimized for its specific use case, maintaining reliability for external communications while eliminating overhead for internal communications.
Solution Approach 2:
The patent introduces a virtual network interface card (VNIC) and hypervisor-mediated memory sharing mechanism as an intermediary between co-resident VMs. This intermediary enables direct memory access and shared memory regions, allowing VMs to communicate without traversing the full network protocol stack, thus reducing overhead while maintaining communication reliability through hypervisor-controlled access.
2Reliability
If virtual machines have isolated memory resources, then security and stability are improved, but memory sharing efficiency and communication speed deteriorate
Solution Approach 1:
The patent applies local quality by creating different memory access characteristics for different scenarios: isolated memory access for security-critical operations and shared memory access for performance-critical communications. The system dynamically adjusts memory sharing permissions and access methods based on the specific communication needs and security requirements of each VM pair.
Solution Approach 2:
The patent merges memory resources of co-resident VMs through hypervisor-managed shared memory regions, allowing multiple VMs to access the same physical memory pages. This merging improves memory sharing efficiency and communication speed while the hypervisor maintains security boundaries and access control to preserve system stability.
3Productivity
If data intensive computing tasks are distributed across multiple virtual machines, then computational capability is enhanced, but network overhead and communication costs increase
Solution Approach 1:
The patent transitions communication from the network dimension (protocol stacks, packets, routing) to the memory dimension (shared pages, direct access, pointers). By changing the dimension of communication from network-based to memory-based for co-resident VMs, the system eliminates network overhead while preserving the distributed computational architecture's enhanced processing capability.
Data Source
AI summary
Various embodiments are directed toward improving Virtual Machine performance by reducing the amount of communication protocol processing performed between co-resident Virtual Machine guest applications executing on the same physical machine. Overhead can be reduced by short-circuiting the full communication protocol stack when a plurality of Virtual Machine guest applications are hosted and executing on the same physical machine such as a data storage node or a compute accelerator node. Improvements may also be realized by enabling the sharing in virtual memory of physical memory pages between co-resident Virtual Machine guest applications, and employing a low latency high bandwidth network for enabling guest applications to communicate with each other that are located in different nodes in a data storage cluster.


