Programmable Data Plane LPM With Distributed Interval Trees
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network systems face challenges in providing flexible network interfaces to adapt to changes in network device structure, protocols, and feature sets, leading to increased CPU load and inefficiencies in processing network operations, particularly in cloud data centers with large-scale routing and policy management requirements.
Innovation Solution
A programmable IO device employing a modified binary search algorithm on an interval binary search tree for efficient longest prefix matching (LPM) without using TCAMs, utilizing arithmetic logic units (ALUs) and memory units to distribute processing across cascading stages, optimizing memory usage and search efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional network systems use fixed network interfaces and conventional routing tables, then device structure and protocol compatibility are maintained, but flexibility to adapt to changes in network device structure, protocols, and feature sets deteriorates
Solution Approach 1:
The patent implements dynamic routing tables that can be modified at runtime without requiring physical reconfiguration of network interfaces. The system allows dynamic insertion and deletion of routing entries, enabling the network to adapt to changing protocols and device structures while maintaining a manageable interface architecture.
Solution Approach 2:
The routing table is segmented into multiple data structures including prefix trees, interval trees, and hash tables, each handling different aspects of routing information. This segmentation allows flexible adaptation to various network protocols while keeping individual data structures manageable and predictable.
2Adaptability or versatility
If network systems process all routing operations through CPU, then protocol flexibility is maintained, but CPU load and processing efficiency deteriorate
Solution Approach 1:
The patent replaces CPU-based mechanical processing with hardware-accelerated data structures. Interval trees and prefix trees are implemented as hardware components that perform routing lookups autonomously, substituting CPU instructions with dedicated hardware logic that processes routing operations in parallel without consuming CPU cycles.
Solution Approach 2:
The routing system performs self-service through automated routing table maintenance. The system automatically inserts, updates, and deletes routing entries based on network events without requiring continuous CPU intervention, enabling protocol flexibility while reducing CPU load through autonomous operation.
3Speed
If network systems use TCAM for routing lookups, then lookup speed is improved, but memory consumption and device complexity worsen
Solution Approach 1:
The patent changes the storage parameter from dense TCAM memory to sparse SRAM-based interval trees. By representing routing information as intervals rather than dense lookup tables, the system achieves comparable lookup speeds with significantly reduced memory consumption, as only necessary routing entries are stored explicitly.
Solution Approach 2:
The system uses multiple copies of routing information distributed across different data structures (prefix trees, interval trees, hash tables) rather than relying on a single TCAM structure. This copying approach enables faster lookup through parallel searches while reducing overall memory requirements by sharing common routing prefixes across multiple structures.
4Adaptability or versatility
If network systems implement comprehensive routing and policy management, then network functionality is improved, but processing time and latency variability worsen
Solution Approach 1:
The patent segments routing and policy management into separate, independent data structures and processing stages. Routing lookups are handled by interval trees while policy applications are handled by separate policy engines, allowing parallel processing and eliminating sequential dependencies that cause latency variability.
Solution Approach 2:
The system performs preliminary actions by pre-computing and organizing routing information in interval trees and prefix trees during system initialization or updates. This pre-processing eliminates the need for real-time CPU-intensive routing calculations during packet forwarding, reducing processing time while maintaining comprehensive routing and policy management capabilities.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Described are programmable IO devices comprising: an MPU and a memory unit. The MPU comprising at least one ALU. The memory unit having instructions stored thereon which, when executed by the respective programmable IO device, cause the programmable IO device to perform operations. These operations comprise: receiving, from an inbound interface, a packet comprising packet data for at least one range-based element; determining, via the MPU, a lookup result by performing a modified binary search on an interval binary search tree with the packet data to determine a LPM, wherein the interval binary search tree maps the at least one range-based element to an associated data element; and classifying the packet based on the lookup result.