126 research outputs found
VeriTable: Fast Equivalence Verification of Multiple Large Forwarding Tables
Due to network practices such as traffic engineering and multi-homing, the
number of routes---also known as IP prefixes---in the global forwarding tables
has been increasing significantly in the last decade and continues growing in a
super linear trend. One of the most promising solutions is to use smart
Forwarding Information Base (FIB) aggregation algorithms to aggregate the
prefixes and convert a large table into a small one. Doing so poses a research
question, however, i.e., how can we quickly verify that the original table
yields the same forwarding behaviors as the aggregated one? We answer this
question in this paper, including addressing the challenges caused by the
longest prefix matching (LPM) lookups. In particular, we propose the VeriTable
algorithm that can employ a single tree/trie traversal to quickly check if
multiple forwarding tables are forwarding equivalent, as well as if they could
result in routing loops or black holes. The VeriTable algorithm significantly
outperforms the state-of-the-art work for both IPv4 and IPv6 tables in every
aspect, including the total running time, memory access times and memory
consumption.Comment: INFOCOM 201
Heaviest Induced Ancestors and Longest Common Substrings
Suppose we have two trees on the same set of leaves, in which nodes are
weighted such that children are heavier than their parents. We say a node from
the first tree and a node from the second tree are induced together if they
have a common leaf descendant. In this paper we describe data structures that
efficiently support the following heaviest-induced-ancestor query: given a node
from the first tree and a node from the second tree, find an induced pair of
their ancestors with maximum combined weight. Our solutions are based on a
geometric interpretation that enables us to find heaviest induced ancestors
using range queries. We then show how to use these results to build an
LZ-compressed index with which we can quickly find with high probability a
longest substring common to the indexed string and a given pattern
Instant-Fuzzy search using Phrase Indexing and Segmentation with Proximity Ranking
Quick search is an information-retrieval in which a system finds answers to a query instantly whenever a user types query character-by-character. Now a days, instant search is basically beneficial task for the user to get effective responses to the query when user typing a query in search engine. Fuzzy search used to improve user search familiarities by finding relevant answers with keywords similar to query keywords. We are using phrase inception value which is used to limit the answer set generated by instant fuzzy search. For that main challenge is that to improve the speed of performance as well as minimize answer set to retrieval of desired documents for the user query. At the same time, we also need better ranking functions that consider the proximity of keywords to compute relevance scores. In this paper, we study how to compute proximity information into ranking in instant-fuzzy search while achieving efficient time and space complexities. A phrase base indexing technique is used to overcome the space and time limitations of these solutions, we propose an approach that focuses on mutual phrases in the database. We study how to index these phrase threshold value and compare user threshold for effective answer set and develop an computational algorithm for workwise segmenting a query into phrases and computing these phrases using algorithm to find related answers to the user query
Speeding up index construction with GPU for DNA data sequences
The advancement of technology in scientific community has produced terabytes of biological data.This datum includes DNA sequences.String matching algorithm which is traditionally used to match DNA sequences now takes much longer time to execute because of the large size of DNA data and also the small number of alphabets.To overcome this problem, the indexing methods such as suffix arrays or suffix trees have been introduced.In this study we used suffix arrays as indexing algorithm because it is more applicable, not complex and used less space compared to
suffix trees.The parallel method is then introduced to speed up the index construction process. Graphic processor unit (GPU) is used to parallelize a segment of an indexing algorithm. In this research, we used a GPU to parallelize the sorting part of suffix array construction algorithm.Our results show that the GPU is able to accelerate the process of building the index of the suffix array by 1.68 times faster than without GPU
Toward incremental FIB aggregation with quick selections (FAQS)
Several approaches to mitigating the Forwarding Information Base (FIB)
overflow problem were developed and software solutions using FIB aggregation
are of particular interest. One of the greatest concerns to deploy these
algorithms to real networks is their high running time and heavy computational
overhead to handle thousands of FIB updates every second. In this work, we
manage to use a single tree traversal to implement faster aggregation and
update handling algorithm with much lower memory footprint than other existing
work. We utilize 6-year realistic IPv4 and IPv6 routing tables from 2011 to
2016 to evaluate the performance of our algorithm with various metrics. To the
best of our knowledge, it is the first time that IPv6 FIB aggregation has been
performed. Our new solution is 2.53 and 1.75 times as fast as
the-state-of-the-art FIB aggregation algorithm for IPv4 and IPv6 FIBs,
respectively, while achieving a near-optimal FIB aggregation ratio
Sawja: Static Analysis Workshop for Java
Static analysis is a powerful technique for automatic verification of
programs but raises major engineering challenges when developing a full-fledged
analyzer for a realistic language such as Java. This paper describes the Sawja
library: a static analysis framework fully compliant with Java 6 which provides
OCaml modules for efficiently manipulating Java bytecode programs. We present
the main features of the library, including (i) efficient functional
data-structures for representing program with implicit sharing and lazy
parsing, (ii) an intermediate stack-less representation, and (iii) fast
computation and manipulation of complete programs
- …