Abstract We consider the problem of organizing the Internet routing tables in such a way as to enable fast routing lookup performance. We concentrate

Size: px
Start display at page:

Download "Abstract We consider the problem of organizing the Internet routing tables in such a way as to enable fast routing lookup performance. We concentrate"

Transcription

1 IP Routing Lookups Algorithms Evaluation Lukas Kencl Doctoral School of Communication Systems EPFL Lausanne Supervisor Patrick Droz IBM Laboratories Zurich July 9, 998

2 Abstract We consider the problem of organizing the Internet routing tables in such a way as to enable fast routing lookup performance. We concentrate on two recently proposed methods and try to evaluate their performance. We describe our implementation of the methods and results of performance measurements on existing as well as articially generated input data. We present some conclusions about the general behaviour of both methods, based on the measurements and theoretical reasoning. Finally, we comment on the results, suggesting preference among the given methods.

3 Introduction. Internet growth Recent extensive growth of the Internet has led to an enormous growth in the number of routing table entries. Further on, with the upgrade to IPv6, the step from 3 bit to 8 bit addresses will result in a dramatic increase in the size of routing tables. With the growing demand for higher bit rates and the increasing use of voice communication over the Internet (which results in appearance of many small packets), the router performance, in which the speed of a routing address lookup plays a key role, is becoming an issue of major importance in the eciency of the network. Here we examine a few techniques proposed recently for software implementation of routing address lookup. These techniques claim to be able to support the currently required Gb/s throughput. We try to evaluate their performance from the practical as well as the theoretical point of view, we especially concentrate on the memory acces characteristics and on the number of principal operations needed to perform the build and lookup functions. We also comment on their potential scalability to the IPv6 environment.. Router Design and Address Lookup Traditionally, the address lookup has been performed by a central processor, called routing engine, that served all the input ports of a router. However, nowadays, with the need for faster performance, we think of separate engines at each input port of a router, thus avoiding the round-trip of the IP packet header between the input port and the central processor. The model we consider here is of a routing engine at each input port, using a static forwarding table capable of great lookup speed, and a central processor, keeping a dynamic routing table used for updates due to changes in the address space and network topology (a potential candidate for such a dynamic scheme would be the method presented in []). The central processor periodically computes the static and more ecient version of the forwarding table and distributes it to the input port routing engines. The most important parameter of the central processor performance is the build time of the forwarding table out of the dynamic structure the processor keeps. Nowadays, at main Internet nodes, the tables change dynamically about every second at peak times, therefore the build procedure must be ecient enough to keep up with the changes in the table. The most important parametres of the static routing lookup schemes themselves are size of the structure and number of memory accesses during lookup. If we can manage to keep the size of the structure small enough that at least its major part could t in the processor cache, than such methodwould perform much better, since the memory accesses would require considerable less time. Nevertheless, the key parameter of the schemes remains to be the number of memory accesses necessary to perform lookup, since this operation is the most time consuming. Both methods presented try to deal with the previously mentioned task and contain particular schemes to perform size compression and lookup path compression.

4 Here we concentrate on the problem of organizing such a static table and on its build, size and number of memory acceses parameters. In addition, we also try to measure the number of shift operations necessary during build and lookup, since these are principal operations in a potential hardware version of a router based on a particular method. Examined techniques. General Approach The forwarding process is based on a best matching prex lookup. The forwarding table comprises of address prexes of various lengths. The task is to nd a prex of maximum length matching the given address. Convenient data structures for preserving the prexes are binary tries, where each prex is equivalent to the path to a node representing the prex, where (resp. ) is equivalent to left (resp. right) turn at a node on the path. Binary tries exploit the fact that various entries share prexes of each other, thus omitting redundancies in the data structure by storing the shared part of the prexes in the same location. The techniques we examine try to improve on the scheme of a standard binary trie (using the fact that the table remains static), in order to minimize the size of the structure and number of memory accesses during search on the structure.. Level Compressed Trie (LC-Trie) and Base Vector ([]) This scheme uses two steps of compression on the original binary trie, path compression and level compression. Path compression removes internal nodes with only one child and preserves the information about the compressed path in the form of a skip number in the following node, indicating how many bits have been skipped. Thus, the length of the path and the size of the trie can be signicantly decreased, however, information about the actual values on the compressed paths is lost. Level compression is used to compress complete levels of a binary trie by replacing the i complete levels of a binary trie with a single node of degree i. This compression leads to no loss of information. Path compression does not decrease the size of the structure, because the number of nodes remains the same. However, it does shorten the length of search path. Since the size of the trie and the length of path decrease enormously,asearch algorithm on this small structure is very fast. However, the result is only an indication of a possible hit, since there are parts of thepathlostdue to path compression. The result has to be veried in a base vector, an array comprising of all the routing table entries that are not prex to any other. Furthermore, in case of a verication failure, we continue the verication in the prex vector, a vector of entries that are prexes of other entries, until either a match is found or all the candidate prexes are exhausted.

5 .3 Binary Trie Level Partition ([3]) Here, the searched string is partitioned into parts of given length and the searches are performed for each part separately, using the fact that in a binary trie, a search of the lower level is only performed on a sub-trie fully determined by the upper level. We perform the search at the given levels of a binary trie by using a precomputed cut of the expanded binary trie (every node must have either none or two children), which enables us to obtain the result at a single access to the cut vector. A cut vector can be further compressed due to some special properties of the expanded binary trie. The cut vector is partitioned into bitmasks of length 6. It can be proved that there are only 678 possible bitmasks of length 6 in an expanded binary trie cut and therefore we can encode 6 bit bitmasks with bits only. Therefore we can actually encode the cut vector into a vector of much smaller size, using a constant maptable. Some sparse lower level cuts can be compressed even further using an entirely dierent approach - simply recording the entries in a list and perform the lookup as binary search. We did not include this optimization in our measurements, since it is inconsistent with the rest of the algorithm and thus would require more conditional branching in a potential router design. 3 Methods Testing 3. General approach We have chosen to implement the given techniques in the C language. Since the goal of the project was to measure and compare the speed of the given techniques, C seemed a natural solution, since its compiled code is still faster than most object oriented languages. For the LC-Trie Method there was some C code made available by the authors at []. However, this code contained undocumented optimizations of the LC-Trie Method, so for the interest of a fair evaluation, these optimizations were taken out of the code. There was no code available for the Method, and, furthermore, the build algorithm was not specied by the authors, therefore the build algorithm had to be designed. We have used the Visual C++ compiler and carried out the tests under the Windows NT environment. However, for large data, the time measurements were greatly aected by the virtul memory assignement policy of the NT system. The tests were performed on a Pentium processor machine. The results presented here concentrate rather on the ratio of performance between the two methods than on the exact measured values. 3. Test data The methods were tested on existing routing tables, as well as articially generated tables. 3

6 3.. Existing tables The existing tables were downloaded from the routing table snapshots provided by the IPMA Project ([5]). Since no reliable studies on the actual Internet trac were available, we used the list of routing table entries to measure the lookup speed as well. 3.. Articially generated tables The articially generated tables were generated in order to show dierences of the methods' behaviour on inputs of particular distribution and particular size. Varius combinations of dierent prex length distributions and prex value distributions were used. Input Data Size { Maximum number of entries used was 6 = entries due to system limitations. Prex Length Distribution { Constant length. { Length distribution as in existing tables. The prex length distribution in existing tables was modelled according to values found at [5]. { Random length. Prex Value Distribution { On one side of prex value spectrum - starting from, the dierence between entries (step) = (i.e. entry i+ -entry i = ). { With constant step (step = i ). Maximum value for step = 3 /(# of entries), in such case entries are regularly distributed. { With random step. For generating the random values, a random generator proposed in [7] was used. The prex length distribution was modelled using the random generator and a random-variate techinque. 3.3 Build For all the methods, we take as a source for building the lookup structures an ordered list of routing table entries. Although in the case of real implementation in a router, the tables would be built from some dynamic structure at the central processor, for each method the structure would be dierent, so as to enable the fastest possible build procedure. It remains to be seen which would be the most convenient one for each method. However, to make a fair comparison of the build time, we chose an ordered list of the entries as the input data to the build process of all methods.

7 Each of the list lines consists of a nexthop identier, length of the prex mask and the prex value. In cases where there were several nexthop possibilities in the original tables, the rst one was selected. The entries in the IPMA routing tables are presented ordered in the snapshots, an ordering criterion being:. The "value" of the entry, that is considering the entry to be 3 bit binary number. The parts of the entries sretching above their length are always assigned value.. In case two entries have the same value, then their prex masks must be of dierent length and then the one with shorter prex mask is considered smaller. However, to ensure correct ordering, we performed the pre-sort of the table, using a quicksort sorting routine taken from [6]. The same sorting procedure and ordering criteria were applied to the articially generated data. The entries were kept in an array consisting of touples of fvalue, len, nexthopg, where value is a 3 bit number, len is the length of the prex mask and nexthop is the 3 bit identier of a nexthop interface LC-Trie Method The rst step is to separate the prex entries from the base entries and to create the prex vector and the base vector. This task is easily performed since in an ordered list of entries, a prex is always directly followed by anentry that comprises the prex, so by comparison with the following entry it is easy to nd out whether an entryisaprex or a base entry. The base entries, as well as prex entries, keep a pointer to their prex, if such exists. Then, out of the base entries, the LC-trie is built, applying in a depth- rst manner step by step the level and path compression, entries inserted from smallest to largest. All leaves contain a pointer to its representative in the base vector Method In the case of the Method, the authors did not specify the build algorithm, only certain requirements for the build procedure were presented: Algorithm is linear in the number of routing entries. Algorithm is linear in the size of the resulting forwarding table. Table is built during a single pass over all routing entries. We have designed our own algorithm, which conrms to these three properties. In the rst step the algorithm inserts the entries one byoneinto a structure consisting of the cut vector and pointers to lower levels. In the second step, the algorithm encodes such a structure using a maptable into a smaller encoded cut. Then the larger cut vector is disposed from memory and only the encoded version remains to perform the lookups. 5

8 The intermediate cut vector structure may have enormous space requirements, which in some cases resulted in very large build time, which was due to allocating the memory required by the NT Virtual Paging. 3. Lookup In all cases, the lookup performance was measured using the entries of the input routing table. One by one, for each entry value a lookup was performed and the parametres recorded. 3.5 Measured Parametres Size Size of the forwarding table after being built (i.e. the static structure). Build time Time necessary to build the forwarding table from the in-memory ordered list of routing table entries. The time to read the values or to perform the sorting is not included. # of shift operations per entry during build Population mean over al entries of all the shift operations performed per entry insertion. We dene a shift operation to be one shift of a 3 bit number either to the left or to the right. # of memory accesses per lookup Population mean over all entries of a number of memory accesses per entry lookup. # of shift operations per entry during lookup Population mean over all entries of all the shift operations performed per entry lookup. 6

9 Tests Results. Tests on Existing Data The tests were performed on the following routing tables: Table Date #ofentries Mae East AADS Paccard-Bell Mae West Paix Table : Existing Routing Tables used.. Build Table shows results of measurements of the build parametres measured over existing tables. Size (B) # of shift oper. Time (s) Table #ofentries LC Trie LC Trie LC Trie maee aads pacbell maew paix Table : Build parametres on existing tables.. Lookup The results of lookup parametres measurements are in Table 3. The mean values are population means over all entries. # of memory accesses # of shift oper. Table LC Trie LC Trie maee aads pacbell maew paix Table 3: Lookup parametres on existing tables 7

10 Results on existing tables.5 x Size (B) MaeE AADS MaeW PacBell Paix Tables Figure : Number of entries in existing tables x Size (B) 5 3 MaeE AADS MaeW PacBell Paix Tables Figure : Size of built forwarding table 3.5 Time (s).5.5 MaeE AADS MaeW PacBell Paix Tables Figure 3: Time to build the forwarding table # of Memory Accesses MaeE AADS MaeW PacBell Paix Tables Figure : Average number of memory accesses 8

11 . Tests on Articially Generated Data For the demonstration of certain properties of the evaluated method we chose to show the results of tests with 5 = 3768 entries... Prex length and step value xed Here, we xed the prex length at, since that is the most frequent entry length in the current routing tables, and we try the varius value distributions, measuring for all possible step = i. The results are summarised in Table. Size (B) # of memory accesses Step #ofentries LC Trie LC Trie Table : Build and lookup parametres on xed length and step entries When the step value is low, many repetitive entries are generated (since only the high bits are taken into account), which are then discarded as duplicates, so for example with step =, out of 5 entries only 8 non duplicate entries remain. With such routing table entries we obtain much better performance of the LC-Trie Method, which is due to symmetry and regularity in the distribution of entries. 9

12 Results on tables with xed prex length and step value 3.5 x 3.5 # of Entries Step Figure 5: Number of entries x Size (B) Step Figure 6: Size of built forwarding table # of Memory Accesses Step Figure 7: Average number of memory accesses

13 .. Length distribution as in existing tables, xed size step We generate entries with random length so as the distribution of the length is equal to the distribution of prex length in major routing tables. That is, we simulate the same distribution as in Mae East of The information about the prex length distribution was obtained through IPMA ([5]). The results are displayed in Table 5. Size (B) # of memory accesses Step #ofentries LC Trie LC Trie Table 5: Build and lookup parametres for length distribution as in existing tables and xed step

14 Results on tables with prex length distribution as in existing tables and step of xed size 3.5 x 3.5 # of Entries Step Figure 8: Number of entries 8 x 5 6 Size (B) Step Figure 9: Size of built forwarding table # of Memory Accesses Step Figure : Average number of memory accesses

15 ..3 Random length of uniform distribution, xed size step In this case, entries are generated with random length of uniform distribution(length between and 3) and the step between entries remains xed. Again, with small step, we obtain many duplicates, but we can observe in Table 6 that with the rising number of valid entries, i.e. increasing step, the Cut Vector space requiremnts grow much faster than those of LC Trie, whereas LC Trie performs lookups on average with less memory accesses. Size (B) # of memory accesses Step #ofentries LC Trie LC Trie Table 6: Build and lookup parametres for uniform length distribution and xed step 3

16 Results on tables with random entry length of uniform distribution and xed size steps. x..8 # of Entries Step Figure : Number of entries x 5 8 Size (B) Step Figure : Size of built forwarding table # of Memory Accesses Step Figure 3: Average number of memory accesses

17 .. Random Entries Several tests were carried out on a set of randomly generated tables, using the random generator proposed in [7]. Both value and prex length are randomly selected. Results of measurements are to be found in Table 7 Size (B) # of memory accesses #oftest #ofentries LC Trie LC Trie Sample Mean Table 7: Build and lookup parametres for a sample of random generated tables 5

18 Results on tables with random generated entries.85 x # of Entries Experiment Figure : Number of entries x 5 Size (B) Experiment Figure 5: Size of built forwarding table # of Memory Accesses Experiment Figure 6: Average number of memory accesses 6

19 5 Results Evaluation 5. Existing Tables It is clear from the results obtained that the forwarding table, alhough takes longer to build, is better in all the other parametres than the LC- Trie method (except for the small Paix table, where just the size of the coding Maptable (35 B) is larger than the coded structure). However, the question we have to pose here is, whether the result of the methods comparison is due to the generally better performance of the Method, or whether it is due to the current routing table entries distribution. Since the current distribution is greatly aected by the past Class Address system, especially as far as the prex length distribution is concerned, we should keep in mind that the bias will slowly be turning away from this somewhat unnatural situation. In order to asess the properties of both methods correctly, we have to look at the results of the tests on the articially generated data. 5. Articially Generated Tables With the articially generated tables, the results seem to be completely overturned. The LC-Trie method exploits to much higher extent all the 'regularity' in the arising distributions and that leads to great path compression. The size of the LC-Trie forwarding table remains stable with distribution changes (its size in bytes is equal to about times the number of entries). The Cut-Vector Method forwarding table size is however greatly aected by dierences in distribution. A more spread spectrum causes the Method to build more lower level cuts, which increases the size of the structure considerably. The lookup parametres of the LC-Trie method also show better performance. However, this is largely due to very unbiased distribution of the the routing table entries in our articial examples. In such a case the path and level compression achieve good results. However, in the case of more biased input data, as in the case of existing tables, stability given by scheme prevails (by stability we mean the fact that to nd a nexthop in the forwarding table we need to search at least one level - memory accesses - and at most 3 levels - maximum of memory accesses). The values of the LC-Trie method may oscillate on a much higher scale - we can easily design a structure on which there would be a node that would require 3 memory accesses, as well as there can be nodes accessible at two memory accesses only. 5.3 Performance Inuencing Factors From the test results and from the method descriptions we can deduce some fundamental relations of proportional equivalence between performance parametres and input data properties: 7

20 LC-Trie Method Size of Forwarding Table # of Routing Table entries. # of Memory Accesses Entry value and length distribution. Method Size of Forwarding Table Entry value and length distribution. # of Memory Accesses Entry length distribution. These properties of proportional equivalence are key factors in determining, whether a given method is suitable for a particular task - rst, we need to analyze the address space and routing entries distribution in order to determine preference for a method. 5. Methods Evaluation The Method performs well on the current routing tables, since it exploits their particular characteristics - the fact that prex length concentrates around certain values (exactly the boundaries of cut levels-6and)andthat routing table entries concentrate around certain values, which enables the Cut Method to achieve good compression, since it does not have to build that many lower level chunks. The LC-Trie Method performs better as a general method of providing a forwarding scheme for unbiased data, however, in particular unfavorable cases might be less ecient. As for the build time measurements, the values on larger data proved unrealistic and incomparable due to the networking environement, which had more inuence over the outcome then the methods themselves. The build time can correctly be compared only in relation to the dynamic structure at the Central Processor, which has yet to be developed for both methods.. 6 Open problems 6. Dynamic Structure For both methods it remains to be seen what would be the most convenient dynamic structure at the Central Processor, from which these static tables would be built. Clearly, none of the structures itself is dynamic in the form presented. An insertion or deletion of a node in case of the LC-Trie method might change the completeness property and force rebuilding the whole table. In case of the Method, insertion operation is possible, but deletion is impossible to carry out, due to the expanding of nodes - we are not able to tell whether a node is just expansion or an entry, once it is in the forwarding table. 6. Optimization Schemes The LC-Trie Method authors already implemented an optimized version, where a node is considered as complete and path is compressed even if there is only more than half of nodes present in its complete descendant's trie. However, this optimization adds high complexity to the build algorithm. 8

21 The Method proposal includes an optimization on the very sparse lower level chunks, on which dierent means of storing entries and lookup procedures could be applied. Such approach reduces the size in some cases considerably and might also lead to better lookup performance. However, it is somehow inconsistent with the overall lookup scheme and thus requires more complicated lookup and build algorithm with more conditional branches. With respect to simplicity of a potential router design, we did not include these optimizations in our experiments. An obvious candidate for another kind of optimization of the Method would be precomputation - rst let us nd out what would be good Levels of Cut (has to be a power of ) according to prex length distribution and then let the method operate on such levels. 6.3 Towards IPv6 Both methods obviously scale non-problematically to the higher level of 8 bit adresses, although, the memory requirements for the build process of the Cut Vector Method might be overwhelming. It remains to be seen how the future routing tables will be organized and what kind of prex distribution will emerge in order to pick the more convenient method. References [] S. Nilsson and G. Karlsson. Fast address lookup for Internet routers. Proceedings IFIP th International Conference on Broadband Communications '98, pp. -, 998. [] S. Nilsson's homepage. [3] M. Degermark, A. Brodnik, S. Carlsson, S. Pink. Small Forwarding Tables for Fast Routing Lookups. ACM Computer Communication Review, 7():3-, October 997. [] W. Doeringer, G. Karjoth and M. Nassehi. Routing on longest-matching prexes. IEEE/ACM Transactions on Networking, ():86-97, February 996. [5] Internet Performance and Analysis (IPMA) Project. Michigan University and Merit Network. [6] J. L. Bentley and M. D. McIlroy. Engineering a sort function. Software - Practise and Experience, 3():9-65. [7] P. L'Ecuyer. Ecient and Portable Combined Random Number Generators. CACM, June 998, Volume 3, Number 6. [8] R. Jain. The Art of Computer Systems Performance Analysis. JohnWiley & Sons, 99. 9

Binary Search Schemes for Fast IP Lookups

Binary Search Schemes for Fast IP Lookups 1 Schemes for Fast IP Lookups Pronita Mehrotra, Paul D. Franzon Abstract IP route look up is the most time consuming operation of a router. Route lookup is becoming a very challenging problem due to the

More information

Efficient hardware architecture for fast IP address lookup. Citation Proceedings - IEEE INFOCOM, 2002, v. 2, p

Efficient hardware architecture for fast IP address lookup. Citation Proceedings - IEEE INFOCOM, 2002, v. 2, p Title Efficient hardware architecture for fast IP address lookup Author(s) Pao, D; Liu, C; Wu, A; Yeung, L; Chan, KS Citation Proceedings - IEEE INFOCOM, 2002, v 2, p 555-56 Issued Date 2002 URL http://hdlhandlenet/0722/48458

More information

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction. 2. Associative Cache Scheme AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING James J. Rooney 1 José G. Delgado-Frias 2 Douglas H. Summerville 1 1 Dept. of Electrical and Computer Engineering. 2 School of Electrical Engr. and Computer

More information

IP Address Lookup in Hardware for High-Speed Routing

IP Address Lookup in Hardware for High-Speed Routing IP Address Lookup in Hardware for High-Speed Routing Andreas Moestedt and Peter Sjödin am@sics.se, peter@sics.se Swedish Institute of Computer Science P.O. Box 1263, SE-164 29 KISTA, Sweden Abstract This

More information

Growth of the Internet Network capacity: A scarce resource Good Service

Growth of the Internet Network capacity: A scarce resource Good Service IP Route Lookups 1 Introduction Growth of the Internet Network capacity: A scarce resource Good Service Large-bandwidth links -> Readily handled (Fiber optic links) High router data throughput -> Readily

More information

Multiway Range Trees: Scalable IP Lookup with Fast Updates

Multiway Range Trees: Scalable IP Lookup with Fast Updates Multiway Range Trees: Scalable IP Lookup with Fast Updates Subhash Suri George Varghese Priyank Ramesh Warkhede Department of Computer Science Washington University St. Louis, MO 63130. Abstract In this

More information

FPGA Implementation of Lookup Algorithms

FPGA Implementation of Lookup Algorithms 2011 IEEE 12th International Conference on High Performance Switching and Routing FPGA Implementation of Lookup Algorithms Zoran Chicha, Luka Milinkovic, Aleksandra Smiljanic Department of Telecommunications

More information

IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1

IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1 2005 IEEE International Symposium on Signal Processing and Information Technology IP LOOK-UP WITH TIME OR MEMORY GUARANTEE AND LOW UPDATE TIME 1 G.T. Kousiouris and D.N. Serpanos Dept. of Electrical and

More information

Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup

Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup " Efficient Construction Of Variable-Stride Multibit Tries For IP Lookup Sartaj Sahni & Kun Suk Kim sahni, kskim @ciseufledu Department of Computer and Information Science and Engineering University of

More information

Radix Searching. The insert procedure for digital search trees also derives directly from the corresponding procedure for binary search trees:

Radix Searching. The insert procedure for digital search trees also derives directly from the corresponding procedure for binary search trees: Radix Searching The most simple radix search method is digital tree searching - the binary search tree with the branch in the tree according to the bits of keys: at the first level the leading bit is used,

More information

Dynamic Routing Tables Using Simple Balanced. Search Trees

Dynamic Routing Tables Using Simple Balanced. Search Trees Dynamic Routing Tables Using Simple Balanced Search Trees Y.-K. Chang and Y.-C. Lin Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan R.O.C. ykchang@mail.ncku.edu.tw

More information

Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables

Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables Roberto Rojas-Cessa, Taweesak Kijkanjanarat, Wara Wangchai, Krutika Patil, Narathip Thirapittayatakul

More information

Frugal IP Lookup Based on a Parallel Search

Frugal IP Lookup Based on a Parallel Search Frugal IP Lookup Based on a Parallel Search Zoran Čiča and Aleksandra Smiljanić School of Electrical Engineering, Belgrade University, Serbia Email: cicasyl@etf.rs, aleksandra@etf.rs Abstract Lookup function

More information

IP lookup with low memory requirement and fast update

IP lookup with low memory requirement and fast update Downloaded from orbit.dtu.dk on: Dec 7, 207 IP lookup with low memory requirement and fast update Berger, Michael Stübert Published in: Workshop on High Performance Switching and Routing, 2003, HPSR. Link

More information

IP Address Lookup Made Fast and Simple Pierluigi Crescenzi and Leandro Dardini Universita degli Studi di Firenze and Roberto Grossi Universita degli S

IP Address Lookup Made Fast and Simple Pierluigi Crescenzi and Leandro Dardini Universita degli Studi di Firenze and Roberto Grossi Universita degli S Universita di Pisa Dipartimento di Informatica Technical Report : TR-99-1 IP Address Lookup Made Fast and Simple Pierluigi Crescenzi, Leandro Dardini, Roberto Grossi January 17, 1999 ADDR: Corso Italia

More information

CS 268: Route Lookup and Packet Classification

CS 268: Route Lookup and Packet Classification Overview CS 268: Route Lookup and Packet Classification Packet Lookup Packet Classification Ion Stoica March 3, 24 istoica@cs.berkeley.edu 2 Lookup Problem Identify the output interface to forward an incoming

More information

Parallel-Search Trie-based Scheme for Fast IP Lookup

Parallel-Search Trie-based Scheme for Fast IP Lookup Parallel-Search Trie-based Scheme for Fast IP Lookup Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai, and Nirwan Ansari Department of Electrical and Computer Engineering, New Jersey Institute

More information

Shape Shifting Tries for Faster IP Route Lookup

Shape Shifting Tries for Faster IP Route Lookup Shape Shifting Tries for Faster IP Route Lookup Haoyu Song, Jonathan Turner, John Lockwood Applied Research Laboratory Washington University in St. Louis Email: {hs1,jst,lockwood}@arl.wustl.edu Abstract

More information

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table H. Michael Ji, and Ranga Srinivasan Tensilica, Inc. 3255-6 Scott Blvd Santa Clara, CA 95054 Abstract--In this paper we examine

More information

ECE697AA Lecture 21. Packet Classification

ECE697AA Lecture 21. Packet Classification ECE697AA Lecture 21 Routers: Flow Classification Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/20/08 Packet Classification What is packet classification? Categorization of

More information

Novel Hardware Architecture for Fast Address Lookups

Novel Hardware Architecture for Fast Address Lookups Novel Hardware Architecture for Fast Address Lookups Pronita Mehrotra, Paul D. Franzon ECE Department, North Carolina State University, Box 7911, Raleigh, NC 27695-791 1, USA Ph: +1-919-515-735 1, Fax:

More information

Shape Shifting Tries for Faster IP Route Lookup

Shape Shifting Tries for Faster IP Route Lookup Shape Shifting Tries for Faster IP Route Lookup Haoyu Song, Jonathan Turner, John Lockwood Applied Research Laboratory Washington University in St. Louis Email: {hs1,jst,lockwood}@arl.wustl.edu Abstract

More information

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table

Message Switch. Processor(s) 0* 1 100* 6 1* 2 Forwarding Table Recent Results in Best Matching Prex George Varghese October 16, 2001 Router Model InputLink i 100100 B2 Message Switch B3 OutputLink 6 100100 Processor(s) B1 Prefix Output Link 0* 1 100* 6 1* 2 Forwarding

More information

Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers

Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers ABSTRACT Jing Fu KTH, Royal Institute of Technology Stockholm, Sweden jing@kth.se Virtual routers are a promising

More information

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 9, NO. 6, DECEMBER Routing With a Clue

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 9, NO. 6, DECEMBER Routing With a Clue IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 9, NO. 6, DECEMBER 2001 693 Routing With a Clue Yehuda Afek, Member, IEEE, Anat Bremler-Barr, and Sariel Har-Peled Abstract We suggest a new simple forwarding

More information

File Structures and Indexing

File Structures and Indexing File Structures and Indexing CPS352: Database Systems Simon Miner Gordon College Last Revised: 10/11/12 Agenda Check-in Database File Structures Indexing Database Design Tips Check-in Database File Structures

More information

* I D ~~~ ~ Figure 2: Longest matching prefix.

* I D ~~~ ~ Figure 2: Longest matching prefix. A fast and compact longest match prefix look-up method using pointer cache for very long network address Masanori Uga Kohei Shiomoto "IT Network Service Systems Laboratories Midori 3-9-, Musashino, Tokyo

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)

More information

V6Gene: A Scalable IPv6 Prefix Generator for Route Lookup Algorithm

V6Gene: A Scalable IPv6 Prefix Generator for Route Lookup Algorithm Scalable IPv6 Prefix Generator for Benchmark 1 V6Gene: A Scalable IPv6 Prefix Generator for Route Lookup Algorithm Benchmark i Abstract-- Most conventional IPv4-based route lookup algorithms are no more

More information

ECE697AA Lecture 20. Forwarding Tables

ECE697AA Lecture 20. Forwarding Tables ECE697AA Lecture 20 Routers: Prefix Lookup Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/14/08 Forwarding Tables Routing protocols involve a lot of information Path choices,

More information

2. CNeT Architecture and Learning 2.1. Architecture The Competitive Neural Tree has a structured architecture. A hierarchy of identical nodes form an

2. CNeT Architecture and Learning 2.1. Architecture The Competitive Neural Tree has a structured architecture. A hierarchy of identical nodes form an Competitive Neural Trees for Vector Quantization Sven Behnke and Nicolaos B. Karayiannis Department of Mathematics Department of Electrical and Computer Science and Computer Engineering Martin-Luther-University

More information

The Adaptive Radix Tree

The Adaptive Radix Tree Department of Informatics, University of Zürich MSc Basismodul The Adaptive Radix Tree Rafael Kallis Matrikelnummer: -708-887 Email: rk@rafaelkallis.com September 8, 08 supervised by Prof. Dr. Michael

More information

Review on Tries for IPv6 Lookups

Review on Tries for IPv6 Lookups Available online www.ejaet.com European Journal of Advances in Engineering and Technology, 2016, 3(7): 28-33 Review Article ISSN: 2394-658X Review on Tries for IPv6 Lookups Rohit G Bal Department of Computer

More information

Physical Level of Databases: B+-Trees

Physical Level of Databases: B+-Trees Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,

More information

Data Structures and Algorithms. Course slides: Radix Search, Radix sort, Bucket sort, Patricia tree

Data Structures and Algorithms. Course slides: Radix Search, Radix sort, Bucket sort, Patricia tree Data Structures and Algorithms Course slides: Radix Search, Radix sort, Bucket sort, Patricia tree Radix Searching For many applications, keys can be thought of as numbers Searching methods that take advantage

More information

Routing Lookup Algorithm for IPv6 using Hash Tables

Routing Lookup Algorithm for IPv6 using Hash Tables Routing Lookup Algorithm for IPv6 using Hash Tables Peter Korppoey, John Smith, Department of Electronics Engineering, New Mexico State University-Main Campus Abstract: After analyzing of existing routing

More information

CPSC 320 Sample Solution, Playing with Graphs!

CPSC 320 Sample Solution, Playing with Graphs! CPSC 320 Sample Solution, Playing with Graphs! September 23, 2017 Today we practice reasoning about graphs by playing with two new terms. These terms/concepts are useful in themselves but not tremendously

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Research on outlier intrusion detection technologybased on data mining

Research on outlier intrusion detection technologybased on data mining Acta Technica 62 (2017), No. 4A, 635640 c 2017 Institute of Thermomechanics CAS, v.v.i. Research on outlier intrusion detection technologybased on data mining Liang zhu 1, 2 Abstract. With the rapid development

More information

Fast Update of Forwarding Tables in Internet Router Using AS Numbers Λ

Fast Update of Forwarding Tables in Internet Router Using AS Numbers Λ Fast Update of Forwarding Tables in Internet Router Using AS Numbers Λ Heonsoo Lee, Seokjae Ha, and Yanghee Choi School of Computer Science and Engineering Seoul National University San 56-1, Shilim-dong,

More information

Extensions to RTP to support Mobile Networking: Brown, Singh 2 within the cell. In our proposed architecture [3], we add a third level to this hierarc

Extensions to RTP to support Mobile Networking: Brown, Singh 2 within the cell. In our proposed architecture [3], we add a third level to this hierarc Extensions to RTP to support Mobile Networking Kevin Brown Suresh Singh Department of Computer Science Department of Computer Science University of South Carolina Department of South Carolina Columbia,

More information

Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION

Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION http://milanvachhani.blogspot.in EXAMPLES FROM THE SORTING WORLD Sorting provides a good set of examples for analyzing

More information

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli IP Forwarding CSU CS557, Spring 2018 Instructor: Lorenzo De Carli 1 Sources George Varghese, Network Algorithmics, Morgan Kauffmann, December 2004 L. De Carli, Y. Pan, A. Kumar, C. Estan, K. Sankaralingam,

More information

16 Greedy Algorithms

16 Greedy Algorithms 16 Greedy Algorithms Optimization algorithms typically go through a sequence of steps, with a set of choices at each For many optimization problems, using dynamic programming to determine the best choices

More information

Chapter 5 Lempel-Ziv Codes To set the stage for Lempel-Ziv codes, suppose we wish to nd the best block code for compressing a datavector X. Then we ha

Chapter 5 Lempel-Ziv Codes To set the stage for Lempel-Ziv codes, suppose we wish to nd the best block code for compressing a datavector X. Then we ha Chapter 5 Lempel-Ziv Codes To set the stage for Lempel-Ziv codes, suppose we wish to nd the best block code for compressing a datavector X. Then we have to take into account the complexity of the code.

More information

Imi :... Data:... Nazwisko:... Stron:...

Imi :... Data:... Nazwisko:... Stron:... Imi :.................................................... Data:....................... Nazwisko:............................................... Stron:...................... 1. Which of the following protocols

More information

Binary Search Schemes for Fast IP Lookups

Binary Search Schemes for Fast IP Lookups Binary Search Schemes for Fast IP Lookups Pronita Mehrotra Paul D. Franzon Department of Electrical and Computer Engineering North Carolina State University {pmehrot,paulf}@eos.ncsu.edu This research is

More information

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results.

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results. Algorithms for Routing Lookups and Packet Classification October 3, 2000 High Level Outline Part I. Routing Lookups - Two lookup algorithms Part II. Packet Classification - One classification algorithm

More information

What is the role of teletraffic engineering in broadband networks? *

What is the role of teletraffic engineering in broadband networks? * OpenStax-CNX module: m13376 1 What is the role of teletraffic engineering in broadband networks? * Jones Kalunga This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution

More information

II (Sorting and) Order Statistics

II (Sorting and) Order Statistics II (Sorting and) Order Statistics Heapsort Quicksort Sorting in Linear Time Medians and Order Statistics 8 Sorting in Linear Time The sorting algorithms introduced thus far are comparison sorts Any comparison

More information

Chapter 12 Digital Search Structures

Chapter 12 Digital Search Structures Chapter Digital Search Structures Digital Search Trees Binary Tries and Patricia Multiway Tries C-C Tsai P. Digital Search Tree A digital search tree is a binary tree in which each node contains one element.

More information

Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup

Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup Tree, Segment Table, and Route Bucket: A Multistage Algorithm for IPv6 Routing Table Lookup Zhenqiang LI Dongqu ZHENG Yan MA School of Computer Science and Technology Network Information Center Beijing

More information

Lecture (08, 09) Routing in Switched Networks

Lecture (08, 09) Routing in Switched Networks Agenda Lecture (08, 09) Routing in Switched Networks Dr. Ahmed ElShafee Routing protocols Fixed Flooding Random Adaptive ARPANET Routing Strategies ١ Dr. Ahmed ElShafee, ACU Fall 2011, Networks I ٢ Dr.

More information

ADDRESS lookup is one of the fundamental functions

ADDRESS lookup is one of the fundamental functions IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 17, NO. 6, JUNE 1999 1083 IP-Address Lookup Using LC-Tries Stefan Nilsson and Gunnar Karlsson, Senior Member, IEEE Abstract There has recently been

More information

Predicting connection quality in peer-to-peer real-time video streaming systems

Predicting connection quality in peer-to-peer real-time video streaming systems Predicting connection quality in peer-to-peer real-time video streaming systems Alex Giladi Jeonghun Noh Information Systems Laboratory, Department of Electrical Engineering Stanford University, Stanford,

More information

Department of. Computer Science. Remapping Subpartitions of. Hyperspace Using Iterative. Genetic Search. Keith Mathias and Darrell Whitley

Department of. Computer Science. Remapping Subpartitions of. Hyperspace Using Iterative. Genetic Search. Keith Mathias and Darrell Whitley Department of Computer Science Remapping Subpartitions of Hyperspace Using Iterative Genetic Search Keith Mathias and Darrell Whitley Technical Report CS-4-11 January 7, 14 Colorado State University Remapping

More information

Algorithm Efficiency & Sorting. Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms

Algorithm Efficiency & Sorting. Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms Algorithm Efficiency & Sorting Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms Overview Writing programs to solve problem consists of a large number of decisions how to represent

More information

Implementing Dynamic Minimal-prefix Tries

Implementing Dynamic Minimal-prefix Tries SOFTWARE PRACTICE AND EXPERIENCE, VOL. 21(10), 1027 1040 (OCTOBER 1991) Implementing Dynamic Minimal-prefix Tries JOHN A. DUNDAS III Jet Propulsion Laboratory, California Institute of Technology, Mail

More information

size, runs an existing induction algorithm on the rst subset to obtain a rst set of rules, and then processes each of the remaining data subsets at a

size, runs an existing induction algorithm on the rst subset to obtain a rst set of rules, and then processes each of the remaining data subsets at a Multi-Layer Incremental Induction Xindong Wu and William H.W. Lo School of Computer Science and Software Ebgineering Monash University 900 Dandenong Road Melbourne, VIC 3145, Australia Email: xindong@computer.org

More information

Homework 1 Solutions:

Homework 1 Solutions: Homework 1 Solutions: If we expand the square in the statistic, we get three terms that have to be summed for each i: (ExpectedFrequency[i]), (2ObservedFrequency[i]) and (ObservedFrequency[i])2 / Expected

More information

V Advanced Data Structures

V Advanced Data Structures V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,

More information

An On-line Variable Length Binary. Institute for Systems Research and. Institute for Advanced Computer Studies. University of Maryland

An On-line Variable Length Binary. Institute for Systems Research and. Institute for Advanced Computer Studies. University of Maryland An On-line Variable Length inary Encoding Tinku Acharya Joseph F. Ja Ja Institute for Systems Research and Institute for Advanced Computer Studies University of Maryland College Park, MD 242 facharya,

More information

BMVC 1996 doi: /c.10.41

BMVC 1996 doi: /c.10.41 On the use of the 1D Boolean model for the description of binary textures M Petrou, M Arrigo and J A Vons Dept. of Electronic and Electrical Engineering, University of Surrey, Guildford GU2 5XH, United

More information

CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK

CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK Page 1 UNIT I INTRODUCTION 2 marks 1. Why is the need of studying algorithms? From a practical standpoint, a standard set of algorithms from different

More information

The Limits of Sorting Divide-and-Conquer Comparison Sorts II

The Limits of Sorting Divide-and-Conquer Comparison Sorts II The Limits of Sorting Divide-and-Conquer Comparison Sorts II CS 311 Data Structures and Algorithms Lecture Slides Monday, October 12, 2009 Glenn G. Chappell Department of Computer Science University of

More information

Eect of fan-out on the Performance of a. Single-message cancellation scheme. Atul Prakash (Contact Author) Gwo-baw Wu. Seema Jetli

Eect of fan-out on the Performance of a. Single-message cancellation scheme. Atul Prakash (Contact Author) Gwo-baw Wu. Seema Jetli Eect of fan-out on the Performance of a Single-message cancellation scheme Atul Prakash (Contact Author) Gwo-baw Wu Seema Jetli Department of Electrical Engineering and Computer Science University of Michigan,

More information

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup Yan Sun and Min Sik Kim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington

More information

Predecessor Data Structures. Philip Bille

Predecessor Data Structures. Philip Bille Predecessor Data Structures Philip Bille Outline Predecessor problem First tradeoffs Simple tries x-fast tries y-fast tries Predecessor Problem Predecessor Problem The predecessor problem: Maintain a set

More information

Dierential-Linear Cryptanalysis of Serpent? Haifa 32000, Israel. Haifa 32000, Israel

Dierential-Linear Cryptanalysis of Serpent? Haifa 32000, Israel. Haifa 32000, Israel Dierential-Linear Cryptanalysis of Serpent Eli Biham, 1 Orr Dunkelman, 1 Nathan Keller 2 1 Computer Science Department, Technion. Haifa 32000, Israel fbiham,orrdg@cs.technion.ac.il 2 Mathematics Department,

More information

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract Enhancing Integrated Layer Processing using Common Case Anticipation and Data Dependence Analysis Extended Abstract Philippe Oechslin Computer Networking Lab Swiss Federal Institute of Technology DI-LTI

More information

Report Seminar Algorithm Engineering

Report Seminar Algorithm Engineering Report Seminar Algorithm Engineering G. S. Brodal, R. Fagerberg, K. Vinther: Engineering a Cache-Oblivious Sorting Algorithm Iftikhar Ahmad Chair of Algorithm and Complexity Department of Computer Science

More information

Worst-case running time for RANDOMIZED-SELECT

Worst-case running time for RANDOMIZED-SELECT Worst-case running time for RANDOMIZED-SELECT is ), even to nd the minimum The algorithm has a linear expected running time, though, and because it is randomized, no particular input elicits the worst-case

More information

LECTURE 11. Memory Hierarchy

LECTURE 11. Memory Hierarchy LECTURE 11 Memory Hierarchy MEMORY HIERARCHY When it comes to memory, there are two universally desirable properties: Large Size: ideally, we want to never have to worry about running out of memory. Speed

More information

V Advanced Data Structures

V Advanced Data Structures V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,

More information

An Enhanced Bloom Filter for Longest Prefix Matching

An Enhanced Bloom Filter for Longest Prefix Matching An Enhanced Bloom Filter for Longest Prefix Matching Gahyun Park SUNY-Geneseo Email: park@geneseo.edu Minseok Kwon Rochester Institute of Technology Email: jmk@cs.rit.edu Abstract A Bloom filter is a succinct

More information

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C

Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of California, San Diego CA 92093{0114, USA Abstract. We

More information

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can A Simple Cubic Algorithm for Computing Minimum Height Elimination Trees for Interval Graphs Bengt Aspvall, Pinar Heggernes, Jan Arne Telle Department of Informatics, University of Bergen N{5020 Bergen,

More information

Indexing and Searching

Indexing and Searching Indexing and Searching Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University References: 1. Modern Information Retrieval, chapter 9 2. Information Retrieval:

More information

Scalable Lookup Algorithms for IPv6

Scalable Lookup Algorithms for IPv6 Scalable Lookup Algorithms for IPv6 Aleksandra Smiljanić a*, Zoran Čiča a a School of Electrical Engineering, Belgrade University, Bul. Kralja Aleksandra 73, 11120 Belgrade, Serbia ABSTRACT IPv4 addresses

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July ISSN

International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July ISSN International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July-201 971 Comparative Performance Analysis Of Sorting Algorithms Abhinav Yadav, Dr. Sanjeev Bansal Abstract Sorting Algorithms

More information

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction

AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING. 1. Introduction AN ASSOCIATIVE TERNARY CACHE FOR IP ROUTING James J Rooney 1 José G Delgado-Frias 2 Douglas H Summerville 1 1 Department of Electrical and Computer Engineering 2 School of Electrical Engineering and Computer

More information

TCP over Wireless Networks Using Multiple. Saad Biaz Miten Mehta Steve West Nitin H. Vaidya. Texas A&M University. College Station, TX , USA

TCP over Wireless Networks Using Multiple. Saad Biaz Miten Mehta Steve West Nitin H. Vaidya. Texas A&M University. College Station, TX , USA TCP over Wireless Networks Using Multiple Acknowledgements (Preliminary Version) Saad Biaz Miten Mehta Steve West Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX

More information

COS 226 Midterm Exam, Spring 2009

COS 226 Midterm Exam, Spring 2009 NAME: login ID: precept: COS 226 Midterm Exam, Spring 2009 This test is 10 questions, weighted as indicated. The exam is closed book, except that you are allowed to use a one page cheatsheet. No calculators

More information

TR-CS The rsync algorithm. Andrew Tridgell and Paul Mackerras. June 1996

TR-CS The rsync algorithm. Andrew Tridgell and Paul Mackerras. June 1996 TR-CS-96-05 The rsync algorithm Andrew Tridgell and Paul Mackerras June 1996 Joint Computer Science Technical Report Series Department of Computer Science Faculty of Engineering and Information Technology

More information

A Large TimeAware Web Graph

A Large TimeAware Web Graph PAPER This paper was unfortunately omitted from the print version of the June 2008 issue of Sigir Forum. Please cite as SIGIR Forum June 2008, Volume 42 Number 1, pp 78-83 A Large TimeAware Web Graph Paolo

More information

2. Sorting. 2.1 Introduction

2. Sorting. 2.1 Introduction 2. Sorting 2.1 Introduction Given a set of n objects, it is often necessary to sort them based on some characteristic, be it size, importance, spelling, etc. It is trivial for a human to do this with a

More information

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Indexing Week 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Overview Conventional indexes B-trees Hashing schemes

More information

PROJECTION MODELING SIMPLIFICATION MARKER EXTRACTION DECISION. Image #k Partition #k

PROJECTION MODELING SIMPLIFICATION MARKER EXTRACTION DECISION. Image #k Partition #k TEMPORAL STABILITY IN SEQUENCE SEGMENTATION USING THE WATERSHED ALGORITHM FERRAN MARQU ES Dept. of Signal Theory and Communications Universitat Politecnica de Catalunya Campus Nord - Modulo D5 C/ Gran

More information

Fast binary and multiway prefix searches for packet forwarding

Fast binary and multiway prefix searches for packet forwarding Computer Networks 5 (27) 588 65 www.elsevier.com/locate/comnet Fast binary and multiway prefix searches for packet forwarding Yeim-Kuan Chang Department of Computer Science and Information Engineering,

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 Network Working Group Request for Comments: 969 David D. Clark Mark L. Lambert Lixia Zhang M. I. T. Laboratory for Computer Science December 1985 1. STATUS OF THIS MEMO This RFC suggests a proposed protocol

More information

Hyperplane Ranking in. Simple Genetic Algorithms. D. Whitley, K. Mathias, and L. Pyeatt. Department of Computer Science. Colorado State University

Hyperplane Ranking in. Simple Genetic Algorithms. D. Whitley, K. Mathias, and L. Pyeatt. Department of Computer Science. Colorado State University Hyperplane Ranking in Simple Genetic Algorithms D. Whitley, K. Mathias, and L. yeatt Department of Computer Science Colorado State University Fort Collins, Colorado 8523 USA whitley,mathiask,pyeatt@cs.colostate.edu

More information

Compressing Pattern Databases

Compressing Pattern Databases Compressing Pattern Databases Ariel Felner and Ram Meshulam Computer Science Department Bar-Ilan University Ramat-Gan, Israel 92500 Email: felner,meshulr1 @cs.biu.ac.il Robert C. Holte Computing Science

More information

Cache Justification for Digital Signal Processors

Cache Justification for Digital Signal Processors Cache Justification for Digital Signal Processors by Michael J. Lee December 3, 1999 Cache Justification for Digital Signal Processors By Michael J. Lee Abstract Caches are commonly used on general-purpose

More information

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master

More information

Virtual Memory Outline

Virtual Memory Outline Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples

More information

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11 DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance

More information

Part 2: Balanced Trees

Part 2: Balanced Trees Part 2: Balanced Trees 1 AVL Trees We could dene a perfectly balanced binary search tree with N nodes to be a complete binary search tree, one in which every level except the last is completely full. A

More information