B-Tree Routing Lookup Hardware Reducing Pipeline Depth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current routing lookup solutions face high memory consumption, leading to inefficiencies in routing lookup efficiency, particularly due to the large number of pipeline levels in Trie tree structures which result in increased memory usage and reduced memory utilization.
Innovation Solution
A routing lookup method and device utilizing a B-Tree structure with a software algorithm component, hardware data structure, updating flow, and pipeline architecture, which reduces pipeline levels and optimizes memory usage by managing node and result table entries efficiently, allowing for high-performance lookups with less sensitivity to routing prefix distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a Trie tree structure is used for routing lookup, then the pipeline operation is easy to implement and throughput rate is improved, but the number of pipeline levels becomes large resulting in long lookup delay
Solution Approach 1:
The patent segments the routing table into multiple partitions, each maintained as a separate B-tree structure. This segmentation allows parallel processing of lookup operations across different partitions, reducing the effective depth of the search tree and thereby decreasing lookup delay while maintaining high throughput through parallel pipeline operations.
Solution Approach 2:
The patent transitions from a single deep Trie tree structure to a multi-dimensional B-tree partitioning scheme. By organizing routing entries across multiple B-trees in parallel (adding a partition dimension), the solution reduces the vertical depth (pipeline levels) while distributing the lookup workload horizontally across multiple structures, thus reducing lookup delay without sacrificing throughput.
2Loss of time
If a multi-bit Trie tree structure is used to reduce pipeline levels, then lookup delay is reduced, but additional memory consumption increases and memory space utilization becomes low
Solution Approach 1:
The patent changes the fundamental structural parameters from multi-bit Trie trees to B-trees with optimized order values. By adjusting the B-tree order parameter and partitioning strategy, the solution achieves shallower tree depth (reducing lookup delay) while using memory more efficiently than multi-bit Trie structures, avoiding the exponential memory growth associated with multi-bit approaches.
Solution Approach 2:
The patent implements dynamic partitioning and B-tree order selection based on routing table characteristics. This dynamic adaptation allows the system to optimize the balance between tree depth and memory usage according to actual data distribution, preventing both excessive memory consumption and unnecessary lookup delay.
3Loss of time
If a multi-bit Trie tree structure is used to reduce pipeline levels, then lookup delay is reduced, but memory space utilization becomes sensitive to routing prefix distribution
Solution Approach 1:
The patent creates a universal B-tree partitioning framework that performs consistently across different routing prefix distributions. The B-tree structure with appropriate partitioning provides predictable memory usage patterns regardless of whether the routing table has uniform or skewed prefix distributions, making the solution adaptable and versatile across various network scenarios without being sensitive to data distribution characteristics.
Data Source
AI summary
Provided are a routing lookup method and device, and a method for constructing a B-Tree structure, wherein the device includes a routing lookup algorithm software component, a routing update interface component and a routing lookup hardware component, the routing lookup algorithm software component is configured to execute software calculation for a routing entry and issue an entry update instruction, the routing update interface component is configured to control, after receiving the entry update instruction issued by the routing lookup algorithm software component, a data stream of the routing lookup hardware component according to an actual working state of the routing lookup hardware component, and write an updated entry into a memory of the routing lookup hardware component, and the routing lookup hardware component is configured to respond to a routing lookup request of a hardware system, and return a lookup result matched with a longest prefix to the hardware system.


