Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Experiences with string matching on the Fermi Architecture

Conference ·

String matching is at the core of many real-world applications, such as security, bioinformatic, data mining. All these applications requires the ability to match always growing data sets against large dictionaries effectively, fastly and possibly in real time. Unfortunately, string matching is a computationally intensive procedure which poses significant challenges on current software and hardware implementations. Graphic Processing Units (GPU) have become an interesting target for such high-throughput applications, but the algorithms and the data structures need to be redesigned to be parallelized and adapted to the underlining hardware, coping with the limitations imposed by these architectures. In this paper we present an efficient implementation of the Aho-Corasick string matching algorithm on GPU, showing how we progressively redesigned the algorithm and the data structures to fit on the architecture. We then evaluate the implementation on single and multiple Tesla C2050 (T20 ``Fermi'' based) boards, comparing them to the previous Tesla C1060 (T10 based) solutions and equivalent multicore implementations on x86 CPUs. We discuss the various tradeoffs of the different architectures.

Research Organization:
Pacific Northwest National Laboratory (PNNL), Richland, WA (US)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
1023200
Report Number(s):
PNNL-SA-75647
Country of Publication:
United States
Language:
English

Similar Records

Hardware Architectures for Data-Intensive Computing Problems: A Case Study for String Matching
Book · Thu Dec 27 23:00:00 EST 2012 · OSTI ID:1092670

Accelerating DNA analysis applications on GPU clusters
Conference · Sun Jun 13 00:00:00 EDT 2010 · OSTI ID:986273

Aho-Corasick String Matching on Shared and Distributed Memory Parallel Architectures
Journal Article · Wed Feb 29 23:00:00 EST 2012 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1034574