Virtual Network Device Processing Bypass for High Packet Rate Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualization of network devices incurs significant CPU processing overhead, limiting performance in high packet rate applications such as firewalls and DHCP servers, with existing solutions like SR-IOV requiring special hardware and not supporting all virtualization features.
Innovation Solution
Bypassing the virtual switch layer for virtual machines that consume all traffic on a single physical network interface controller and modifying virtual device processing to operate in polling mode instead of interrupt-driven mode, reducing processing costs and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtualization of network devices is implemented, then resource sharing and virtualization features are enabled, but CPU processing overhead increases significantly
Solution Approach 1:
The system dynamically switches between two operational modes: a fast path that bypasses the virtual switch layer for high packet rate applications, and a slow path that uses the virtual switch layer for applications requiring virtualization features. This dynamic adaptation allows the system to optimize performance based on real-time requirements.
Solution Approach 2:
The patent applies different processing paths to different traffic flows based on their specific requirements. High packet rate applications receive the fast path treatment with direct VNIC-to-PNIC connectivity, while applications needing virtualization features use the standard virtual switch path, ensuring each gets the appropriate level of processing.
2Productivity
If SR-IOV is used to support high performance networking, then packet processing rate increases, but hardware requirements and device complexity increase
Solution Approach 1:
Instead of requiring expensive SR-IOV enabled hardware, the patent uses software-based virtual switching with optional bypass capabilities that can be implemented on standard network interface controllers. This approach provides similar performance benefits without the need for specialized hardware.
Solution Approach 2:
The patent extracts the essential function of SR-IOV (bypassing the virtual switch layer for direct connectivity) and implements it through a fast path mechanism that can be applied selectively without requiring SR-IOV hardware capabilities, thus removing the hardware dependency while retaining the performance benefit.
3Reliability
If interrupt-driven mode is used for virtual device processing, then responsiveness to traffic changes is improved, but processing overhead increases
Solution Approach 1:
The patent implements polling mode where the fast path periodically checks for packets instead of using interrupt-driven processing. This periodic action reduces the frequency of context switches and interrupt handling overhead while maintaining acceptable responsiveness for high packet rate applications.
Solution Approach 2:
The fast path maintains a continuous direct connection between VNIC and PNIC, allowing packet processing to proceed without the interruptions and context switches inherent in interrupt-driven virtual switch processing. This continuous action eliminates the overhead of repeated interrupt setup and teardown.
Data Source
AI summary
A method of optimizing network processing in a system comprising a physical host and a set of physical network interface controllers (PNICs) is provided. The physical host includes a forwarding element. The method includes determining that a set of conditions is satisfied to bypass the forwarding element for exchanging packets between a particular data compute node (DCN) and a particular PNIC. The set of conditions includes the particular DCN being the only DCN connected to the forwarding element and the particular PNIC being the only PNIC connected to the forwarding element. The method exchanges packets between the particular DCN and the particular PNIC bypassing the forwarding element. The method determines that at least one condition in said set of conditions is not satisfied. The method utilizes the forwarding element to exchange packets between the particular DCN and the particular PNIC.


