This Article 
 Bibliographic References 
 Add to: 
Accelerating Real-Time String Searching with Multicore Processors
April 2008 (vol. 41 no. 4)
pp. 42-50
Oreste Villa, Politecnico di Milano
Daniele Paolo Scarpazza, IBM T.J. Watson Research Center
Fabrizio Petrini, IBM T.J. Watson Research Center
String searching is at the core of tools used to search, filter, and protect data, but this has become increasingly difficult to do in real time as communication speed grows. The authors present an optimization strategy for a popular algorithm that fully exploits the IBM Cell Broadband Engine architecture to perform exact string matching against large dictionaries and also offer various solutions to alleviate memory congestion.

1. "The Expanding Digital Universe: A Forecast of Worldwide Information Growth through 2010," white paper, IDC Corp., Mar. 2007.
2. D.C. Suresh et al., "Automatic Compilation Framework for Bloom Filter Based Intrusion Detection," Reconfigurable Computing: Architectures and Applications, K. Bertels, J.M.P. Cardoso, and S. Vassiliadis, eds., LNCS 3985, Springer, 2006, pp. 413–418.
3. L. Bu and J.A. Chandy, "A CAM-Based Keyword Match Processor Architecture," Microelectronics J., vol. 37, no. 8, 2006, pp. 828–836.
4. I. Sourdis and D. Pnevmatikatos, "Pre-Decoded CAMs for Efficient and High-Speed NIDS Pattern Matching," Proc. 12th Ann. IEEE Symp. Field-Programmable Custom Computing Machines (FCCM 04), IEEE CS Press, 2004, pp. 258–267.
5. S. Antonatos et al., "Performance Analysis of Content Matching Intrusion Detection Systems," Proc. 2004 Symp. Applications and the Internet (SAINT 04), IEEE CS Press, 2004, pp. 208–218.
6. D.P. Scarpazza, O. Villa, and F. Petrini, "Peak-Performance DFA-Based String Matching on the Cell Processor," Proc. 21st Int'l Parallel and Distributed Processing Symp. (IPDPS 07), IEEE Press, 2007.
7. C. Chang and R. Paige, "From Regular Expressions to DFA's Using Compressed NFA's," Proc. 3rd Ann. Symp. Combinatorial Pattern Matching (CPM 92), A. Apostolico et al., eds., LNCS 644, Springer, 1992, pp. 88–108.
8. R. Sidhu and V.K. Prasanna, "Fast Regular Expression Matching Using FPGAs," Proc. 9th Ann. IEEE Symp. Field-Programmable Custom Computing Machines (FCCM 01), IEEE CS Press, 2001, pp. 227–238.
9. B.L. Hutchings, R. Franklin, and D. Carver, "Assisting Network Intrusion Detection with Reconfigurable Hardware," Proc. 10th Ann. IEEE Symp. Field-Programmable Custom Computing Machines (FCCM 02), IEEE CS Press, 2002, pp. 111–120.
10. H-J. Jung, Z.K. Baker, and V.K. Prasanna, "Performance of FPGA Implementation of Bit-Split Architecture for Intrusion Detection Systems," Proc. 20th Int'l Symp. Parallel and Distributed Processing Symp. (IPDPS 06), IEEE Press.
11. B.W. Watson, The Performance of Single-Keyword and Multiple-Keyword Pattern Matching Algorithms, tech. report 94/19, Faculty of Mathematics and Computing Science, Eindhoven Univ. of Technology, 1994.
1. B.H. Bloom, "Space/Time Trade-Offs in Hash Coding with Allowable Errors," Comm. ACM, vol. 13, no. 7, 1970, pp. 422–426.
2. D.E. Knuth, J.H. Morris Jr., and V.R. Pratt, "Fast Pattern Matching in Strings," SIAM J. Computing, vol. 6, no. 2, 1977, pp. 323–350.
3. R.S. Boyer and J.S. Moore, "A Fast String Searching Algorithm," Comm. ACM, vol. 20, no. 10, 1977, pp. 62–72.
4. B. Commentz-Walter, "A String Matching Algorithm Fast on the Average," Proc. 6th Int'l Colloq. Automata, Languages and Programming, H.A. Maurer, ed., LNCS 71, Springer, 1979, pp. 118–131.
5. A.V. Aho and M.J. Corasick, "Efficient String Matching: An Aid to Bibliographic Search," Comm. ACM, vol. 18, no. 6, 1975, pp. 333–340.

Index Terms:
String-searching algorithms, deep-packet inspection, memory congestion, multicore processors, Cell Broadband Engine
Oreste Villa, Daniele Paolo Scarpazza, Fabrizio Petrini, "Accelerating Real-Time String Searching with Multicore Processors," Computer, vol. 41, no. 4, pp. 42-50, April 2008, doi:10.1109/MC.2008.105
Usage of this product signifies your acceptance of the Terms of Use.