Software L2 Switching Caching for Virtual Network Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pure software implementation of Layer 2 switching in virtual switches is inherently slower due to the lack of specialized hardware, particularly in table lookups and hash collisions, which affects performance and efficiency.

Innovation Solution

Implementing a caching technique that reuses switching results for consecutive packets with the same destination MAC and VLAN ID, bypassing repetitive table lookups and hash operations by storing and reusing the dispatching results, thus minimizing overhead and improving speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If pure software implementation of Layer 2 switching is used, then flexibility and cost-effectiveness are improved, but switching speed and performance deteriorate due to lack of specialized hardware

Engineering Contradiction:
Improvecost-effectivenessVSAvoidswitching speed
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The patent performs table lookups and hash operations in advance for batches of packets with the same destination MAC address and VLAN ID. By pre-calculating the forwarding decisions for multiple packets before actual transmission, the system avoids repetitive processing and achieves faster switching speeds while maintaining software implementation benefits

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If table lookup operations are performed for each packet, then accurate forwarding decisions are achieved, but processing time increases and performance decreases

Engineering Contradiction:
Improveforwarding accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent maintains continuous batching of packets with identical forwarding requirements and performs a single table lookup for the entire batch. This continuous processing approach eliminates repeated lookup operations while ensuring accurate forwarding decisions through the use of hash tables and batching mechanisms

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If hash tables are used for MAC address table implementation, then lookup operations are accelerated, but hash value calculation time and collision handling overhead increase

Engineering Contradiction:
Improvelookup speedVSAvoidhash calculation time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent pre-calculates hash values for batches of packets before actual forwarding operations. By performing hash calculations in advance for multiple packets sharing the same destination, the system reduces the frequency of hash computations and minimizes collision handling overhead while maintaining fast lookup capabilities

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10511528B2Fast software L2 switching using a caching technique
Publication Date: 2019.12.17 VMWARE INC
  • US10511528B2 patent drawing
  • US10511528B2 patent drawing
  • US10511528B2 patent drawing

AI summary

In a system that includes a physical forwarding element (PFE), the mapping of each possible destination MAC address to a destination port number of the PFE is stored in a mapping table. A destination port number on the PFE is identified for a first packet in a sequence of packets arrived at a source port of the PFE by searching the mapping table and stores the destination port number in a caching table. For each packet after the first packet, when the destination MAC address of the packet matches the destination MAC address stored in the caching table, the destination port number stored in the caching table is used as the destination port number of the packet. Otherwise, a destination port number for the packet is identified by searching the mapping table and the destination port number stored in the caching table is replaced with the identified destination port number.