Aho-Corasick String Matching on Shared and Distributed-Memory Parallel Architectures

  • Authors:
  • Antonino Tumeo;Oreste Villa;Daniel G. Chavarria-Miranda

  • Affiliations:
  • Pacific Northwest National Laboratory, Richland;Pacific Northwest National Laboratory, Richland;Pacific Northwest National Laboratory, Richland

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.