Accelerating string matching using multi-threaded algorithm on GPU

Cheng Hung Lin*, Sheng Yu Tsai, Chen Hsiung Liu, Shih Chieh Chang, Jyuo Min Shyu

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

46 Citations (Scopus)


Network Intrusion Detection System has been widely used to protect computer systems from network attacks. Due to the ever-increasing number of attacks and network complexity, traditional software approaches on uni-processors have become inadequate for the current high-speed network. In this paper, we propose a novel parallel algorithm to speedup string matching performed on GPUs. We also innovate new state machine for string matching, the state machine of which is more suitable to be performed on GPU. We have also described several speedup techniques considering special architecture properties of GPU. The experimental results demonstrate the new algorithm on GPUs achieves up to 4,000 times speedup compared to the AC algorithm on CPU. Compared to other GPU approaches, the new algorithm achieves 3 times faster with significant improvement on memory efficiency. Furthermore, because the new Algorithm reduces the complexity of the Aho-Corasick algorithm, the new algorithm also improves on memory requirements.

Original languageEnglish
Title of host publication2010 IEEE Global Telecommunications Conference, GLOBECOM 2010
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Print)9781424456383
Publication statusPublished - 2010
Event53rd IEEE Global Communications Conference, GLOBECOM 2010 - Miami, FL, United States
Duration: 2010 Dec 62010 Dec 10

Publication series

NameGLOBECOM - IEEE Global Telecommunications Conference


Other53rd IEEE Global Communications Conference, GLOBECOM 2010
Country/TerritoryUnited States
CityMiami, FL


  • Graphics processing unit
  • String matching

ASJC Scopus subject areas

  • Electrical and Electronic Engineering


Dive into the research topics of 'Accelerating string matching using multi-threaded algorithm on GPU'. Together they form a unique fingerprint.

Cite this