Multi-PCIe Socket NIC Bonding Module for Network Stack Simplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-PCIe socket environments, network administrators must maintain multiple network stacks for each network port and applications need modifications to utilize multiple network interfaces, leading to complexity and inefficiency.

Innovation Solution

The implementation of a bonding/teaming module that teams multiple operating system network interfaces, allowing applications to see a single interface agnostic to the host operating system, with traffic selection based on transmission queue affinity for TCP/IP and affinity attributes for RDMA and User mode Ethernet traffic, using a hardware bond module to steer traffic across PCIe endpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple network interfaces are exposed to applications in a multi-PCIe socket environment, then network functionality and performance are improved, but system complexity and difficulty of management increase

Engineering Contradiction:
Improvenetwork functionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple PCIe socket network interfaces into a single unified network interface through a bonding/teaming module. This merging allows applications to interact with a single interface while the underlying multiple interfaces operate simultaneously, resolving the contradiction by maintaining network versatility while reducing system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The bonding/teaming module acts as an intermediary layer between applications and multiple network interfaces. It manages traffic distribution, load balancing, and failover across multiple interfaces while presenting a single interface to applications, thus improving network functionality without increasing application-side complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple network stacks are maintained for each network port, then network performance and reliability are improved, but administrative overhead and operational complexity increase

Engineering Contradiction:
Improvenetwork reliabilityVSAvoidadministrative overhead
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent merges multiple network stacks into a single unified network stack through the bonding/teaming module. This consolidation maintains the reliability benefits of multiple network paths while reducing administrative overhead by eliminating the need to manage separate network stacks for each interface.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified network interface provides multi-functionality by handling multiple network protocols, load balancing, and failover mechanisms through a single interface. This universal approach maintains network reliability while simplifying operational management compared to maintaining separate network stacks.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If applications are modified to utilize multiple network interfaces, then network performance and flexibility are improved, but application compatibility and ease of deployment decrease

Engineering Contradiction:
Improvenetwork performanceVSAvoidapplication compatibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The bonding/teaming module serves as an intermediary that allows applications to use a single network interface while automatically managing communication across multiple underlying interfaces. This preserves application compatibility and ease of deployment while maintaining the performance benefits of multiple network interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple network interfaces into a single logical interface that applications can use. This combining approach maintains application compatibility since applications don't need to be modified, while still achieving improved network performance through the underlying multiple interfaces.

Inventive Principle:
Principle #5Merging (Combining)

4Device complexity

If a single unified network interface is presented to applications, then system simplicity and ease of management are improved, but the ability to utilize multiple PCIe endpoints efficiently may be reduced

Engineering Contradiction:
Improvesystem simplicityVSAvoidnetwork throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The bonding/teaming module merges multiple PCIe endpoint interfaces into a single unified interface presented to applications. This merging maintains system simplicity while the underlying implementation efficiently utilizes multiple endpoints through load balancing and traffic distribution, preventing any loss in network throughput.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified network interface provides multi-functionality by simultaneously managing multiple PCIe endpoints, load balancing, failover, and various network protocols. This universal interface maintains system simplicity while efficiently utilizing multiple endpoints to achieve high network throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10387358B2Multi-PCIe socket NIC OS interface
Publication Date: 2019.08.20 MELLANOX TECHNOLOGIES LTD(IL)
  • US10387358B2 patent drawing
  • US10387358B2 patent drawing

AI summary

A plurality of Peripheral Component Interconnect Express (PCIe) endpoints of a multi-socket network interface device are attached to a host for exchanging ingress traffic and egress traffic. An operating system of the host includes a bonding/teaming module having a plurality of network interfaces. The bonding/teaming module is configured to select one of the endpoints for the egress traffic. The network interface device has a hardware bond module configured to steer the ingress traffic to designated ones of the endpoints.