13,841 research outputs found
Efficient Multistriding of Large Non-deterministic Finite State Automata for Deep Packet Inspection
Multistride automata speed up input matching because each multistriding transformation halves the size of the input string, leading to a potential 2x speedup. However, up to now little effort has been spent in optimizing the building process of multistride automata, with the result that current algorithms cannot be applied to real-life, large automata such as the ones used in commercial IDSs, because the time and the memory space needed to create the new automaton quickly becomes unfeasible. In this paper, new algorithms for efficient building of multistride NFAs for packet inspection are presented, explaining how these new techniques can outperform the previous algorithms in terms of required time and memory usag
Prospects and limitations of full-text index structures in genome analysis
The combination of incessant advances in sequencing technology producing large amounts of data and innovative bioinformatics approaches, designed to cope with this data flood, has led to new interesting results in the life sciences. Given the magnitude of sequence data to be processed, many bioinformatics tools rely on efficient solutions to a variety of complex string problems. These solutions include fast heuristic algorithms and advanced data structures, generally referred to as index structures. Although the importance of index structures is generally known to the bioinformatics community, the design and potency of these data structures, as well as their properties and limitations, are less understood. Moreover, the last decade has seen a boom in the number of variant index structures featuring complex and diverse memory-time trade-offs. This article brings a comprehensive state-of-the-art overview of the most popular index structures and their recently developed variants. Their features, interrelationships, the trade-offs they impose, but also their practical limitations, are explained and compared
Ultra-high throughput string matching for deep packet inspection
Deep Packet Inspection (DPI) involves searching a packet's header and payload against thousands of rules to detect possible attacks. The increase in Internet usage and growing number of attacks which must be searched for has meant hardware acceleration has become essential in the prevention of DPI becoming a bottleneck to a network if used on an edge or core router. In this paper we present a new multi-pattern matching algorithm which can search for the fixed strings contained within these rules at a guaranteed rate of one character per cycle independent of the number of strings or their length. Our algorithm is based on the Aho-Corasick string matching algorithm with our modifications resulting in a memory reduction of over 98% on the strings tested from the Snort ruleset. This allows the search structures needed for matching thousands of strings to be small enough to fit in the on-chip memory of an FPGA. Combined with a simple architecture for hardware, this leads to high throughput and low power consumption. Our hardware implementation uses multiple string matching engines working in parallel to search through packets. It can achieve a throughput of over 40 Gbps (OC-768) when implemented on a Stratix 3 FPGA and over 10 Gbps (OC-192) when implemented on the lower power Cyclone 3 FPGA
On the Power of Advice and Randomization for Online Bipartite Matching
While randomized online algorithms have access to a sequence of uniform
random bits, deterministic online algorithms with advice have access to a
sequence of advice bits, i.e., bits that are set by an all powerful oracle
prior to the processing of the request sequence. Advice bits are at least as
helpful as random bits, but how helpful are they? In this work, we investigate
the power of advice bits and random bits for online maximum bipartite matching
(MBM).
The well-known Karp-Vazirani-Vazirani algorithm is an optimal randomized
-competitive algorithm for \textsc{MBM} that requires access
to uniform random bits. We show that
advice bits are necessary and
sufficient in order to obtain a
-competitive deterministic advice algorithm. Furthermore, for a
large natural class of deterministic advice algorithms, we prove that
advice bits are required in order to improve on the
-competitiveness of the best deterministic online algorithm, while
it is known that bits are sufficient.
Last, we give a randomized online algorithm that uses random bits, for
integers , and a competitive ratio that approaches
very quickly as is increasing. For example if , then the difference
between and the achieved competitive ratio is less than
- …