GPU Parallel Anti-Malware Scanning for CPU Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Anti-malware scanning in computing systems is inefficient due to sequential processing by Central Processing Units (CPUs), leading to prolonged scanning times, especially when dealing with large data volumes, as it relies on limited Input/Output speeds and cannot analyze data until it is loaded from storage.

Innovation Solution

Implementing anti-malware scanning in parallel processors of a Graphics Processing Unit (GPU) to execute anti-malware algorithms, allowing for concurrent processing and freeing up the CPU for other tasks, with known malware signatures stored in cache memory for rapid detection and identification of both known and unknown malware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If anti-malware scanning is executed sequentially by CPU, then the scanning process is simple to implement, but the scanning time becomes excessively long

Engineering Contradiction:
Improvescanning speedVSAvoidscanning time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the anti-malware scanning task into multiple parallel threads that can execute simultaneously on different CPU cores. Each thread processes a portion of the scanning workload independently, allowing the scanning operation to be segmented across multiple processing units rather than executed sequentially by a single CPU, thereby reducing total scanning time while maintaining implementation feasibility through standard multi-core CPU capabilities

Inventive Principle:
Principle #1Segmentation

2Productivity

If anti-malware scanning is performed using CPU, then the system can detect malware effectively, but the CPU becomes bottlenecked and cannot perform other tasks

Engineering Contradiction:
Improvemalware detection capabilityVSAvoidCPU availability for other tasks
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the malware detection function from the general CPU workload by implementing dedicated scanning threads that operate independently. This allows the CPU to divide its workload between malware detection and other system tasks, improving both malware detection capability and CPU availability for other operations simultaneously

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a dedicated scanning thread as an intermediary component that handles malware detection separately from the main CPU execution flow. This intermediary structure allows the CPU to focus on other tasks while the scanning thread independently processes malware detection, resolving the conflict between detection capability and CPU availability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If data is loaded sequentially from storage, then the I/O operation is simple, but the CPU cannot analyze data until it is loaded, limiting processing speed

Engineering Contradiction:
Improvedata analysis speedVSAvoidI/O operation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-loading data into memory before the actual analysis begins. The system loads data from storage into RAM in advance, allowing the CPU to immediately start analyzing the data without waiting for sequential I/O operations. This preliminary data loading step eliminates the bottleneck where the CPU must wait for data to be loaded before analysis can commence, significantly improving data analysis speed

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8392989B2Anti-malware scanning in parallel processors of a graphics processing unit
Publication Date: 2013.03.05 NVIDIA CORP
  • US8392989B2 patent drawing
  • US8392989B2 patent drawing
  • US8392989B2 patent drawing

AI summary

A method of anti-malware scanning includes providing, in a computing system including a central processor, a multimedia processor including a number of processors to operate in parallel with one another. The anti-malware scanning further includes executing an anti-malware algorithm using the multimedia processor to free the central processor for a non-anti-malware related task.