String searching is one of these basic algorithms. It has a host of applications, including search engines, network intrusion detection, virus scanners, spam filters, and DNA analysis, among others. The Cell processor, with its multiple cores, promises to speed-up string searching a lot. In this article, we show how we mapped string searching efficiently on the Cell. We present two implementations: • The fast implementation supports a small dictionary size (approximately 100 patterns) and provides a throughput of 40 Gbps, which is 100 times faster than reference implementations on x86 architectures. • The heavy-duty implementation is slower (3.3-4.3 Gbps), but supports dictionaries with tens of thousands of strings.
Revised: September 16, 2009 |
Published: April 1, 2008
Citation
Scarpazza D.P., O. Villa, and F. Petrini. 2008.Fast String Search on Multicore Processors: Mapping fundamental algorithms onto parallel hardware.Dr. Dobb's Journal 33, no. 4:20-27.PNNL-SA-60105.