![]() Typically, the processing and memory bottleneck in network processing engines is the performance of pattern matching computations at gigabit rates over many tens of thousands of signatures. These signature patterns can be fairly complex, composed of different-size strings, wild characters, range constraints, and sometimes recursive forms. Pattern matching algorithms analyze pieces of the network data stream and compare data patterns ( signatures) against a database of known viruses. Network security processing for virus detection relies extensively on pattern matching to determine if the data in packets is harmful and how to process the information. The results we obtained indicate that GPUs now have the necessary computing, memory, and interface functionality to be compelling network offload engines. To address this performance requirement, we present a prototype virus scanning system partially implemented on a modern graphics processor. For example, virus detection requires pattern matching at multi-gigabit rates to achieve acceptable throughput. The processing involves bit manipulations and many lookups into several multi-megabyte databases. Every byte, and potentially a combination of neighboring bytes, has to be processed multiple times. Network security is probably the most demanding of data packet processing operations. The motivation for this work is to see if the GPU has sufficient functionality to act as a network processor and, if it does, to leverage its commodity pricing to build routing and security appliances with a disruptive price/performance profile. To illustrate this comparison, Figures 35-1 and 35-2 show the main attributes of a high-end network processor from Intel (IXP2800) and a high-end GPU from NVIDIA. ![]() They offer a fast interconnection bus to stream large volumes of data.They offer the ability to use large numbers of multithreaded processors to hide DRAM latency.They involve highly data-parallel algorithms, with requirements for a small but very high speed memory subsystem.Network processing and graphics processing share these important characteristics: Although GPUs are designed principally for real-time 3D graphics, network processing and graphics processing have a lot in common. In this chapter we explore the potential of using the parallelism of commodity-priced graphics processors as network coprocessors. However, the low unit volumes force manufacturers to price these devices at many times the cost of producing them, to recoup the R&D dollars. Specialized network processors and FPGAs are flexible, and new algorithms and services can be deployed on edge routers or security appliances built using either technology. Processing throughput below 100 Mb/s is performed using either an x86 CPU or an embedded processor. From the 100 Mb/s to 4 Gb/s level, processing is usually performed using a combination of general-purpose CPUs, network processors, and field-programmable gate arrays (FPGAs). At the 4 Gb/s to 40 Gb/s level, processing is done using expensive, purpose-built application-specific integrated circuits. To process data at a low latency and high throughput, networking equipment vendors use dedicated hardware. The Internet, with its constantly improving data communications infrastructure, moves vast amounts of data every second. You can also subscribe to our Developer News Feed to get notifications of new material on the site.Ĭhapter 35. The CD content, including demos and content, is available on the web and for download. GPU Gems 3 GPU Gems 3 is now available for free online!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |