Precomputed Encapsulated Headers for Virtual Switch Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Encapsulating and decapsulating data packets in software-defined datacenters is time-consuming and resource-intensive, significantly impacting network throughput.
Innovation Solution
Precomputing encapsulated headers in advance for virtual machines, allowing for quicker and more efficient encapsulation of data packets by using precomputed headers instead of generating them anew each time a packet is received.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If encapsulated headers are generated anew each time a packet is received, then the encapsulation process is flexible and adaptive, but the network throughput decreases and CPU resource consumption increases
Solution Approach 1:
The patent precomputes encapsulated headers in advance and stores them in a lookup table before they are actually needed for packet encapsulation. When a packet needs to be encapsulated, the precomputed header is retrieved from the lookup table rather than being generated in real-time, significantly reducing the time and CPU resources required for encapsulation operations.
2Speed
If encapsulated headers are precomputed in advance, then the encapsulation speed increases and network throughput improves, but the initial processing overhead and memory usage increase
Solution Approach 1:
The system performs header computation in advance during periods when network traffic is lower, distributing the computational load over time rather than concentrating it during peak traffic periods. This spreads the CPU energy consumption across multiple time points, reducing the instantaneous energy burden while maintaining high encapsulation speeds during actual data transmission.
Solution Approach 2:
Instead of regenerating the same encapsulated headers repeatedly for different packets with similar characteristics, the system computes each unique header once, stores it in the lookup table, and then reuses it for multiple packets. This copying approach eliminates redundant computation, significantly reducing total CPU cycles required while maintaining encapsulation speed.
3Productivity
If precomputed encapsulated headers are used, then CPU cycles for checksum computation are reduced, but the complexity of header management increases
Solution Approach 1:
The patent introduces a lookup table as an intermediary data structure between the packet processing logic and the encapsulated headers. This lookup table manages the storage, retrieval, and validation of precomputed headers, shielding the complex header management details from the main packet processing flow and simplifying the overall system architecture.
Data Source
AI summary
An approach for improving throughput for encapsulated network traffic is provided. In an embodiment, a method comprises obtaining a plurality of network addresses of a plurality of intermediaries that facilitate communications between a plurality of virtual machines. A set of source-destination intermediary pairs is determined based on the plurality of network addresses, and for each source-destination intermediary pair, from the set of source-destination intermediary pairs, a precomputed encapsulated header is generated and included in a set of precomputed encapsulated headers. If a data packet from a particular source intermediary and destined to a particular destination intermediary is received, and a particular precomputed encapsulated header for the particular source intermediary and the particular destination intermediary is included in the set of precomputed encapsulated headers, then the particular precomputed encapsulated header is retrieved from the set of precomputed encapsulated headers and used to form a particular encapsulated packet.


