This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Aho-Corasick String Matching on Shared and Distributed-Memory Parallel Architectures
March 2012 (vol. 23 no. 3)
pp. 436-443
Antonino Tumeo, Pacific Northwest National Laboratory, Richland
Oreste Villa, Pacific Northwest National Laboratory, Richland
Daniel G. Chavarría-Miranda, Pacific Northwest National Laboratory, Richland
String matching requires a combination of (sometimes all) the following characteristics: high and/or predictable performance, support for large data sets and flexibility of integration and customization. This paper compares several software-based implementations of the Aho-Corasick algorithm for high-performance systems. We focus on the matching of unknown inputs streamed from a single source, typical of security applications and difficult to manage since the input cannot be preprocessed to obtain locality. We consider shared-memory architectures (Niagara 2, x86 multiprocessors, and Cray XMT) and distributed-memory architectures with homogeneous (InfiniBand cluster of x86 multicores) or heterogeneous processing elements (InfiniBand cluster of x86 multicores with NVIDIA Tesla C1060 GPUs). We describe how each solution achieves the objectives of supporting large dictionaries, sustaining high performance, and enabling customization and flexibility using various data sets.

[1] G. Navarro and M. Raffinot, Flexible Pattern Matching in Strings: Practical On-Line Search Algorithms for Texts and Biological Sequences. Cambridge Univ. Press, 2002.
[2] Pattern Recognition and String Matching, D. Chen and X. Chen, eds. Springer, 2003.
[3] A.V. Aho and M.J. Corasick, "Efficient String Matching: An Aid to Bibliographic Search," Comm. ACM, vol. 18, no. 6, pp. 333-340, 1975.
[4] Y.H. Cho and W.H. Mangione-Smith, "Deep Packet Filter! with Dedicated Logic and Read Only Memories," Proc. IEEE 12th Ann. Symp. Field-Programmable Custom Computing Machines (FCCM), pp. 125-134, 2004.
[5] C.R. Clark and D.E. Schimmel, "Scalable Pattern Matching for High Speed Networks," Proc. IEEE 12th Ann. Symp. Field-Programmable Custom Computing Machines (FCCM), pp. 249-257, 2004.
[6] O. Villa, D. Chavarria-Miranda, and K. Maschhoff, "Input-Independent, Scalable and Fast String Matching on the Cray XMT," Proc. IEEE 23rd Int'l Symp. Parallel AND Distributed Processing (IPDPS), pp. 1-12, 2009.
[7] D. Pasetto, F. Petrini, and V. Agarwal, "Tools for Very Fast Regular Expression Matching," Computer, vol. 43, pp. 50-58, 2010.
[8] O. Villa, D.P. Scarpazza, and F. Petrini, "Accelerating Real-Time String Searching with Multicore Processors," Computer, vol. 41, no. 4, pp. 42-50, 2008.
[9] D.P. Scarpazza, O. Villa, and F. Petrini, "Exact Multi-Pattern String Matching on the Cell/B.E. Processor," Proc. Fifth Conf. Computing Frontiers (CF), pp. 33-42, 2008.
[10] M. Roesch, "Snort: Lightweight Intrusion Detection for Networks," Proc. 13th USENIX Conf. System Administration (LISA), pp. 229-238, 1999.
[11] N. Jacob and C. Brodley, "Offloading IDS Computation to the GPU," Proc. 22nd Ann. Computer Security Applications Conf. (ACSAC), pp. 371-380, 2006.
[12] G. Vasiliadis, S. Antonatos, M. Polychronakis, E.P. Markatos, and S. Ioannidis, "Gnort: High Performance Network Intrusion Detection Using Graphics Processors," Proc. 11th Int'l Symp. Recent Advances in Intrusion Detection (RAID), pp. 116-134, 2008.
[13] Symantec Corporation "Symantec Global Internet Security Threat Report Whitepaper," Apr. 2008.
[14] J. Feo, D. Harper, S. Kahan, and P. Konecny, "ELDORADO," Proc. Second Conf. Computing Frontiers (CF), pp. 28-34, 2005.
[15] G. Ruetsch and P. Micikevicius, "NVIDIA Whitepaper: Optimizing Matrix Transpose in CUDA," 2010.
[16] Ohio State Univ. MPI MicroBenchmarks, http://mvapich.cse. ohio-state.edubenchmarks /, 2011.

Index Terms:
Aho-Corasick, string matching, GPGPU, Cray XMT, multithreaded architectures, high-performance computing.
Citation:
Antonino Tumeo, Oreste Villa, Daniel G. Chavarría-Miranda, "Aho-Corasick String Matching on Shared and Distributed-Memory Parallel Architectures," IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 3, pp. 436-443, March 2012, doi:10.1109/TPDS.2011.181
Usage of this product signifies your acceptance of the Terms of Use.