Skip to main content

A Novel Parallel Dual-Character String Matching Algorithm on Graphical Processing Units

  • Conference paper
  • First Online:
Algorithms and Architectures for Parallel Processing (ICA3PP 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10393))

Abstract

Aho-Corasick algorithm has been widely used in network intrusion detection system to inspect network packets against thousands of attack patterns. To improve the performance of network intrusion detection systems, many variations of Aho-Corasick algorithm are proposed to accelerate multiple string matching on GPUs or dedicated hardware. One of the proposed variations is to increase the number of characters that are processed per cycle. However, increasing the number of characters processed per cycle will encounter two major problems. The first problem is the input alignment problem while the second problem is the large increase of memory required for storing the state transition table. The two problems cause the multi-character approach become less feasible. In this paper, we propose a novel parallel dual-character string matching algorithm on graphical processing units. In order to solve the two major problems, the proposed algorithm presents a new state machine to solve the input alignment problem, and compresses the state transition table using perfect hashing to solve the memory explosion problem. The experimental results show that the proposed algorithm is superior to the state-of-the-art approaches in terms of performance and memory requirements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. AbuHmed, T., Mohaisen, A., Nyang, D.: A survey on deep packet inspection for intrusion detection systems. CoRR abs/0803.0037 (2008)

    Google Scholar 

  2. Aho, A.V., Corasick, M.J.: Efficient string matching: An aid to bibliographic search. Commun. ACM 18(6), 333–340 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  3. Alicherry, M., Muthuprasanna, M., Kumar, V.: High speed pattern matching for network ids/ips. In: Proceedings of the 2006 IEEE International Conference on Network Protocols, pp. 187–196 (2006)

    Google Scholar 

  4. Bremler-Barr, A., Hay, D., Koral, Y.: CompactDFA: Generic state machine compression for scalable pattern matching. In: 2010 Proceedings of IEEE INFOCOM, pp. 1–9 (2010)

    Google Scholar 

  5. Chang, Y.K., Chang, C.R., Su, C.C.: The cost effective pre-processing based nfa pattern matching architecture for nids. In: 2010 24th IEEE International Conference on Advanced Information Networking and Applications, pp. 385–391 (2010)

    Google Scholar 

  6. Chen, C.C., Wang, S.D.: An efficient multicharacter transition string-matching engine based on the aho-corasick algorithm. ACM Trans. Archit. Code Optim. 10(4), 25:1–25:2 (2013)

    MathSciNet  Google Scholar 

  7. Clang: A C language family frontend for LLVM. https://clang.llvm.org/ (April 2017)

  8. Dharmapurikar, S., Lockwood, J.W.: Fast and scalable pattern matching for network intrusion detection systems. IEEE J. Select. Areas Commun. 24(10), 1781–1792 (2006)

    Article  Google Scholar 

  9. Dharmapurikar, S., Lockwood, J.: Fast and scalable pattern matching for content filtering. In: Proceedings of the 2005 ACM Symposium on Architecture for Networking and Communications Systems ANCS 2005, NY, USA. pp. 183–192. ACM, New York (2005)

    Google Scholar 

  10. Hua, N., Song, H., Lakshman, T.V.: Variable-stride multi-pattern matching for scalable deep packet inspection. IEEE INFOCOM 2009, 415–423 (2009)

    Google Scholar 

  11. Jiang, W., Yang, Y.H.E., Prasanna, V.K.: Scalable multi-pipeline architecture for high performance multi-pattern string matching. In: 2010 IEEE International Symposium on Parallel Distributed Processing (IPDPS), pp. 1–12 (2010)

    Google Scholar 

  12. Kim, J., i. Choi, S.: High speed pattern matching for deep packet inspection. In: 2009 9th International Symposium on Communications and Information Technology, pp. 1310–1315 (2009)

    Google Scholar 

  13. Lin, C.H., Li, J.C., Liu, C.H., Chang, S.C.: Perfect hashing based parallel algorithms for multiple string matching on graphic processing units. IEEE Trans. Parallel Distrib. Syst. 99, 1 (2017)

    Google Scholar 

  14. Lin, C.H., Liu, C.H., Chien, L.S., Chang, S.C.: Accelerating pattern matching using a novel parallel algorithm on gpus. IEEE Trans. Comput. 62(10), 1906–1916 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  15. NVIDIA: CUDA Zone (2016). https://developer.nvidia.com/cuda-zone

  16. OpenCL - The open standard for parallel programming of heterogeneous systems (2017). https://www.khronos.org/opencl/

  17. The OpenMP API specification for parallel programming (2016). http://www.openmp.org/

  18. Wikipedia: Data structure alignment (2017). https://en.wikipedia.org/wiki/Data_structure_alignment

  19. Yamagaki, N., Sidhu, R., Kamiya, S.: High-speed regular expression matching engine using multi-character nfa. In: 2008 International Conference on Field Programmable Logic and Applications, pp. 131–136 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cheng-Hung Lin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Liao, CY., Lin, CH. (2017). A Novel Parallel Dual-Character String Matching Algorithm on Graphical Processing Units. In: Ibrahim, S., Choo, KK., Yan, Z., Pedrycz, W. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2017. Lecture Notes in Computer Science(), vol 10393. Springer, Cham. https://doi.org/10.1007/978-3-319-65482-9_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65482-9_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65481-2

  • Online ISBN: 978-3-319-65482-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics