Hierarchical Modular Software Switch for Distributed Packet Processing
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If pipeline distribution across multiple devices is implemented, then processing throughput is improved, but system complexity increases
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.
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.
2Productivity
If heterogeneous hardware devices are utilized, then processing capability is improved, but compatibility and management difficulty increase
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.
3Device complexity
If sequential processing is used, then implementation simplicity is maintained, but processing throughput is limited
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.
Data Source
Figure 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.