An interesting news release crossed my inbox this evening that has some very compelling implications.  Kaspersky and NVIDIA want us all to know that Kaspersky is “leveraging CUDA with NVIDIA Tesla GPUs to dramatically improve the performance of their security software solutions by 360 times when compared to a Core2 Duo.”

Think about that for a minute – 360x!  Even if they are picking the absolute best case scenario, which we are sure they are, the implications are impressive.  The ability to speed up one of the most common and important functions of software on your PC to any significant degree would be a huge win for NVIDIA’s CUDA architecture and GPU computing as whole.

Before we get too excited though, this CUDA processing today is being done only at the server level:

“Kaspersky Lab uses the NVIDIA Tesla S1070 1U GPU system to accelerate the screening of malicious programs using a unique file similarity detection technology.   When the Kaspersky anti-virus software on a computer suspects that a file may be malicious, even though it may not match any known virus signatures, the software uploads this file to the Kaspersky Lab data center.  The server software then compares the suspected file against more than 50 million known good files and programs. Using complex anti-virus and SPAM detection algorithms, Kaspersky’s server software identifies the risk level of the suspected file and informs the client computer on what kind of preventive action to take…”

Kaspersky utilizes CUDA computing for virus scanning - Graphics Cards 2

This is still a very cool use of the GPU and we think more and more applications, especially on the consumer side, will begin to take advantage of the unique processing characteristics that NVIDIA and ATI provide. 

I asked when we might see use of the GPU on client-side virus scanning and got a very ambiguous answer, just as I expected.  However, until the storage systems of consumers gets a steady speed boost (thanks to widespread adoption of SSDs) the CPUs of today are likely fast enough to scan as much data as spindle-based hard drives can provide.  On the server side of things, as Kaspersky and NVIDIA are demonstrating, those bottlenecks are addressed more quickly.  GPUs are incredibly efficient parallel processors but only when you can provide them enough data to work on. 

Full press release below:
Kaspersky Lab utilizes NVIDIA technologies to enhance protection

Kaspersky Lab, a leading developer of secure content management solutions, announces the incorporation of new parallel computing technologies by NVIDIA into its infrastructure. In order to enhance client protection still further, the Company has started to use the highly efficient NVIDIA Tesla S1070 which is based on multi-core graphics processors.

NVIDIA Tesla GPUs are based on CUDA, NVIDIA’s computing architecture that enables its GPUs to be programmed using industry standard programming languages and APIs. Kaspersky Lab uses the Tesla S1070 1U GPU system to accelerate the intellectual services that define the similarity of files. The similarity services enable the identification of new files and define which file, or file groups, most closely resemble the unknown program received by the Company’s antivirus lab.

The use of Tesla S1070 by the similarity-defining services has significantly boosted the rate of identification of unknown files, thus making for a quicker response to new threats and providing users with even faster and more complete protection. During internal testing, the Tesla S1070 demonstrated a 360-fold increase in the speed of the similarity-defining algorithm when compared to the popular Intel Core 2 Duo central processor running at a clock speed of 2.6 GHz.

The similarity algorithms have been especially optimized to operate with the latest computer systems. They have been considerably redeveloped to simultaneously perform hundreds of thousands of instructions, each requiring processing by large data arrays. Kaspersky Lab specialists utilized the NVIDIA CUDA SDK development environment specifically for this purpose as it allows programs to be written for the latest generations of NVIDIA graphics processors in standard programming languages.

“As our company aims to provide the best protection to our users, we actively employ advanced technologies to accelerate computing.” stated Nikolay Grebennikov, Chief Technical Officer for Kaspersky Lab. “We could not ignore the advantages of modern graphics processing units (GPU). In terms of efficiency they have long been far ahead of central processing units (CPU) аnd the tasks that they are capable of performing have gone beyond the scope of basic graphics processing. The architecture of the GPUs is optimized for the parallel processing of large data arrays and we have already started to use this attribute to provide our clients with an even better level of protection from new malicious programs.”

“The ever increasing sophistication of computer viruses continues to be a big problem for consumers and corporations alike”, said Andy Keane, general manager, Tesla business at NVIDIA. “Kaspersky Labs continues to stay ahead of the curve by employing very novel change management and file similarity detection techniques that, with the help of NVIDIA Tesla GPUs, can quickly identify new threats and update the anti-virus software”.

Kaspersky Lab is planning to expand the application of highly-efficient parallel computing on graphics processors. They will be further integrated into the internal infrastructure and possibly into the Company’s own protection solutions too.