This article presents a new, memory efficient and cache-optimized algorithm for simultaneously searching for a large number of patterns in a very large corpus. This algorithm builds upon the Rabin-Karp string search algorithm and incorporates a new type of Bloom filter that we call a feed-forward Bloom filter. While it retains the asymptotic time complexity of previous multiple pattern matching algorithms, we show that this technique, along with a CPU architecture aware design of the Bloom filter, can provide speedups between 2× and 30×, and memory consumption reductions as large as 50 × when compared with grep. Our algorithm is also well suited for implementations on GPUs: a modern GPU can search for 3 million patterns at a rate of 580 MB/...
Search schemes enable the efficient identification of all approximate occurrences of a search patter...
Pattern discovery is one of the fundamental tasks in bioinformatics and pattern recognition is a pow...
Pattern matching forms the core of many applications and contributes to a significant fraction of th...
This article presents a new, memory efficient and cache-optimized algorithm for simultaneously searc...
This paper presents an algorithm for exact pattern matching based on a new type of Bloom filter that...
This paper presents an algorithm for exact pattern matching based on a new type of Bloom filter that...
Multi-pattern matching is known to require intensive memory accesses and is often a performance bott...
High-speed packet content inspection and filtering devices rely on a fast multi-pattern matching alg...
A few known techniques of exact pattern matching, such as 2-byte read, skip loop, and sliding search...
Search schemes constitute a flexible and generic framework to describe how all approximate occurrenc...
Many fields of computing such as Deep Packet Inspection (DPI) employ string matching modules (SMM) t...
Bit-parallelism permits executing several operations simultaneously over a set of bits or numbers st...
Pattern searching and discovery for large files is prohibitively slow and requires large amounts of ...
We design a family of parallel algorithms and GPU implementations for the exact string matching prob...
The widely used multiple pattern matching algorithms experience severe performance degradation when ...
Search schemes enable the efficient identification of all approximate occurrences of a search patter...
Pattern discovery is one of the fundamental tasks in bioinformatics and pattern recognition is a pow...
Pattern matching forms the core of many applications and contributes to a significant fraction of th...
This article presents a new, memory efficient and cache-optimized algorithm for simultaneously searc...
This paper presents an algorithm for exact pattern matching based on a new type of Bloom filter that...
This paper presents an algorithm for exact pattern matching based on a new type of Bloom filter that...
Multi-pattern matching is known to require intensive memory accesses and is often a performance bott...
High-speed packet content inspection and filtering devices rely on a fast multi-pattern matching alg...
A few known techniques of exact pattern matching, such as 2-byte read, skip loop, and sliding search...
Search schemes constitute a flexible and generic framework to describe how all approximate occurrenc...
Many fields of computing such as Deep Packet Inspection (DPI) employ string matching modules (SMM) t...
Bit-parallelism permits executing several operations simultaneously over a set of bits or numbers st...
Pattern searching and discovery for large files is prohibitively slow and requires large amounts of ...
We design a family of parallel algorithms and GPU implementations for the exact string matching prob...
The widely used multiple pattern matching algorithms experience severe performance degradation when ...
Search schemes enable the efficient identification of all approximate occurrences of a search patter...
Pattern discovery is one of the fundamental tasks in bioinformatics and pattern recognition is a pow...
Pattern matching forms the core of many applications and contributes to a significant fraction of th...