GPU Offloading for Network Packet Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional pattern matching software places a significant burden on central processing units (CPU) due to the large number of patterns that must be compared, leading to increased computing resource demands and slower system performance, especially in anti-virus scans and network packet classification.
Innovation Solution
Offloading pattern matching calculations from the CPU to a graphics processing unit (GPU), where input data is formatted into pixels and a shading operation is performed using a finite state machine implementation of a pattern matching algorithm, leveraging the GPU's parallel processing capabilities to classify data packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pattern matching is performed using conventional software on the CPU, then the system can detect viruses and classify packets, but the CPU burden increases significantly and system performance decreases
Solution Approach 1:
The patent extracts the pattern matching function from the CPU and places it in a dedicated hardware device. This separation removes the computational burden of virus detection and packet classification from the general-purpose CPU, allowing the CPU to focus on other tasks while the dedicated hardware handles pattern matching operations independently and in parallel
Solution Approach 2:
The patent introduces a dedicated pattern matching hardware device as an intermediary between the CPU and the data being scanned. This intermediary handles the computationally intensive pattern matching operations, acting as a mediator that protects the CPU from resource exhaustion while maintaining the necessary security scanning functionality
2Adaptability or versatility
If the number of patterns to be scanned is increased to address new viruses and threats, then the detection capability improves, but the scanning time increases significantly
Solution Approach 1:
The patent segments the pattern matching process into parallel operations that can be executed simultaneously by multiple processing elements within the dedicated hardware device. By dividing the scanning task across numerous parallel processors, the system can handle an increasing number of patterns without proportionally increasing scanning time, as multiple patterns are evaluated concurrently rather than sequentially
Solution Approach 2:
The patent transitions from sequential pattern matching to parallel pattern matching by adding a spatial dimension to the processing architecture. Instead of checking patterns one after another in time sequence, the hardware device evaluates multiple patterns simultaneously across parallel processing elements, effectively moving the operation from a temporal sequence to a spatial parallel arrangement
3Adaptability or versatility
If packet classification is performed on the CPU, then packets can be classified based on header fields and payload, but the CPU resources are consumed and processing speed decreases
Solution Approach 1:
The patent extracts the packet classification function from the CPU and implements it in dedicated hardware. This separation allows the CPU to handle higher-level networking tasks while the dedicated hardware performs the computationally intensive classification operations, including examining packet headers and payloads against classification rules, thereby improving overall processing speed
Data Source
AI summary
A computing system offloads packet classification from a central processing unit to a graphics processing unit. In one implementation input data packets to be classified are represented as a first texture, classification rules are represented as a second texture, and a shading operation is performed to classify packets.


