April 1, 2008
Journal Article

Fast String Search on Multicore Processors: Mapping fundamental algorithms onto parallel hardware

Abstract

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.