Hierarchical Modular Software Switch for Distributed Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modular software switches face limitations in supporting pipeline distribution across multiple devices, heterogeneous hardware, and achieving scalable packet I/O and processing performance, particularly due to sequential processing bottlenecks and the need for careful data offloading on systems with GPUs and other accelerators.

Innovation Solution

A hierarchical modular software switch extension that distributes pipeline stages across multiple heterogeneous hardware devices, using a control plane system to manage and adapt the placement of filtering and monitoring pipeline elements, maintaining a bi-dimensional device table for offloading and delegation of packet processing, and dynamically optimizing load and performance across devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pipeline distribution across multiple devices is implemented, then processing throughput is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The software switch is divided into multiple pipeline stages that can be distributed across different hardware devices. Each device handles specific pipeline elements, allowing parallel processing of packet flows while maintaining modular system architecture. This segmentation enables throughput improvement without proportionally increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A control plane is introduced as an intermediary between the distributed data plane elements and the management system. The control plane handles device configuration, pipeline element placement, and coordination, abstracting the complexity of multi-device management while enabling high-throughput parallel processing across heterogeneous hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If heterogeneous hardware devices are utilized, then processing capability is improved, but compatibility and management difficulty increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidcompatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system employs a universal control plane that can manage multiple types of heterogeneous hardware devices through standardized interfaces. The control plane translates high-level pipeline configurations into device-specific instructions, enabling diverse hardware (GPUs, FPGAs, ASICs, CPUs) to work together seamlessly without requiring device-specific management logic for each hardware type.

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

3Device complexity

If sequential processing is used, then implementation simplicity is maintained, but processing throughput is limited

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically distributes pipeline stages across multiple processing devices based on workload characteristics and hardware capabilities. The control plane continuously monitors system state and adjusts pipeline element placement to optimize throughput, transitioning from static sequential processing to dynamic parallel processing while maintaining implementation simplicity through automated management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3343843B1A control plane system and method for managing a data plane amongst a plurality of equipments
Publication Date: 2020.09.30 ALCATEL LUCENT SA
  • EP3343843B1 patent drawingFigure 1~2

AI summary

The invention relates to a control plane system for management of a data plane amongst a plurality of network or system bus connected active 1 to 4, and passive 5, 6 equipments, and corresponding method, with application in the field of network or bus connected equipments comprising heterogeneous hardware and software devices or modules. The data plane comprises one or more pipeline elements, each of said active equipments comprising a processing unit, a memory 10 and one or more hardware devices 11 to 15 configured to run a pipeline element, said passive equipments 5, 6 being configured to manage data traffic between active equipments 1 to 4. The system comprises: - a master control plane 1 stored in the memory of one of the active equipments and adapted for, when executed by the processing unit of said one of the active equipment, dynamically managing the placement of the pipeline elements of the data plane on one or more of the other active equipments according to one or more specific rules, and configuring the passive equipments to transfer traffic amongst the other active equipments accordingly, - a plurality of slave control planes 2, 3, 4 respectively stored in the memory 10 of other active equipments, each adapted for, when executed by the processing unit of the corresponding other active equipment, dynamically managing the placement of local pipeline elements, placed on the corresponding other active equipment by the master control plane, on one or more of the hardware devices of the corresponding active equipment according to one or more specific rules.