Multi-Core Packet Classification via Decision Tree Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet classification methods for firewalls and security gateways are inefficient on multi-core processors due to redundant classifier data structures not considering memory hierarchy and processor architecture, leading to performance bottlenecks.

Innovation Solution

A method for multi-core processor-based packet classification that constructs a decision tree data structure by recursively partitioning the search space to reduce the number of rules in each subspace, selecting partition fields and points to minimize rules in sub-spaces, and using a first-in-first-out queue to process elements, ensuring efficient classification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a decision tree data structure is constructed without considering memory hierarchy and processor architecture, then the classifier data structure can be built, but the performance on multi-core processors deteriorates due to redundancy and inefficiency

Engineering Contradiction:
Improveease of implementing packet classificationVSAvoidpacket classification performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent divides the packet classification task into multiple independent threads, each handling a specific subset of classification rules. This segmentation allows parallel processing on multi-core processors while reducing the complexity of individual thread execution, directly addressing the performance deterioration issue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the decision tree structure by adding thread ID and rule range dimensions. This transforms the traditional single-thread decision tree into a multi-dimensional structure that can be efficiently distributed across multiple processors, eliminating redundancy and improving performance.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If specialized hardware solutions like ASIC/FPGA are used, then high-performance packet classification is achieved, but the time-to-market increases and cost increases

Engineering Contradiction:
Improvepacket classification performanceVSAvoidtime-to-market
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent creates a software-based packet classification system that copies and emulates the functionality of specialized hardware like ASIC/FPGA using general-purpose processors. This software implementation achieves comparable performance while avoiding the long development cycles and high costs of hardware customization, thus reducing time-to-market.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces specialized hardware mechanisms with software-based multi-core processor mechanisms. By using general-purpose processors with parallel programming capabilities, the system achieves high-performance packet classification without the constraints of hardware design cycles, thereby reducing time-to-market and cost.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Device complexity

If a traditional decision tree data structure is used without considering processor architecture, then the classification logic is simple, but the scalability to multi-core processors deteriorates

Engineering Contradiction:
Improvecomplexity of classifier data structureVSAvoidadaptability to multi-core processors
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static decision tree data structure into a dynamic, flexible structure that can adapt to multi-core processor architectures. The structure includes configurable parameters such as thread count, rule distribution strategies, and memory management policies, allowing it to dynamically adjust to different hardware configurations while maintaining manageable complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8375433B2Method for multi-core processor based packet classification on multiple fields
Publication Date: 2013.02.12 TSINGHUA UNIVERSITY
  • US8375433B2 patent drawing
  • US8375433B2 patent drawing
  • US8375433B2 patent drawing

AI summary

The present invention relates to a method for multi-core processor based packet classification on multiple fields. The invention specifically proposes three methods to select partition points, two associated methods to select dimensions, then receiving packet information after the data structure of classification is constructed, and searching the data structure of classification according to packet information to get matched results. The present invention can be implemented on many types of multi-core processor based platforms which ensure favorable performance and adaptive capabilities for different network applications, and significantly reduce the product cost of high-end routers and firewalls.