System and method for a fast, programmable packet processing system
OwnerThomas Alexanderinventor
Life of this patent
Estimating the term…
Abstract
The present invention provides a cost effective method to improve the performance of communication appliances by retargeting the graphics processing unit as a coprocessor to accelerate networking operations. A system and method is disclosed for using a coprocessor on a standard personal computer to accelerate packet processing operations common to network appliances. The appliances include but are not limited to routers, switches, load balancers and Unified Threat Management appliances. More specifically, the method uses common advanced graphics processor engines to accelerate the packet processing tasks.
Claims15
A method within a processing system to utilize a graphics processing unit (GPU) as a coprocessor for a central processing unit (CPU), the method comprising:
- instructing initialization of an operations database in a memory of the GPU;
- offloading networking operations for the CPU to the GPU, wherein the GPU is initialized with a pattern match database, wherein the offloaded networking operations include using the pattern match database to resolve a regular expression match or pattern match networking operation, and wherein the CPU transfers a plurality of network packets into the GPU memory;
- sending an instruction from the CPU to the GPU to begin processing data from the plurality of network packets on a plurality of processing nodes of the GPU using the operations database, wherein each node will extract a portion of the packet data for the regular expression match or pattern match networking operation;
- and
- receiving results by the CPU of the processing.
A system comprising:
- a central processing unit (CPU);
- and
- a graphics processing unit (GPU) coupled to the CPU, the GPU operative to offload networking operations from the central processing unit, the GPU comprising:
- a memory used to store and initialize an operations database, the operations database including a pattern match database, wherein the offloaded networking operations include using the pattern match database to resolve a regular expression match or pattern match networking operation, wherein the memory is used to receive a plurality of network packets from the CPU;
- and
- a plurality of processing nodes, wherein upon an instruction from the CPU, the processing nodes are operative to process data from the plurality of network packets using the operations database, wherein each node is operative to extract a portion of the packet data for the regular expression match or pattern match networking operation,
- wherein the GPU is operative to provide results of the processing to the CPU.
Dependencies are inferred from the claim text.