Multiway Radix Tree Search on General-Purpose Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques for high-speed route search using TCAM or GPU face issues like heat generation and performance degradation when dealing with large routing tables or long addresses, and general-purpose hardware solutions suffer from decreased search performance as data scale increases.
Innovation Solution
A search apparatus and method utilizing a multiway tree structure with internal and leaf node arrays, where each internal node includes a bit vector indicating whether a transition destination is an internal or leaf node, allowing for efficient chunk-based processing and node access using bit vectors and base information to facilitate high-speed searches on general-purpose hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If TCAM or GPU is used to speed up route search, then search performance is improved, but heat generation increases
Solution Approach 1:
The patent uses a multiway radix tree data structure that can be implemented on general-purpose hardware, creating a software-based copy of the routing table search function that avoids the heat generation issues of TCAM and GPU while maintaining high search performance through efficient memory access patterns and CPU cache utilization
Solution Approach 2:
The patent replaces the hardware-based search mechanisms (TCAM, GPU) with a software-based multiway radix tree implementation on general-purpose CPUs, substituting specialized hardware mechanics with software algorithms that achieve comparable performance without the thermal drawbacks
2Temperature
If general-purpose hardware is used for route search, then heat generation is reduced, but search performance deteriorates when routing table size increases
Solution Approach 1:
The patent segments the routing table into a multiway radix tree structure with internal nodes and leaf nodes, allowing the search process to be divided into manageable steps that efficiently utilize CPU cache and memory hierarchy, preventing performance degradation even with large routing tables
Solution Approach 2:
The patent changes the data structure parameters by using a multiway radix tree with configurable branching factors and optimized node layouts, transforming the routing table into a format that maximizes cache utilization and minimizes memory access latency on general-purpose hardware
3Device complexity
If conventional binary tree or radix tree is used, then implementation is simple, but search performance is limited to a few Mlps
Solution Approach 1:
The patent implements a dynamic multiway radix tree where the branching factor and node structure can be optimized based on the specific routing table characteristics, allowing the data structure to adapt to different scenarios and achieve high performance without excessive complexity
Solution Approach 2:
The patent transitions from traditional binary or simple radix trees to a multiway tree structure that exploits additional dimensions in the address space, enabling parallel processing of multiple bits simultaneously and achieving hundreds of Mlps performance on general-purpose hardware
Data Source
AI summary
A search apparatus including: a storage configured to store search target data; and a calculator configured to perform search processing for the search target data based on key data, the search target data being data of a multiway tree structure including an internal node array and a leaf node array, each internal node includes a bit vector representing whether a transition destination is an internal node or a leaf node by a bit, and the calculator is configured to repeatedly execute, until a transition node becomes a leaf node, processing of obtaining a chunk of a predetermined bit length from the key data, determining whether a transition destination from the internal node is an internal node or a leaf node based on a bit, in the bit vector of the accessing internal node, that corresponds to a value of the chunk, and accessing a node of the transition destination.


