title: A Hybrid CPU/GPU Pattern-Matching Algorithm for Deep Packet Inspection.
abstract: The large quantities of data now being transferred via high-speed networks have made deep packet inspection indispensable for security purposes. Scalable and low-cost signature-based network intrusion detection systems have been developed for deep packet inspection for various software platforms. Traditional approaches that only involve central processing units (CPUs) are now considered inadequate in terms of inspection speed. Graphic processing units (GPUs) have superior parallel processing power, but transmission bottlenecks can reduce optimal GPU efficiency. In this paper we describe our proposal for a hybrid CPU/GPU pattern-matching algorithm (HPMA) that divides and distributes the packet-inspecting workload between a CPU and GPU. All packets are initially inspected by the CPU and filtered using a simple pre-filtering algorithm, and packets that might contain malicious content are sent to the GPU for further inspection. Test results indicate that in terms of random payload traffic, the matching speed of our proposed algorithm was 3.4 times and 2.7 times faster than those of the AC-CPU and AC-GPU algorithms, respectively. Further, HPMA achieved higher energy efficiency than the other tested algorithms.
authors.affiliation: Department of Computer Science and Information Engineering, School of Electrical and Computer Engineering, College of Engineering, Chang Gung University, Taoyuan, Taiwan.
authors.forename: Chun-Liang
authors.initials: CL
authors.lastname: Lee
authors.affiliation: Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan.
authors.forename: Yi-Shan
authors.initials: YS
authors.lastname: Lin
authors.affiliation: Department of Computer Science, National Chiao Tung University, Hsinchu, Taiwan.
authors.forename: Yaw-Chung
authors.initials: YC
authors.lastname: Chen
mesh_terms: D000465:Algorithms; D003196:Computer Graphics; D016494:Computer Security; D001330:Electronic Data Processing / Q000379:methods*; D010363:Pattern Recognition, Automated / Q000379:methods*; D012984:Software