Load Balancer for CPU-GPU Intrusion Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional intrusion detection systems face inefficiencies in high-speed packet processing, leading to packet loss and high power consumption, particularly when using GPUs for packet checks, due to inadequate load balancing between CPUs and GPUs.
Innovation Solution
An intrusion detection apparatus and method that employs a load balancer to dynamically allocate packet character string check tasks between a CPU and a GPU based on traffic conditions, using threshold values to determine optimal task distribution and minimize power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If packet character string check tasks are allocated to GPU for high-speed processing, then processing speed is improved, but power consumption increases
Solution Approach 1:
The patent implements dynamic task allocation between CPU and GPU based on real-time traffic conditions. The load balancer continuously monitors packet arrival rates and adjusts task distribution accordingly - directing more tasks to GPU when traffic volume is high to maintain processing speed, and reducing GPU workload when traffic is low to minimize power consumption. This dynamic adaptation resolves the contradiction by making the system responsive rather than static.
Solution Approach 2:
The system changes the allocation parameter (task distribution ratio) based on traffic condition parameters. When packet arrival rate exceeds thresholds, the system increases GPU allocation ratio; when traffic decreases, it reduces GPU allocation. This parameter adjustment allows the system to optimize the balance between processing speed and power consumption by adapting to varying network conditions.
2Productivity
If all packets are received and processed simultaneously, then processing throughput is improved, but system performance decreases due to standby time
Solution Approach 1:
The patent segments packet processing into different queues (high-priority and normal-priority queues) and processes them in stages rather than all at once. The load balancer divides packets into batches and allocates them to CPU/GPU in manageable units, preventing the system from being overwhelmed by simultaneous processing of all packets. This segmentation maintains high throughput while avoiding performance degradation from standby time.
3Reliability
If dedicated hardware such as FPGA is used for packet checks, then detection capability is improved, but cost increases and dynamic rule adjustment becomes difficult
Solution Approach 1:
The patent replaces dedicated hardware (FPGA) with a software-based solution using CPU and GPU processing. Instead of installing specialized hardware modules, the system uses standard network interface cards and general-purpose processors running intrusion detection software. This substitution maintains detection capability while eliminating the complexity of dedicated hardware installation and enabling flexible, dynamic rule adjustments through software configuration rather than hardware reconfiguration.
4Power
If load is allocated to both CPU and GPU, then processing capability is improved, but data transmission load increases
Solution Approach 1:
The load balancer acts as an intermediary between packet reception and processing. It receives packets from the network interface, determines optimal allocation based on current conditions, and distributes tasks to appropriate processing units. This intermediary function enables efficient coordination between CPU and GPU, reducing unnecessary data transmission by pre-filtering and intelligently routing only the necessary packets to each processing unit based on real-time workload assessment.
Data Source
AI summary
An intrusion detection apparatus and method using a load balancer responsive to traffic conditions between a central processing unit (CPU) and a graphics processing unit (GPU) are provided. The intrusion detection apparatus includes a packet acquisition unit, a character string check task allocation unit, a CPU character string check unit, and a GPU character string check unit. The packet acquisition unit receives packets, and stores the packets in a single task queue. The character string check task allocation unit determines the number of packets in the packet acquisition unit, and allocates character string check tasks to the CPU or the GPU. The CPU character string check unit compares the character strings of the packets with a character string defined in at least one detection rule inside the CPU. The GPU character string check unit compares the character strings of the packets with the character string inside the GPU.


