NIC Teaming Configuration Flip Without Live Traffic Interruption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NIC teaming configurations require synchronization and locking, which are expensive and block I/O threads during configuration changes, limiting high-performance network processing.

Innovation Solution

The system allows multiple I/O threads to run concurrently without synchronization by maintaining both current and new NIC teaming configurations, flipping between them during iterations, enabling continuous operation without locking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanism is used to synchronize configuration changes, then configuration reliability is improved, but processing speed deteriorates due to blocking I/O threads

Engineering Contradiction:
Improveconfiguration reliabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the NIC teaming device into a data plane (for packet processing) and a control plane (for configuration changes). The data plane continues processing packets without interruption while the control plane handles configuration modifications separately, eliminating the need for locks during packet processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by preparing configuration changes in advance and applying them during idle periods or when I/O threads are not actively processing. The system can switch configurations without interrupting active packet processing by preparing the new configuration state beforehand.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If locking is applied to protect configuration changes, then data integrity is improved, but productivity deteriorates due to thread blocking

Engineering Contradiction:
Improvedata integrityVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the NIC teaming device operations into separate data plane and control plane functions. The data plane handles packet processing independently without acquiring locks, while the control plane manages configuration changes separately, ensuring both data integrity and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a copy of the NIC teaming device configuration in memory, allowing configuration changes to be made on the copy while the original configuration continues to be used by I/O threads. This enables non-blocking configuration updates that maintain data integrity without sacrificing productivity.

Inventive Principle:
Principle #26Copying

3Reliability

If I/O threads acquire and release locks frequently, then configuration synchronization is improved, but system overhead increases

Engineering Contradiction:
Improveconfiguration synchronizationVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the synchronization mechanism by separating data plane operations from control plane operations. I/O threads in the data plane no longer need to acquire locks for configuration changes, as the control plane handles synchronization independently, significantly reducing system overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the locking mechanism from the packet processing path and places it in the configuration management path. This extraction removes the overhead of frequent lock acquisition and release from I/O thread operations while maintaining configuration synchronization through separate control mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10324881B2Systems and methods for flipping NIC teaming configuration without interfering live traffic
Publication Date: 2019.06.18 VMWARE INC
  • US10324881B2 patent drawing
  • US10324881B2 patent drawing
  • US10324881B2 patent drawing

AI summary

Systems and methods described herein facilitate configuration changes to an NIC teaming device while enabling multiple I/O threads continue to run through the NIC teaming device concurrently without interruption. At a given time, multiple configurations of the NIC teaming device, e.g., one for a current configuration of the NIC teaming device and one for a new configuration of the NIC teaming device, can co-exist. For the duration of one iteration, the current configuration of the NIC teaming device used by a specific I/O thread does not change and the new configuration of the NIC teaming device is not adopted by the I/O thread until the start of the next iteration. Once all of the I/O threads finish their current iteration, the configuration of the NIC teaming device is flipped from the current configuration to the new configuration and the current configuration is deleted.