HEXA: Compact Data Structures for Faster Packet Processing

Size: px
Start display at page:

Download "HEXA: Compact Data Structures for Faster Packet Processing"

Transcription

1 Washington University in St. Louis Washington University Open Sholarship All Computer Siene and Engineering Researh Computer Siene and Engineering Report Number: HEXA: Compat Data Strutures for Faster Paket Proessing Authors: Sailesh Kumar, Jonathan Turner, Patrik Crowley, and Mihael Mitzenmaher Direted graphs with edge labels are used in paket proessing algorithms for a variety of network appliations. In this paper we present a novel representation for suh graph that signifiantly redues the memory required for suh graphs. This approah alled History-based Enoding, exeution and Addressing (HEXA) hallenges the onventional assumption that graph data strutures must store pointers of log2n bits to identify suessor nodes. HEXA takes advantage of implit information to redue the information that must be stored expliitly. We demonstrate that the binary tries used for IP route lookup an be implemented using just two bytes per stored prefix (roughly half the spae required by Eatherton s tree bitmap data struture) and that string mathing an be implemented using 2-3% of the spae required by onventional data representations. Compat representations are useful, beause they allow the performane-ritial part of paket proessing algorithms to be implemented using fast, on-hip memory, eliminating the need to retrieve information from muh slower off-hip memory. This an yield both substantially higher performane and lower power utilization. While enabling a... Read omplete abstrat on page 2. Follow this and additional works at: Part of the Computer Engineering Commons, and the Computer Sienes Commons Reommended Citation Kumar, Sailesh; Turner, Jonathan; Crowley, Patrik; and Mitzenmaher, Mihael, "HEXA: Compat Data Strutures for Faster Paket Proessing" Report Number: (27). All Computer Siene and Engineering Researh. Department of Computer Siene & Engineering - Washington University in St. Louis Campus Box 45 - St. Louis, MO ph: (34)

2 HEXA: Compat Data Strutures for Faster Paket Proessing Complete Abstrat: Direted graphs with edge labels are used in paket proessing algorithms for a variety of network appliations. In this paper we present a novel representation for suh graph that signifiantly redues the memory required for suh graphs. This approah alled History-based Enoding, exeution and Addressing (HEXA) hallenges the onventional assumption that graph data strutures must store pointers of log2n bits to identify suessor nodes. HEXA takes advantage of implit information to redue the information that must be stored expliitly. We demonstrate that the binary tries used for IP route lookup an be implemented using just two bytes per stored prefix (roughly half the spae required by Eatherton s tree bitmap data struture) and that string mathing an be implemented using 2-3% of the spae required by onventional data representations. Compat representations are useful, beause they allow the performane-ritial part of paket proessing algorithms to be implemented using fast, on-hip memory, eliminating the need to retrieve information from muh slower off-hip memory. This an yield both substantially higher performane and lower power utilization. While enabling a ompat representation, HEXA does not add signifiant omplexity to the graph traversal and update, thus maintaining a high performane. This tehnial report is available at Washington University Open Sholarship:

3 Department of Computer Siene & Engineering HEXA: Compat Data Strutures for Faster Paket Proessing Authors: Sailesh Kumar, Jonathan Turner, Patrik Crowley, Mihael Mitzenmaher Corresponding Author: Abstrat: Direted graphs with edge labels are used in paket proessing algorithms for a variety of network appliations. In this paper we present a novel representation for suh graph that signifiantly redues the memory required for suh graphs. This approah alled History-based Enoding, exeution and Addressing (HEXA) hallenges the onventional assumption that graph data strutures must store pointers of log2n bits to identify suessor nodes. HEXA takes advantage of implit information to redue the information that must be stored expliitly. We demonstrate that the binary tries used for IP route lookup an be implemented using just two bytes per stored prefix (roughly half the spae required by Eatherton s tree bitmap data struture) and that string mathing an be implemented using 2-3% of the spae required by onventional data representations. Compat representations are useful, beause they allow the performane-ritial part of paket proessing algorithms to be implemented using fast, on-hip memory, eliminating the need to retrieve information from muh slower off-hip memory. This an yield both substantially higher performane and lower power utilization. While enabling a ompat representation, HEXA does not add signifiant omplexity to the graph traversal and update, thus maintaining a high performane. Type of Report: Other Department of Computer Siene & Engineering - Washington University in St. Louis Campus Box 45 - St. Louis, MO ph: (34)

4

5 HEXA: Compat Data Strutures for Faster Paket Proessing Sailesh Kumar, Jonathan Turner, Patrik Crowley Washington University Computer Siene and Engineering {sailesh, jst, Mihael Mitzenmaher Harvard University Eletrial Engineering and Computer Siene Abstrat Direted graphs with edge labels are used in paket proessing algorithms for a variety of network appliations. In this paper we present a novel representation for suh graph that signifiantly redues the memory required for suh graphs. This approah alled History-based Enoding, exeution and Addressing (HEXA) hallenges the onventional assumption that graph data strutures must store pointers of log 2 n bits to identify suessor nodes. HEXA takes advantage of implit information to redue the information that must be stored expliitly. We demonstrate that the binary tries used for IP route lookup an be implemented using just two bytes per stored prefix (roughly half the spae required by Eatherton s tree bitmap data struture) and that string mathing an be implemented using 2-3% of the spae required by onventional data representations. Compat representations are useful, beause they allow the performane-ritial part of paket proessing algorithms to be implemented using fast, on-hip memory, eliminating the need to retrieve information from muh slower off-hip memory. This an yield both substantially higher performane and lower power utilization. While enabling a ompat representation, HEXA does not add signifiant omplexity to the graph traversal and update, thus maintaining a high performane. S Index Terms ontent inspetion, IP lookup, string mathing I. INTRODUCTION everal ommon paket proessing tasks make use of direted graph data strutures in whih edge labels are used to math symbols from a finite alphabet. Examples inlude tries used in IP route lookup and string-mathing automata used to implement deep paket inspetion for virus sanning. In this paper, we develop a novel representation for suh data strutures that is signifiantly more ompat than onventional approahes. This ompatness an lead to higher performane in implementation ontexts where we have small on-hip memories with ample memory bandwidth and larger off-hip memories with more limited bandwidth. These harateristis are ommon to onventional proessors, network proessors, ASICs and FPGA implementations. We observe that the edge-labeled, direted graphs used by some paket proessing tasks have the property that for all nodes u, all paths of length k leading to u are labeled by the same string of symbols, for all values of k up to some bound. For example, tries satisfy this ondition trivially, sine for eah value of k, there is only one path of length k leading to eah node. The data struture used in the Aho-Corasik string mathing algorithm [2] also satisfies this property, even though in this ase there may be multiple paths leading to eah node. Sine the algorithms that traverse the data struture know the symbols that have been used to reah a node, we an use this history to define the storage loation of the node. By augmenting the history with some additional disriminating information, we an ensure that eah node is mapped to a distint storage loation using appropriate hashing tehniques. We find that in some appliations the amount of disriminating information needed an be remarkably small. For binary tries for example, two bits of disriminating information is suffiient. This leads to a binary trie representation that requires just two bytes per stored prefix for IP routing tables with more than K prefixes. We all the tehnique used to onstrut these ompat data representations, History-based Enoding, exeution and Addressing (HEXA). In Setion II, we introdue HEXA and apply it to binary tries. We show that the problem of seleting disriminators orresponds to finding a perfet mathing in a bipartite graph; we also show how the data struture an be inrementally modified. In Setion III, we desribe a variant of HEXA in whih the disriminator speifies the amount of history information that has to be used to identify the storage loation of a node. We then apply this tehnique to the data struture used by the Aho-Corasik string mathing algorithm as well as the bit-split version of the algorithm [6]. In Setion IV we report on the results of our evaluation of HEXA for binary tries and string mathing. Setion V overs the related work and the paper ends with onluding remarks in Setion VI. II. INTRODUCTION TO HEXA Direted graphs are ommonly used to implement various paket proessing algorithms whih are used in a variety of network appliations, some of whih are listed below: Longest prefix math IP lookup: IP routing involves a longest prefix math, where destination IP address of a paket is mathed against a large but finite set of prefixes and the longest mathing prefix determines the next hop. Tries, whih essentially are a direted graph without any yles, are often used to implement suh operations. Paket lassifiation: Paket lassifiation involves a multi-dimensional searh on paket s 5-tuple (soure/

6 2 destination addresses, ports and protool). Searh in eah dimension often onsists of a longest prefix math, whih is ommonly implemented using tries. These tries usually have a similar struture as an IP lookup trie. String mathing: Commerial network seurity devies like network intrusion detetion systems (NIDS), and appliation layer firewalls often use string based pattern mathing to identify maliious pakets. String mathing is usually performed with the aid of a finite automaton (e.g. Aho-Corasik, Wu-Manber et), whih is a direted graph with labeled edges. Nodes of these graphs usually have muh higher and varying out-degrees. Regular expression mathing: Modern seurity systems speify the patterns of interest using regular expressions. Regular expressions are also used to enable advaned network servies like ontent based routing, metering, et. Finite automata are usually used to implement regular expressions, whih are again a labeled direted graph. Complex expressions usually lead to relatively omplex graphs, as ompared to a string based automaton. There are several other appliations, whih use direted graph strutures. Some examples are a web indexing and searh engines, an aess ontrol list (ACL), or even a file system. In this paper, we will mostly fous on the first four appliations. Sine suh a wide variety of network appliations employ some form of direted graph traversal, a large body of researh literature has foused on improving its performane. For example, Srinivasan et al. propose multi-bit trie representation, where multiple nodes of a binary trie are merged into a single node. There are also shemes to ompatly enode these multibit trie nodes [3]. Another lass of direted graphs is finite automaton; in [5] authors present tehniques to improve the parsing performane of a finite automaton, whih is used to perform string mathing. It uses a similar tehnique, where multiple states of the automaton are merged into a single state and represented ompatly. In [6], authors propose an alternative tehnique to redue the spae by reduing the number of transitions from every node of the graph. While these solutions are generally speialized to their respetive appliations, a ommon theme is that memory an be redued by reduing the number of transitions and/or nodes in the graph. They show that this spae redution an also enhane parsing performane by utilizing the fast but limited on-hip memory. To the best of our knowledge, even with the above improvements, direted graphs are always implemented in the following onventional manner: eah node in the n node graph is denoted by a unique log 2 n bit identifier, whih also determines the memory loation of the node. At this memory loation, all transitions of the node (identifiers of the subsequent next nodes ) are stored, along with some auxiliary information. The auxiliary information may be a flag indiating if the node orresponds to a math in a string mathing automata or a valid prefix in an IP lookup trie, and an identifier for the string, or the next hop for the mathing prefix. The auxiliary information usually requires only a few bits and is kept one for every node; on the other hand, identifiers of the next node use log 2 n bits eah and are required one for every transition. Thus, in large graphs (say a million nodes) ontaining multiple transitions per node (say two), the memory required by the identifiers of the next node (2-bits per identifier, 2 suh identifiers per node) an be muh higher than the memory required by the auxiliary information. Another diffiulty with the onventional design is that the identifiers of the next node are read for eah symbol in the input stream, while the auxiliary information is read only upon a math. This neessitates that the identifiers be stored in a high speed memory (e.g. SRAM or embedded) in order to enable high parsing rate. For instane, a high performane lookup trie may store the set of identifiers, for every node in a fast memory along with a flag indiating whether the node orresponds to a prefix. On the other hand, the next hop information an be kept with a shadow trie, stored in a slow memory like DRAM. Similarly, in string mathing automaton, in addition to the next node identifiers, only a flag per node is needed in the fast memory, whih will indiate whether the node is a math. The prime motivation of suh separation of fast and slow path is to redue the high speed memory, whih is often expensive and less dense. The advantages are however undermined as the identifiers often represent a large fration of the total memory. While there is a general interest in reduing the total memory, learly there are inreased benefits in reduing the memory required to store these next node identifiers. In this paper, we propose a new method to store direted graph strutures that we dub HEXA (History based Enoding, exeution, and Addressing). While onventional methods use log 2 n bits to identify eah of n nodes in a graph, by taking advantage of the graph struture, HEXA employs a novel method that an use a fixed onstant number of bits per node for strutured graphs suh as tries. Thus, when HEXA based identifiers are used to denote the transitions of the graph, the fast memory needed to store these transitions an be dramatially redued. The total memory is also redued signifiantly, beause auxiliary information often represents a small fration of the total memory. The key to the identifiation mehanism used by HEXA is that when nodes are not aessed in a random ad-ho order but in an order defined by its transitions, the nodes an be identified by the way the parsing proeeds in the graph. For instane, in a trie, if we begin parsing at the root node, we an reah any given node only by a unique stream of input symbols. In general, as the parsing proeeds, we need to remember only the previous symbols needed to uniquely identify the nodes. To larify, we onsider a simple trie-based example before formalizing the ideas behind HEXA. A. Motivating Example Let us onsider a simple direted graph given by an IP

7 3 lookup trie. A set of 5 prefixes and the orresponding binary trie, ontaining 9 nodes, is shown in Figure. We onsider first the standard representation. A node stores the identifier of its left and right hild and a bit indiating if the node orresponds to a valid prefix. Sine there are 9 nodes, identifiers are 4 bits long, and a node requires total 9-bits in the fast path. The fast path trie representation is shown below, where nodes are shown as 3-tuple onsisting of the prefix flag and the left right hildren (NULL indiates no hild): 3., NULL, 7 6., NULL, NULL 9., NULL, NULL Here, we assume that the next hops assoiated with a mathing node are stored in a shadow trie whih is stored in a relatively slow memory. Note that if the next hop trie has a struture idential to the fast path trie, then the fast path trie need not ontain any additional information. One the fast path trie is traversed and the longest mathing node is found, we will read the next hop trie one, at the loation orresponding to the longest mathing node. We now onsider storing the fast path of the trie using HEXA. In HEXA, a node will be identified by the input stream over whih it will be reahed. Thus, the HEXA identifier of the nodes will be: (a) * P * P2 * P3 * P4 * P5., 2, 3 2., 4, (b) 4 P2 9 P5 4., NULL, NULL 5., 6, , 9, NULL 8., NULL, NULL These identifiers are unique. HEXA requires a hash funtion; temporarily, let us assume we have a minimal perfet hash funtion f that maps eah identifier to a unique number in [, 9]. (A minimal perfet hash funtion is also alled a one-toone funtion.) We use this hash funtion for a hash table of 9 ells; more generally, if there are n nodes in the trie, n i is the HEXA identifier of the i th node and f is a one-to-one funtion mapping n i s to [, n], Given suh a funtion, we need to store only 3 bits worth of information for eah node of trie in order to traverse it: the first bit is set if node orresponds to a valid prefix, and seond and third bits are set if node has a left and right hild. Traversal of the trie is then straightforward. We start at the first trie node, whose 3-bit tuple will be read from the array at index f(-). If the math bit is set, we will make a note of the math, and feth the next bit from the input stream to proeed to the next trie node. If the bit is () and the left (right) hild bit of the previous node was set, then we will ompute f(n i ), where n i is the urrent sequene of bits (in this 2 3 Figure : a) routing table, b) orresponding binary trie P4 P 6 P3 ase the first bit of the input stream) and read its 3 bits. We ontinue in this manner until we reah a node with no hild. The most reent node with the math bit set will orrespond to the longest mathing prefix. Continuing with the earlier trie of 9 nodes, let the mapping funtion f, has the following values for the nine HEXA identifiers listed above:. f(-) = 4 2. f() = 7 4. f() = 2 5. f() = 8 3. f() = 9 6. f() = 9. f() = 6 With this one-to-one mapping, the fast path memory array of 3-bits will be programmed as follow; we also list the orresponding next hops: Fast path,,,,,,,,,,,,,,,,,, Next hop P P2 P3 P4 P5 This array and the above mapping funtion are suffiient to parse the trie for any given stream of input symbols. This example suggests that we an dramatially redue the memory requirements to represent a trie by pratially eliminating the overheads assoiated with node identifiers. However, we require a minimal perfet hash funtion, whih is hard to devise. In fat, when the trie is frequently updated, maintaining the one-to-one mapping may beome extremely diffiult. We will explain how to enable suh one-to-one mappings with very low ost. We also ensure that our approah maintains very fast inremental updates; i.e. when nodes are added or deleted, a new one-to-one mapping an be omputed quikly and with very few hanges in the fast path array. B. Designing Effetive Mappings 7. f() = 5 8. f() = 3 We have seen that we an ompatly represent a direted trie if we have a minimal perfet hash funtion for the nodes of the graph. More generally, we might seek merely a perfet hash funtion; that is, we map eah identifier to a unique element of [, m] for some m n, mapping the n identifier into m array ells. For large n, finding perfet hash funtions beomes extremely ompute intensive and impratial. We an simplify the problem dramatially by onsidering the fat that HEXA identifier of a node an be modified without hanging its meaning and keeping it unique. For instane we an allow a node identifier to ontain few additional (say ) bits, whih we an alter at our onveniene. We all these -bits the node s disriminator. Thus, HEXA identifier of a node will be the history of labels on whih we will reah the node, plus its -bit disriminator. We use a (pseudo)-random hash funtion to map identifiers plus disriminators to possible memory loations. Having these disriminators and the ability to alter them provides us with multiple hoies of memory loations for a node. Eah node will have 2 hoies of HEXA identifiers and hene up to 2 memory loations, from whih we have to pik just one. The power of hoie in this setting has been studied and used in multiple-hoie hashing [23] and ukoo hashing [], and we use results from these analyses.

8 4 Note that when traversing the graph, when trying to aess a node we need to know its disriminator. Hene instead of storing a single bit for eah left and right hild, representing whether it exists or not, we store the disriminator if the hild exists. In pratie, we may also optionally reserve the all- - bit word to represent NULL (i.e. no hild), giving us only 2 - memory loations. For simpliity, in the following disussion, we ontinue to use all 2 memory loations for any -bit disriminator and ignore the expliit representation of NULL hild. Nevertheless, in the simulation onduted over tries, we reserve all- -bit word for NULL and use only 2 - memory loations. This problem an now be viewed as a bipartite graph mathing problem. The bipartite graph G = (V +V 2, E) onsists of the nodes of the original direted graph as the left set of verties, and the memory loations as the right set of verties. The edges onneting the left to the right orrespond to the edges determined by the random hash funtion. Sine disriminators are -bits long, eah left vertex will have up to 2 edges onneted to random right verties. We refer to G as the memory mapping graph. We need to find a perfet mathing (that is, a mathing of size n) in the memory mapping graph G, to math eah node identifier to a unique memory loation. If we require that m = n, then it suffies that is log log n + O() to ensure that a perfet mathing exists with high probability. More generally, using results from the analysis of ukoo hashing shemes [29], it follows that we an have onstant if we allow m to be slightly greater than n. For example, using 2-bit disriminators, giving 3 hoies, then m =.n guarantees that a perfet mathing exists with high probability. In fat, not only do these perfet mathings exist, but they are effiiently updatable, as we desribe in Setion II.C. Continuing with our example of the trie shown in Figure, we now seek to devise a one-to-one mapping using this method. We onsider m = n and assume that is 2, so a node an have 4 possible HEXA identifiers, whih will enable it to have up to 4 hoies of memory loations. A ompliation in omputing the hash values may arise beause the HEXA identifiers are not of equal length. We an resolve it by first appending to a HEXA identifier its length and then padding the short identifiers with zeros. Finally we append the disriminators to them. The resulting hoies of identifiers and the memory mapping graph is shown in Figure 2, where we assume that the hash funtion is simply the numerial value of the identifier modulo 9. In the same figure, we also show a perfet mathing with the mathing edges drawn in bold. With this perfet mathing, a node will require only 2-bits to be uniquely represented (as = 2). We now onsider inremental updates, and show how a oneto-one mapping in HEXA an be maintained when a node is removed and another is added to the trie. NULL pointers are required in tries. Aho-Corasik automaton does not use them, as all nodes have an outgoing transition over eah alphabet symbol. Nodes Input labels - Four hoies of HEXA identifiers,,,,,,,,,,,,,,,,,,,,,,,,,,, C. Updating a Perfet Mathing Choies of memory loations h() =, h() = 4 h() =, h() = 5 h() =, h() = 5 h() = 2, h() = 6 h() =, h() = 4 h() =, h() = 5 h() = 2, h() = 6 h() = 3, h() = 7 h() =, h() = 5 h() = 2, h() = 6 h() = 8, h() = 3 h() =, h() = 4 h() =, h() = 5 h() = 2, h() = 6 h() =, h() = 4 h() =, h() = 5 h() =, h() = 3 h() = 4, h() = 6 Bipartite graph and a perfet mathing Figure 2: Memory mapping graph, bipartite mathing. In several appliations, suh as IP lookup, fast inremental updates are ritially important. This implies that HEXA representations will be pratial for the appliations only if the one-to-one nature of the hash funtion an be maintained in the fae of insertions and deletions. Taking advantage of the hoies available from the disriminator bits, suh one-to-one mappings an be maintained easily. Indeed, results from the study of ukoo hashing immediately yield fast inremental updates. Deletions are of ourse easy; we simply remove the relevant node from the hash table (and update pointers to that node). Insertions are more diffiult; what if we wish to insert a node and its orresponding hash loations are already taken? In this ase, we need to find an augmenting path in the memory mapping graph, remapping other nodes to other loations, whih is aomplished by hanging their disriminator bits. Finding an augmenting path will allow the item to be inserted at free memory loation, and inreasing the size of the mathing in the memory mapping graph. In fat for tables sized so that a perfet mathing exists in the memory mapping graph, augmenting paths of size O(log n) exist, so that only O(log n) nodes need to be re-mapped, and these augmenting paths an be found via a breadth first searh over o(n) nodes [29]. In pratie, a random walk approah, where a node to be inserted if neessary takes the plae of one of its neighbors randomly, and this replaed node either finds an empty spot in the hash table or takes the plae of one of its other neighbors randomly, and so on, finds an augmenting path quite quikly [29]. We also note that even when m = n, so that our mathing orresponds to a minimal perfet hash funtion, using = O(log log n) disriminator bits guarantees that if we delete a node and insert a new node (so that we still have m = n), an augmenting path of length O(log n/ log log n) exists with high probability. We omit the straightforward proof. We will demonstrate in our experiments that the number of hanges needed to maintain a HEXA representation with node insertions and deletions is quite reasonable in pratie. Again, similar results an be found in the setting of ukoo hashing

9 5 a a a 2 b a a III. BOUNDED HEXA (BHEXA) Our urrent desription of HEXA is useful when graph is ayli and the total number of input symbols that we parse is bounded. However, in yli graphs, the length of HEXA identifiers may beome unbounded if we ontinue reeiving input symbols. Additionally, the presene of yles may introdue multiple sets of input symbols over whih we an reah the same node, thereby reating multiple distint HEXA identifiers, and a loss of the uniqueness property of HEXA identifiers. Suh onditions may also exist, when there are multiple inoming transitions into a node, whih are labeled with different symbols. There are instanes suh as a regular expression based finite automaton, where these onditions are ommon, there are another lass of appliations in whih all inoming transitions into a node are labeled with idential symbol. For example, in Aho-Corasik based string mathing automata, even though there are several yles, all inoming transitions at all nodes have idential labels, exept for the root node. Furthermore, a large fration of total nodes have long inoming paths labeled with idential sequenes of symbols, thus potentially reating long unique identifiers. Several variants of string mathing automata (e.g. Wu-Manber [4] and Commentz-Walter [3]), inluding the reently proposed bitsplit version of Aho-Corasik [6], whih is one of the fastest known embedded implementation, exhibit similar harateristis. For suh graphs, we introdue an extension alled bounded HEXA (bhexa) whih examines a variable but finite number of symbols in the history to identify a node, instead of examining the entire history. Sine the number of history symbols that we examine may be different for different nodes, bhexa identifiers require additional bits to indiate this length. Having variable length identifiers potentially reates multiple hoies of identifiers for nodes, whih may help in finding a mapping between identifiers and array loations and redue the dependene on disriminator bits or even avoid using them. To larify, we onsider a simple string-based example. A. Motivating Example a 7 a 8 b 9 3 Let us onsider Aho-Corasik automaton for the 3 strings: ab, ab and abba, defined over the alphabet {a, b, }. The automaton (shown in Figure 3) onsists of 9 nodes (all symbols for whih a transition is not shown in the figure are b b 4 a 5 Figure 3: Aho-Corasik automaton for the three strings ab, ab and abba. a 6 b assumed to lead to state ). A standard implementation of this automaton will use 4-bit node identifiers. These identifiers will determine the memory loation where the transitions of the node will be stored. There are three transitions per node (over symbols a, b and, respetively) and assuming that a math flag is required for every node, the fast path memory will store four entries for eah of the nine nodes, as shown below:. no, 2,, 7 2. no, 2, 3, 7 3. no, 2, 4, 6 6. math, 8,, 7 9. math, 2, 4, 6 Sine node identifiers are 4 bits, eah node requires 3 bits of fast path memory. We now explain how to use bhexa to represent this automaton. Sine bhexa allows identifiers to ontain variable number of input symbols from the history, our first objetive is to identify the legitimate bhexa identifiers for the nodes. Clearly, we would like to keep the identifier unique for eah node, irrespetive of the path that leads to the node. The identifier of the root node is, as it is visited without reeiving any input symbol (zero path length). The identifiers of the nodes whih are one transition away from the root may ontain up to one symbol from the history beause all single transition path that will lead to suh nodes will be labeled with idential symbol. As an example, all inoming edges into node 2 are labeled with a; thus its identifier an either be or a. Similarly, the identifier of node 7 an be or. In general, a node whih is k transitions away from the root may have the bhexa identifier of any length up to k symbols. For example, both paths a 2 b 3 and b a b leads to the node 3, and the last two symbols in these paths are idential; onsequently, its bhexa identifier an either be or b or ab. Choies of bhexa identifiers for the remaining nodes are listed below:. 4., b, bb, abb 7., 2., a 5., a, ba, bba, abba 8., a, a 3., b, ab 6.,, b, ab 9., b, ab, ab Notie that eah of the above bhexa identifier is legitimate. However, we must ensure that, the ones we hoose are unique, so that no two nodes end up with idential identifiers. If we employ -bit disriminators with bhexa identifiers then we may allow up to 2 nodes pik idential identifiers and then use different disriminator values to make them unique. The memory mapping method that we present in the next setion enfores these onstraints and ensures that bhexa identifier of eah node is unique. Notie again that, a -bit disriminator will only provide 2 loations when NULL has to be represented expliitly with an all- -bit word. B. Memory Mapping 4. no, 5,, 7 5. math, 2, 3, 7 7. no, 8,, 7 8. no, 2, 9, 7 The next step is to selet a bhexa identifier for every node, suh that they are mapped to unique memory loations. A large fration of nodes, being away from the root node, will have several hoies of bhexa identifiers of different lengths, whih will improve the probability of a one-to-one mapping. These hoies however ome at a ost; if a node an have up to k symbols long bhexa identifier giving it k hoies and

10 6 it selets the longest identifier, then up to log 2 k bits will be needed to indiate its length. During the graph traversal, these bits are required to determine the exat number of history symbols that forms the bhexa identifier of the node. In our example automaton, if node 5 selets abba as its bhexa identifier then 3-bits will be needed to indiate its length. We an however omit this identifier from the set of legitimate identifiers of node 5, thereby keeping the bhexa identifiers within 4 symbols and requiring only 2-bits. For ompleteness, we also keep -bit disriminators ( may be zero, if we do not need them). Notie that instead of storing the omplete bhexa identifier, only + log 2 k bits worth of information is required to be stored; this information along with the history of input symbols are suffiient to re-generate the omplete bhexa identifier of any given node. Continuing with our example, we onstrut a memory mapping graph (as desribed in Setion II.B), whih is shown in Figure 4. In the graph we use m=, thus an extra memory ell is available for the nine nodes. We also limit the bhexa identifiers ontain up to three history symbols and do not use disriminators. The edges of the graph are determined by the hash funtion h, whih is: k h = ( = s ) mod i i i ; for the bhexa identifier s s k In this formula, the input symbols are assumed to take these numerial values: =, a=, b=2, =3. In the same figure, a maximum mathing in the memory mapping graph is highlighted, whih assigns a unique memory loation to eah node of the automaton. Aording to this mathing, the bhexa identifiers of the nodes are hosen as: Nodes bhexa a ab bb bba b a b length Notie again that we only store the length of bhexa identifiers in the memory (and disriminators, if they are used). During the graph traversal, the length and the history of input symbols are suffiient to reonstrut the omplete bhexa identifier. Sine the length an be enoded with 2-bits in this ase and there are no disriminators, the fast path will require total 7 bits per node: a math flag and 2-bits eah to indiate the length of the bhexa identifiers of the three next nodes for the symbols a, b and, respetively. The resulting programming of the fast path memory is shown below: Mem. loation node math flag a b Compared to a standard implementation (3-bits per node), Nodes Choies of bhexa identifiers, a, a, ab, b, bb, abb, a, ba, bba,, b, ab,, a, a, b, ab, ab h( ) = h( ) = h(a) = bhexa uses about half memory (7-bits per node). There may however be irumstanes when a perfet mathing does not exist in the memory mapping graph. There are two possible solutions to resolve this problem. The first solution is upward expansion, in whih additional memory ells are alloated; eah new ell improves the likelihood of a larger mathing. The seond solution is sideways expansion, in whih an extra bit is added, either to the disriminator of the bhexa identifier or to its length, whihever leads to larger mathing. Notie that eah suh extra bit doubles the number of edges in the memory mapping graph, whih is likely to produe signifiantly larger mathing. Unfortunately, sideways expansion also inreases the memory rapidly. For example, if the urrent bhexa identifiers require 3-bits, then a single bit of sideways expansion will inrease the total memory by 33%. A memory effiient way of finding mapping between nodes and memory loations should iterate between two phases. In the first phase, upward expansion will be applied until the added memory exeeds the memory needed by a single bit of sideways expansion. If all nodes are not yet mapped then the seond phase will begin, whih will reset the previous upward expansion and perform a bit of sideways expansion. If some nodes are still not mapped then the first phase is repeated (without resetting the sideways expansion). This method is expeted to find map the nodes while also minimizing the memory. In real bhexa implementations, however, some new hallenges may also arise, whih we disuss in the oming setion. C. Pratial Considerations Choies of memory loations h( ) = h(a) = h(ab) = 5 h( ) = h(b) = 2 h(bb) = 6 h(abb) = h( ) = h(a) = h(ba) = 4 h(bba) = 9 h( ) = h() = 3 h(b) = 8 h(ab) = 4 h( ) = h() = 3 h( ) = h(a) = h(a) = 4 h( ) = h(b) = 2 h(ab) = 5 h(ab) = 9 Bipartite graph and a maximum mathing Figure 4: Memory mapping graph, bipartite mathing. The hallenges that may appear during the implementation of bhexa are likely to depend primarily on the harateristis of the direted graph. The first hallenge may arise when the direted graph ontains long paths, all of whose edges have idential labels. Consider the Aho-Corasik automaton for l haraters long string suh as aaaaa There will be l+ nodes in the automaton and the legitimate bhexa identifier for the i th node will be any suh string (aaa ) of length less than i. In this ase, if we attempt to map every node to a memory loation without employing any disriminator then the

11 7 Number of HEXA identifier hoies no memory over-provisioning % memory over-provisioning 3% memory over-provisioning % memory over-provisioning.e+2.e+3.e+4.e+5.e+6 Number of nodes in the trie Figure 4: For different memory over-provisioning values and trie sizes, the number of hoies of HEXA identifier that is needed to suessfully perform the memory mapping bhexa identifier of any i th node will be i haraters long. Sine there are l+ nodes, the longest bhexa identifier will ontain l symbols and log 2 l bits will be required to store its length. If we employ disriminator bits then the longest bhexa identifiers an be redued by a fator of 2, nevertheless the total number of bits that will be stored per bhexa identifier will remain the same. Clearly, large l will undermine the memory savings ahieved by using bhexa. While suh strings are not ommon, we would still like to deouple the performane of bhexa from the harateristis of the strings sets. One way to takle the problem is to allow the length bits to indiate superlinear inrements in bhexa identifier length. For instane, if there are three length bits available then they may be enabled to represent the bhexa lengths of,, 2, 3, 5, 7, 2, and 6, thereby overing a muh larger range of bhexa lengths. Of ourse, the exat values that the length bits will represent will depend upon the strings database. Seond way to takle the problem is to employ a small on-hip CAM to store those nodes of the automaton that ould not be mapped to a unique memory loation due to the limited number of length and disriminator bits. In our previous example, if l is 9, and the bhexa lengths are represented with 3-bits, then at least 2 nodes of the automaton an not be mapped to any unique memory loation. These nodes an be stored in the CAM and an be quikly looked at during the parsing. We refer to the fration of total nodes that an not be mapped to unique memory loation as the spill fration. In our experiments, we find that for real world string sets, the spill frations remains low, hene a small CAM will suffie. IV. EXPERIMENTAL EVALUATION We have performed a thorough experimental evaluation of the HEXA and bhexa representations. First, we onsider HEXA based representation of real world IP lookup tries. The results demonstrate that, HEXA an dramatially redue the memory required by a binary trie; at the same time it an also redue the memory in more sophistiated trie implementations Memory over-provisioning.5..5.e+2.e+3.e+4.e+5.e+6 like multi-bit trie and tree bit-map. Seond, we employ HEXA to implement the finite automata, whih are used to perform string mathing operations. We onsider two flavors of high performane string mather, the lassi Aho-Corasik automaton, and the reently proposed bit-split version. We show that, in both ases, HEXA redues memory by up to five times without sarifiing the parsing performane. A. Results on Tries Number of nodes in the trie 3 HEXA hoies 4 HEXA hoies 7 HEXA hoies Figure 5: For different number of hoies of HEXA identifiers and trie sizes, the memory over-provisioning that is needed to suessfully perform the memory mapping BGP tables have grown steadily over the past two deades from less than 5 entries in the early 99s to nearly 75, entries in 2 to 35, entries today, and the growth is expeted to ontinue in the near future. Binary tries are a standard method to implement these BGP tables and enable fast lookup. High performane implementations of these lookup tries onsider multiple input bits at a time, thereby reating multi-bit nodes. The multi-bit nodes an be represented ompatly by using tree bit-map tatis. In our experiments, we have employed HEXA to implement both binary trie as well as multi-bit trie. Unless otherwise speified, the reported results are based on the prefixes in more than fifty BGP tables obtained from [9]. ) Binary Tries In Figure 4, for varying trie sizes, we plot the number of hoies of HEXA identifiers that are needed to ensure that a perfet mathing exists in the memory mapping graph with more than 9% probability. As expeted, more hoies of HEXA identifiers or inreased memory over-provisioning ((m n)/m) improves the hanes of a perfet mathing. In ompliane with the theoretial analysis, for m=n, the required number of HEXA identifier hoies remains O(log n). However, when m is slightly greater than n (results for, 3 and % are reported here), the required number of hoies beomes onstant, independent of the trie size. Reall that the number of HEXA identifier hoies determines the number of disriminator bits that are needed for a node, thus a small memory over-provisioning is desirable in order to keep the disriminators onstant in size. From a pratial point, we would like to keep the number of

12 8 Fast path trie memory (MB) without HEXA with HEXA Stride Figure 6: Memory needed to represent the fast path portion of the trie with and without HEXA. 32 tries are used, eah ontaining between -2k prefixes. hoies of HEXA identifiers a power of two minus one, so that one disriminator value will be used to indiate a null hild node and all remaining permutations of disriminator values will be used in finding better mathing. Thus, we are interested in suh number of HEXA hoies as, 3, 7, et. Therefore, we fix the number of HEXA hoies at these values, and plot the memory over-provisioning needed to suessfully perform a memory mapping (Figure 5). It is lear that that for 3 HEXA identifier hoies, the required memory over-provisioning is %. Thus, 2.2 bits are enough to represent eah node identifier. 2) Multi-bit tries We now extend our evaluation of HEXA to multi-bit tries where tree bit-maps are used to represent the multi-bit nodes. Notie that when HEXA is used for suh tries, the bit-masks used for the tree bitmap nodes are not affeted; only the pointers to the hild nodes are replaed with the hild s disriminator. The first design issue in suh tries is to determine a stride whih will minimize the total memory. We aomplish this experimentally by applying different strides to our datasets and measuring the total fast path memory. The results are reported in Figure 6. Clearly, strides of 3, 4 and 5 are the most appropriate hoies, when HEXA is not used. When HEXA is employed, large strides no longer remain effetive in reduing the memory. This happens beause a unibit HEXA trie requires just 2-bits of disriminator to represent a node, thus there is little room for further memory redutions by representing a subset of nodes with a bitmap. In fat, with inreasing stride, the bitmaps grow exponentially and quikly surpass any memory savings ahieved with the tree bitmap based multi-bit nodes. Note that smaller strides may not be aeptable in off-hip memory based implementations. However, in an embedded implementation suh as pipelined trie [26], small stride may enable higher throughput, as reported in [27]. This happens beause with small stride, one an employ muh deeper pipelines and eah pipeline stage an be kept ompat and fast. In our tehnial report version [28], we report the paket throughput, and power and die area estimates of HEXA based representations. We find that HEXA results in high paket throughput while dissipating muh lower power ompared to the state-of-the art methods. 3) Inremental Updates We now present the results of inremental updates on tries represented with HEXA. In our experiments, we remove a node and add another to a HEXA trie, and then attempt to find a mapping for the newly added node. The general objetive of triggering minimum hanges in the existing mapping is ahieved by finding the shortest augmenting path in the memory mapping graph, between the newly added node and some free memory loation (as desribed in Setion II.C). We find that the shortest augmenting path indeed remains small, thus a small number of existing nodes are remapped. In Figure 7, we plot the probability distribution of the number of nodes that are remapped during an update. It is lear that no update is likely to take more than 9 memory operations and a large majority of updates require less than ten memory operations. Thus, update operations in a HEXA trie an be arried out quikly, irrespetive of the trie shape and update patterns. B. Results on Strings In this setion, we report the results obtained from the experiments in whih we use bhexa to implement string based pattern mathers. We have obtained the string sets from a olletion of soures: peptide protein signatures [25], Bro signatures [2], and string omponents of the Ciso seurity Probability. Probability # of memory operations per update # of memory operations per update Figure 7: PDF of the number of memory operations required to perform a single trie update. Left trie size =, nodes, Right trie size =, nodes.

13 9 Spill fration bhexa length=4, no disriminator bhexa length=8, no disriminator bhexa length=4; -bit disriminator Spill fration.3.2. Bro (bhexa length=8, no disriminator) Protein (bhexa length=8; -bit disriminator) Ciso622 (bhexa length=8, -bit disriminator) Ciso62 (bhexa length=8, -bit disriminator) Spill fration Random (bhexa length=8, 3-bit disriminator) Protein (bhexa length=8; 3-bit disriminator) Bro (bhexa length=8, 2-bit disriminator) Ciso62 (bhexa length=6, 2-bit disriminator) Memory over-provisioning Memory over-provisioning Memory over-provisioning Figure 8: Plotting spill fration: a) Aho-Coroasik automaton for random strings sets, b) Aho-Coroasik automaton for real world string sets, and ) random and real world strings with bit-split version of Aho-Corasik. signatures [2]. We have also used randomly generated signatures whose lengths were kept omparable to the real world seurity signatures. These strings were implemented with Aho-Corasik automaton; in most experiments we did not use failure pointers as they redue the throughput. Without failure pointers, an automaton has 256 outgoing transitions per node, and may require large amounts of memory. In order to ope up with suh high fan-out issue, we have onsidered the reently proposed bit-split version of Aho-Corasik, wherein multiple state mahines are used, eah handling a subset of the 8-bits in eah input symbol. For example, one an use eight binary state mahines, with eah mahine looking at a single bit of the 8-bit input symbols, thereby reduing the total number of per node transitions to 6. First, we report the results on randomly generated sets of strings onsisting of a total ASCII haraters. In Figure 8(a), we plot the spill fration (number of automaton nodes that ould not be mapped to a memory loation) as we vary the memory over-provisioning. It is lear from the plot that it is diffiult to ahieve zero spill without using disriminators. With a single bit of disriminator and less than % memory over-provisioning, spill fration beomes zero, even when the bhexa lengths are limited to 4. Thus, total 3-bits are needed in this ase, to identify any given node: one for its disriminator and two to indiate the length of its bhexa identifier. This represents more than five fold redution in the memory when ompared to a standard implementation, whih will require 6-bits to represent a node. Next we report similar results for real world string sets. In Figure 8(b), we plot the spill fration for the set of protein strings, and the strings extrated from the Bro signatures, and Ciso seurity signatures. We only report results of those bhexa onfigurations (number of disriminator bits and maximum bhexa length) that keep the spill fration at an aeptably low value. For the Bro strings, about % memory over-provisioning is needed in order to keep the spill fration below.2%. The spill level orresponds to nodes whih remain unmapped in the automaton onsisting of total 5853 nodes. The bhexa onfiguration in this ase does not use any disriminator and limits the length to 8, thus total of 3-bits are needed to identify any given node. For the protein patterns, again a % memory over-provisioning is needed in a onfiguration that uses -bit disriminator and up to 8 haraters long bhexa identifiers. Thus, in this ase, 4-bits are needed to represent a node. In the Ciso string set ontaining total 622 strings, there was one string that onsisted of \x4 ASCII symbol repeated 5 times, whih reates up to 5 states with idential bhexa identifiers. This is preisely the issue that we have desribed in Setion III.C. With restrited bheha length and limited disriminator bits, it is impossible to uniquely identify eah of the resulting 5 nodes. Consequently, in a onfiguration where we employ 4-bits per bhexa identifier, 35 nodes remain unmapped even if we arbitrarily inrease the memory overprovisioning (refer to third set of vertial olumns in Figure 8(b)). As we remove this string from the database, we were able to redue the spill fration to.% with no memory overprovisioning and for an idential bhexa onfiguration (last set of vertial olumns in Figure 8(b)). These results suggest that bhexa based representations redues the memory by between 3 to 5 times, when ompared to standard representations. In our final set of experiments, we attempted to represent bit-split Aho-Corasik automaton with bhexa. We have employed four state-mahines, eah handling two bits of the 8-bit input harater. To our surprise, we found that bit-split versions were more diffiult to map to the memory, and requires longer disriminators and bhexa identifiers, whih inreases the number of bits per node. In spite of employing the tehniques we have disussed in setion III.C (e.g. using superlinear inrease in the bhexa length), we generally require 5 bits to represent eah node of a bit-split automaton. This represents approximately 2-3 fold redution in memory as ompared to a standard implementation. The results are plotted in Figure 8(). To summarize, bhexa based representations ahieve between 2-5 fold redutions in the memory. Suh redutions will not only aid in reduing the on-hip memory but also yield higher throughput at lower power dissipation levels. The omplete set of these results an be found in the tehnial report version of the paper [28]. V. RELATED WORK Tries have been studied extensively as a means to implement longest prefix math funtions. To redue memory usage of a trie, leaf pushing has been proposed in [], wherein prefixes at non-leaf nodes are pushed down to the leaves. Thus, eah node stores either a prefix pointer or a pointer to the array of hildren. However, leaf-pushed nodes

Pipelined Multipliers for Reconfigurable Hardware

Pipelined Multipliers for Reconfigurable Hardware Pipelined Multipliers for Reonfigurable Hardware Mithell J. Myjak and José G. Delgado-Frias Shool of Eletrial Engineering and Computer Siene, Washington State University Pullman, WA 99164-2752 USA {mmyjak,

More information

Extracting Partition Statistics from Semistructured Data

Extracting Partition Statistics from Semistructured Data Extrating Partition Statistis from Semistrutured Data John N. Wilson Rihard Gourlay Robert Japp Mathias Neumüller Department of Computer and Information Sienes University of Strathlyde, Glasgow, UK {jnw,rsg,rpj,mathias}@is.strath.a.uk

More information

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract CS 9 Projet Final Report: Learning Convention Propagation in BeerAdvoate Reviews from a etwork Perspetive Abstrat We look at the way onventions propagate between reviews on the BeerAdvoate dataset, and

More information

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking Algorithms for External Memory Leture 6 Graph Algorithms - Weighted List Ranking Leturer: Nodari Sithinava Sribe: Andi Hellmund, Simon Ohsenreither 1 Introdution & Motivation After talking about I/O-effiient

More information

Partial Character Decoding for Improved Regular Expression Matching in FPGAs

Partial Character Decoding for Improved Regular Expression Matching in FPGAs Partial Charater Deoding for Improved Regular Expression Mathing in FPGAs Peter Sutton Shool of Information Tehnology and Eletrial Engineering The University of Queensland Brisbane, Queensland, 4072, Australia

More information

Gray Codes for Reflectable Languages

Gray Codes for Reflectable Languages Gray Codes for Refletable Languages Yue Li Joe Sawada Marh 8, 2008 Abstrat We lassify a type of language alled a refletable language. We then develop a generi algorithm that an be used to list all strings

More information

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425)

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425) Automati Physial Design Tuning: Workload as a Sequene Sanjay Agrawal Mirosoft Researh One Mirosoft Way Redmond, WA, USA +1-(425) 75-357 sagrawal@mirosoft.om Eri Chu * Computer Sienes Department University

More information

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2 On - Line Path Delay Fault Testing of Omega MINs M. Bellos, E. Kalligeros, D. Nikolos,2 & H. T. Vergos,2 Dept. of Computer Engineering and Informatis 2 Computer Tehnology Institute University of Patras,

More information

Multi-Channel Wireless Networks: Capacity and Protocols

Multi-Channel Wireless Networks: Capacity and Protocols Multi-Channel Wireless Networks: Capaity and Protools Tehnial Report April 2005 Pradeep Kyasanur Dept. of Computer Siene, and Coordinated Siene Laboratory, University of Illinois at Urbana-Champaign Email:

More information

1 The Knuth-Morris-Pratt Algorithm

1 The Knuth-Morris-Pratt Algorithm 5-45/65: Design & Analysis of Algorithms September 26, 26 Leture #9: String Mathing last hanged: September 26, 27 There s an entire field dediated to solving problems on strings. The book Algorithms on

More information

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System Algorithms, Mehanisms and Proedures for the Computer-aided Projet Generation System Anton O. Butko 1*, Aleksandr P. Briukhovetskii 2, Dmitry E. Grigoriev 2# and Konstantin S. Kalashnikov 3 1 Department

More information

This fact makes it difficult to evaluate the cost function to be minimized

This fact makes it difficult to evaluate the cost function to be minimized RSOURC LLOCTION N SSINMNT In the resoure alloation step the amount of resoures required to exeute the different types of proesses is determined. We will refer to the time interval during whih a proess

More information

Outline: Software Design

Outline: Software Design Outline: Software Design. Goals History of software design ideas Design priniples Design methods Life belt or leg iron? (Budgen) Copyright Nany Leveson, Sept. 1999 A Little History... At first, struggling

More information

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION Ken Sauer and Charles A. Bouman Department of Eletrial Engineering, University of Notre Dame Notre Dame, IN 46556, (219) 631-6999 Shool of

More information

A Novel Validity Index for Determination of the Optimal Number of Clusters

A Novel Validity Index for Determination of the Optimal Number of Clusters IEICE TRANS. INF. & SYST., VOL.E84 D, NO.2 FEBRUARY 2001 281 LETTER A Novel Validity Index for Determination of the Optimal Number of Clusters Do-Jong KIM, Yong-Woon PARK, and Dong-Jo PARK, Nonmembers

More information

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Malaysian Journal of Computer Siene, Vol 10 No 1, June 1997, pp 36-41 A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Md Rafiqul Islam, Harihodin Selamat and Mohd Noor Md Sap Faulty of Computer Siene and

More information

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays nalysis of input and output onfigurations for use in four-valued D programmable logi arrays J.T. utler H.G. Kerkhoff ndexing terms: Logi, iruit theory and design, harge-oupled devies bstrat: s in binary,

More information

XML Data Streams. XML Stream Processing. XML Stream Processing. Yanlei Diao. University of Massachusetts Amherst

XML Data Streams. XML Stream Processing. XML Stream Processing. Yanlei Diao. University of Massachusetts Amherst XML Stream Proessing Yanlei Diao University of Massahusetts Amherst XML Data Streams XML is the wire format for data exhanged online. Purhase orders http://www.oasis-open.org/ommittees/t_home.php?wg_abbrev=ubl

More information

Recommendation Subgraphs for Web Discovery

Recommendation Subgraphs for Web Discovery Reommation Subgraphs for Web Disovery Arda Antikaioglu Department of Mathematis Carnegie Mellon University aantika@andrew.mu.edu R. Ravi Tepper Shool of Business Carnegie Mellon University ravi@mu.edu

More information

A {k, n}-secret Sharing Scheme for Color Images

A {k, n}-secret Sharing Scheme for Color Images A {k, n}-seret Sharing Sheme for Color Images Rastislav Luka, Konstantinos N. Plataniotis, and Anastasios N. Venetsanopoulos The Edward S. Rogers Sr. Dept. of Eletrial and Computer Engineering, University

More information

Parallelizing Frequent Web Access Pattern Mining with Partial Enumeration for High Speedup

Parallelizing Frequent Web Access Pattern Mining with Partial Enumeration for High Speedup Parallelizing Frequent Web Aess Pattern Mining with Partial Enumeration for High Peiyi Tang Markus P. Turkia Department of Computer Siene Department of Computer Siene University of Arkansas at Little Rok

More information

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 9, September 2013 ISSN: 2277 128X International Journal of Advaned Researh in Computer Siene and Software Engineering Researh Paper Available online at: www.ijarsse.om A New-Fangled Algorithm

More information

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks Abouberine Ould Cheikhna Department of Computer Siene University of Piardie Jules Verne 80039 Amiens Frane Ould.heikhna.abouberine @u-piardie.fr

More information

the data. Structured Principal Component Analysis (SPCA)

the data. Structured Principal Component Analysis (SPCA) Strutured Prinipal Component Analysis Kristin M. Branson and Sameer Agarwal Department of Computer Siene and Engineering University of California, San Diego La Jolla, CA 9193-114 Abstrat Many tasks involving

More information

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem Calulation of typial running time of a branh-and-bound algorithm for the vertex-over problem Joni Pajarinen, Joni.Pajarinen@iki.fi Otober 21, 2007 1 Introdution The vertex-over problem is one of a olletion

More information

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study What are Cyle-Stealing Systems Good For? A Detailed Performane Model Case Study Wayne Kelly and Jiro Sumitomo Queensland University of Tehnology, Australia {w.kelly, j.sumitomo}@qut.edu.au Abstrat The

More information

Boosted Random Forest

Boosted Random Forest Boosted Random Forest Yohei Mishina, Masamitsu suhiya and Hironobu Fujiyoshi Department of Computer Siene, Chubu University, 1200 Matsumoto-ho, Kasugai, Aihi, Japan {mishi, mtdoll}@vision.s.hubu.a.jp,

More information

Chapter 2: Introduction to Maple V

Chapter 2: Introduction to Maple V Chapter 2: Introdution to Maple V 2-1 Working with Maple Worksheets Try It! (p. 15) Start a Maple session with an empty worksheet. The name of the worksheet should be Untitled (1). Use one of the standard

More information

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines The Minimum Redundany Maximum Relevane Approah to Building Sparse Support Vetor Mahines Xiaoxing Yang, Ke Tang, and Xin Yao, Nature Inspired Computation and Appliations Laboratory (NICAL), Shool of Computer

More information

SVC-DASH-M: Scalable Video Coding Dynamic Adaptive Streaming Over HTTP Using Multiple Connections

SVC-DASH-M: Scalable Video Coding Dynamic Adaptive Streaming Over HTTP Using Multiple Connections SVC-DASH-M: Salable Video Coding Dynami Adaptive Streaming Over HTTP Using Multiple Connetions Samar Ibrahim, Ahmed H. Zahran and Mahmoud H. Ismail Department of Eletronis and Eletrial Communiations, Faulty

More information

Video Data and Sonar Data: Real World Data Fusion Example

Video Data and Sonar Data: Real World Data Fusion Example 14th International Conferene on Information Fusion Chiago, Illinois, USA, July 5-8, 2011 Video Data and Sonar Data: Real World Data Fusion Example David W. Krout Applied Physis Lab dkrout@apl.washington.edu

More information

Establishing Secure Ethernet LANs Using Intelligent Switching Hubs in Internet Environments

Establishing Secure Ethernet LANs Using Intelligent Switching Hubs in Internet Environments Establishing Seure Ethernet LANs Using Intelligent Swithing Hubs in Internet Environments WOEIJIUNN TSAUR AND SHIJINN HORNG Department of Eletrial Engineering, National Taiwan University of Siene and Tehnology,

More information

A Load-Balanced Clustering Protocol for Hierarchical Wireless Sensor Networks

A Load-Balanced Clustering Protocol for Hierarchical Wireless Sensor Networks International Journal of Advanes in Computer Networks and Its Seurity IJCNS A Load-Balaned Clustering Protool for Hierarhial Wireless Sensor Networks Mehdi Tarhani, Yousef S. Kavian, Saman Siavoshi, Ali

More information

DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT

DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT DETECTION METHOD FOR NETWORK PENETRATING BEHAVIOR BASED ON COMMUNICATION FINGERPRINT 1 ZHANGGUO TANG, 2 HUANZHOU LI, 3 MINGQUAN ZHONG, 4 JIAN ZHANG 1 Institute of Computer Network and Communiation Tehnology,

More information

Implementing Load-Balanced Switches With Fat-Tree Networks

Implementing Load-Balanced Switches With Fat-Tree Networks Implementing Load-Balaned Swithes With Fat-Tree Networks Hung-Shih Chueh, Ching-Min Lien, Cheng-Shang Chang, Jay Cheng, and Duan-Shin Lee Department of Eletrial Engineering & Institute of Communiations

More information

Sparse Certificates for 2-Connectivity in Directed Graphs

Sparse Certificates for 2-Connectivity in Directed Graphs Sparse Certifiates for 2-Connetivity in Direted Graphs Loukas Georgiadis Giuseppe F. Italiano Aikaterini Karanasiou Charis Papadopoulos Nikos Parotsidis Abstrat Motivated by the emergene of large-sale

More information

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering A Novel Bit Level Time Series Representation with Impliation of Similarity Searh and lustering hotirat Ratanamahatana, Eamonn Keogh, Anthony J. Bagnall 2, and Stefano Lonardi Dept. of omputer Siene & Engineering,

More information

Approximate logic synthesis for error tolerant applications

Approximate logic synthesis for error tolerant applications Approximate logi synthesis for error tolerant appliations Doohul Shin and Sandeep K. Gupta Eletrial Engineering Department, University of Southern California, Los Angeles, CA 989 {doohuls, sandeep}@us.edu

More information

Acoustic Links. Maximizing Channel Utilization for Underwater

Acoustic Links. Maximizing Channel Utilization for Underwater Maximizing Channel Utilization for Underwater Aousti Links Albert F Hairris III Davide G. B. Meneghetti Adihele Zorzi Department of Information Engineering University of Padova, Italy Email: {harris,davide.meneghetti,zorzi}@dei.unipd.it

More information

Direct-Mapped Caches

Direct-Mapped Caches A Case for Diret-Mapped Cahes Mark D. Hill University of Wisonsin ahe is a small, fast buffer in whih a system keeps those parts, of the ontents of a larger, slower memory that are likely to be used soon.

More information

Evolutionary Feature Synthesis for Image Databases

Evolutionary Feature Synthesis for Image Databases Evolutionary Feature Synthesis for Image Databases Anlei Dong, Bir Bhanu, Yingqiang Lin Center for Researh in Intelligent Systems University of California, Riverside, California 92521, USA {adong, bhanu,

More information

Multiple-Criteria Decision Analysis: A Novel Rank Aggregation Method

Multiple-Criteria Decision Analysis: A Novel Rank Aggregation Method 3537 Multiple-Criteria Deision Analysis: A Novel Rank Aggregation Method Derya Yiltas-Kaplan Department of Computer Engineering, Istanbul University, 34320, Avilar, Istanbul, Turkey Email: dyiltas@ istanbul.edu.tr

More information

Gradient based progressive probabilistic Hough transform

Gradient based progressive probabilistic Hough transform Gradient based progressive probabilisti Hough transform C.Galambos, J.Kittler and J.Matas Abstrat: The authors look at the benefits of exploiting gradient information to enhane the progressive probabilisti

More information

Detection and Recognition of Non-Occluded Objects using Signature Map

Detection and Recognition of Non-Occluded Objects using Signature Map 6th WSEAS International Conferene on CIRCUITS, SYSTEMS, ELECTRONICS,CONTROL & SIGNAL PROCESSING, Cairo, Egypt, De 9-31, 007 65 Detetion and Reognition of Non-Oluded Objets using Signature Map Sangbum Park,

More information

Accommodations of QoS DiffServ Over IP and MPLS Networks

Accommodations of QoS DiffServ Over IP and MPLS Networks Aommodations of QoS DiffServ Over IP and MPLS Networks Abdullah AlWehaibi, Anjali Agarwal, Mihael Kadoh and Ahmed ElHakeem Department of Eletrial and Computer Department de Genie Eletrique Engineering

More information

Cluster-Based Cumulative Ensembles

Cluster-Based Cumulative Ensembles Cluster-Based Cumulative Ensembles Hanan G. Ayad and Mohamed S. Kamel Pattern Analysis and Mahine Intelligene Lab, Eletrial and Computer Engineering, University of Waterloo, Waterloo, Ontario N2L 3G1,

More information

13.1 Numerical Evaluation of Integrals Over One Dimension

13.1 Numerical Evaluation of Integrals Over One Dimension 13.1 Numerial Evaluation of Integrals Over One Dimension A. Purpose This olletion of subprograms estimates the value of the integral b a f(x) dx where the integrand f(x) and the limits a and b are supplied

More information

Parametric Abstract Domains for Shape Analysis

Parametric Abstract Domains for Shape Analysis Parametri Abstrat Domains for Shape Analysis Xavier RIVAL (INRIA & Éole Normale Supérieure) Joint work with Bor-Yuh Evan CHANG (University of Maryland U University of Colorado) and George NECULA (University

More information

Improved Circuit-to-CNF Transformation for SAT-based ATPG

Improved Circuit-to-CNF Transformation for SAT-based ATPG Improved Ciruit-to-CNF Transformation for SAT-based ATPG Daniel Tille 1 René Krenz-Bååth 2 Juergen Shloeffel 2 Rolf Drehsler 1 1 Institute of Computer Siene, University of Bremen, 28359 Bremen, Germany

More information

CleanUp: Improving Quadrilateral Finite Element Meshes

CleanUp: Improving Quadrilateral Finite Element Meshes CleanUp: Improving Quadrilateral Finite Element Meshes Paul Kinney MD-10 ECC P.O. Box 203 Ford Motor Company Dearborn, MI. 8121 (313) 28-1228 pkinney@ford.om Abstrat: Unless an all quadrilateral (quad)

More information

Space- and Time-Efficient BDD Construction via Working Set Control

Space- and Time-Efficient BDD Construction via Working Set Control Spae- and Time-Effiient BDD Constrution via Working Set Control Bwolen Yang Yirng-An Chen Randal E. Bryant David R. O Hallaron Computer Siene Department Carnegie Mellon University Pittsburgh, PA 15213.

More information

An Efficient and Scalable Approach to CNN Queries in a Road Network

An Efficient and Scalable Approach to CNN Queries in a Road Network An Effiient and Salable Approah to CNN Queries in a Road Network Hyung-Ju Cho Chin-Wan Chung Dept. of Eletrial Engineering & Computer Siene Korea Advaned Institute of Siene and Tehnology 373- Kusong-dong,

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

Dynamic Algorithms Multiple Choice Test

Dynamic Algorithms Multiple Choice Test 3226 Dynami Algorithms Multiple Choie Test Sample test: only 8 questions 32 minutes (Real test has 30 questions 120 minutes) Årskort Name Eah of the following 8 questions has 4 possible answers of whih

More information

The Implementation of RRTs for a Remote-Controlled Mobile Robot

The Implementation of RRTs for a Remote-Controlled Mobile Robot ICCAS5 June -5, KINEX, Gyeonggi-Do, Korea he Implementation of RRs for a Remote-Controlled Mobile Robot Chi-Won Roh*, Woo-Sub Lee **, Sung-Chul Kang *** and Kwang-Won Lee **** * Intelligent Robotis Researh

More information

Batch Auditing for Multiclient Data in Multicloud Storage

Batch Auditing for Multiclient Data in Multicloud Storage Advaned Siene and Tehnology Letters, pp.67-73 http://dx.doi.org/0.4257/astl.204.50. Bath Auditing for Multilient Data in Multiloud Storage Zhihua Xia, Xinhui Wang, Xingming Sun, Yafeng Zhu, Peng Ji and

More information

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications System-Level Parallelism and hroughput Optimization in Designing Reonfigurable Computing Appliations Esam El-Araby 1, Mohamed aher 1, Kris Gaj 2, arek El-Ghazawi 1, David Caliga 3, and Nikitas Alexandridis

More information

We don t need no generation - a practical approach to sliding window RLNC

We don t need no generation - a practical approach to sliding window RLNC We don t need no generation - a pratial approah to sliding window RLNC Simon Wunderlih, Frank Gabriel, Sreekrishna Pandi, Frank H.P. Fitzek Deutshe Telekom Chair of Communiation Networks, TU Dresden, Dresden,

More information

Multi-Piece Mold Design Based on Linear Mixed-Integer Program Toward Guaranteed Optimality

Multi-Piece Mold Design Based on Linear Mixed-Integer Program Toward Guaranteed Optimality INTERNATIONAL CONFERENCE ON MANUFACTURING AUTOMATION (ICMA200) Multi-Piee Mold Design Based on Linear Mixed-Integer Program Toward Guaranteed Optimality Stephen Stoyan, Yong Chen* Epstein Department of

More information

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization Self-Adaptive Parent to Mean-Centri Reombination for Real-Parameter Optimization Kalyanmoy Deb and Himanshu Jain Department of Mehanial Engineering Indian Institute of Tehnology Kanpur Kanpur, PIN 86 {deb,hjain}@iitk.a.in

More information

Z Combinatorial Filters: Sensor Beams, Obstacles, and Possible Paths

Z Combinatorial Filters: Sensor Beams, Obstacles, and Possible Paths Z Combinatorial Filters: Sensor Beams, Obstales, and Possible Paths BENJAMIN TOVAR, Northwestern University FRED COHEN, University of Rohester LEONARDO BOBADILLA, University of Illinois JUSTIN CZARNOWSKI,

More information

arxiv: v1 [cs.db] 13 Sep 2017

arxiv: v1 [cs.db] 13 Sep 2017 An effiient lustering algorithm from the measure of loal Gaussian distribution Yuan-Yen Tai (Dated: May 27, 2018) In this paper, I will introdue a fast and novel lustering algorithm based on Gaussian distribution

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any urrent or future media, inluding reprinting/republishing this material for advertising

More information

Graph-Based vs Depth-Based Data Representation for Multiview Images

Graph-Based vs Depth-Based Data Representation for Multiview Images Graph-Based vs Depth-Based Data Representation for Multiview Images Thomas Maugey, Antonio Ortega, Pasal Frossard Signal Proessing Laboratory (LTS), Eole Polytehnique Fédérale de Lausanne (EPFL) Email:

More information

Facility Location: Distributed Approximation

Facility Location: Distributed Approximation Faility Loation: Distributed Approximation Thomas Mosibroda Roger Wattenhofer Distributed Computing Group PODC 2005 Where to plae ahes in the Internet? A distributed appliation that has to dynamially plae

More information

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group Dynami Programming Leture #8 of Algorithms, Data strutures and Complexity Joost-Pieter Katoen Formal Methods and Tools Group E-mail: katoen@s.utwente.nl Otober 29, 2002 JPK #8: Dynami Programming ADC (214020)

More information

Performance Benchmarks for an Interactive Video-on-Demand System

Performance Benchmarks for an Interactive Video-on-Demand System Performane Benhmarks for an Interative Video-on-Demand System. Guo,P.G.Taylor,E.W.M.Wong,S.Chan,M.Zukerman andk.s.tang ARC Speial Researh Centre for Ultra-Broadband Information Networks (CUBIN) Department

More information

Capturing Large Intra-class Variations of Biometric Data by Template Co-updating

Capturing Large Intra-class Variations of Biometric Data by Template Co-updating Capturing Large Intra-lass Variations of Biometri Data by Template Co-updating Ajita Rattani University of Cagliari Piazza d'armi, Cagliari, Italy ajita.rattani@diee.unia.it Gian Lua Marialis University

More information

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks A Dual-Hamiltonian-Path-Based Multiasting Strategy for Wormhole-Routed Star Graph Interonnetion Networks Nen-Chung Wang Department of Information and Communiation Engineering Chaoyang University of Tehnology,

More information

Constructing Transaction Serialization Order for Incremental. Data Warehouse Refresh. Ming-Ling Lo and Hui-I Hsiao. IBM T. J. Watson Research Center

Constructing Transaction Serialization Order for Incremental. Data Warehouse Refresh. Ming-Ling Lo and Hui-I Hsiao. IBM T. J. Watson Research Center Construting Transation Serialization Order for Inremental Data Warehouse Refresh Ming-Ling Lo and Hui-I Hsiao IBM T. J. Watson Researh Center July 11, 1997 Abstrat In typial pratie of data warehouse, the

More information

Improved flooding of broadcast messages using extended multipoint relaying

Improved flooding of broadcast messages using extended multipoint relaying Improved flooding of broadast messages using extended multipoint relaying Pere Montolio Aranda a, Joaquin Garia-Alfaro a,b, David Megías a a Universitat Oberta de Catalunya, Estudis d Informàtia, Mulimèdia

More information

Definitions Homework. Quine McCluskey Optimal solutions are possible for some large functions Espresso heuristic. Definitions Homework

Definitions Homework. Quine McCluskey Optimal solutions are possible for some large functions Espresso heuristic. Definitions Homework EECS 33 There be Dragons here http://ziyang.ees.northwestern.edu/ees33/ Teaher: Offie: Email: Phone: L477 Teh dikrp@northwestern.edu 847 467 2298 Today s material might at first appear diffiult Perhaps

More information

Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors

Rotation Invariant Spherical Harmonic Representation of 3D Shape Descriptors Eurographis Symposium on Geometry Proessing (003) L. Kobbelt, P. Shröder, H. Hoppe (Editors) Rotation Invariant Spherial Harmoni Representation of 3D Shape Desriptors Mihael Kazhdan, Thomas Funkhouser,

More information

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT?

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT? 3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT? Bernd Girod, Peter Eisert, Marus Magnor, Ekehard Steinbah, Thomas Wiegand Te {girod eommuniations Laboratory, University of Erlangen-Nuremberg

More information

KERNEL SPARSE REPRESENTATION WITH LOCAL PATTERNS FOR FACE RECOGNITION

KERNEL SPARSE REPRESENTATION WITH LOCAL PATTERNS FOR FACE RECOGNITION KERNEL SPARSE REPRESENTATION WITH LOCAL PATTERNS FOR FACE RECOGNITION Cuiui Kang 1, Shengai Liao, Shiming Xiang 1, Chunhong Pan 1 1 National Laboratory of Pattern Reognition, Institute of Automation, Chinese

More information

Exploring the Commonality in Feature Modeling Notations

Exploring the Commonality in Feature Modeling Notations Exploring the Commonality in Feature Modeling Notations Miloslav ŠÍPKA Slovak University of Tehnology Faulty of Informatis and Information Tehnologies Ilkovičova 3, 842 16 Bratislava, Slovakia miloslav.sipka@gmail.om

More information

Performance Improvement of TCP on Wireless Cellular Networks by Adaptive FEC Combined with Explicit Loss Notification

Performance Improvement of TCP on Wireless Cellular Networks by Adaptive FEC Combined with Explicit Loss Notification erformane Improvement of TC on Wireless Cellular Networks by Adaptive Combined with Expliit Loss tifiation Masahiro Miyoshi, Masashi Sugano, Masayuki Murata Department of Infomatis and Mathematial Siene,

More information

RAC 2 E: Novel Rendezvous Protocol for Asynchronous Cognitive Radios in Cooperative Environments

RAC 2 E: Novel Rendezvous Protocol for Asynchronous Cognitive Radios in Cooperative Environments 21st Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communiations 1 RAC 2 E: Novel Rendezvous Protool for Asynhronous Cognitive Radios in Cooperative Environments Valentina Pavlovska,

More information

Unsupervised Stereoscopic Video Object Segmentation Based on Active Contours and Retrainable Neural Networks

Unsupervised Stereoscopic Video Object Segmentation Based on Active Contours and Retrainable Neural Networks Unsupervised Stereosopi Video Objet Segmentation Based on Ative Contours and Retrainable Neural Networks KLIMIS NTALIANIS, ANASTASIOS DOULAMIS, and NIKOLAOS DOULAMIS National Tehnial University of Athens

More information

COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY

COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY COST PERFORMANCE ASPECTS OF CCD FAST AUXILIARY MEMORY Dileep P, Bhondarkor Texas Instruments Inorporated Dallas, Texas ABSTRACT Charge oupled devies (CCD's) hove been mentioned as potential fast auxiliary

More information

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1.

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1. Fuzzy Weighted Rank Ordered Mean (FWROM) Filters for Mixed Noise Suppression from Images S. Meher, G. Panda, B. Majhi 3, M.R. Meher 4,,4 Department of Eletronis and I.E., National Institute of Tehnology,

More information

Exploiting Enriched Contextual Information for Mobile App Classification

Exploiting Enriched Contextual Information for Mobile App Classification Exploiting Enrihed Contextual Information for Mobile App Classifiation Hengshu Zhu 1 Huanhuan Cao 2 Enhong Chen 1 Hui Xiong 3 Jilei Tian 2 1 University of Siene and Tehnology of China 2 Nokia Researh Center

More information

Cluster-based Cooperative Communication with Network Coding in Wireless Networks

Cluster-based Cooperative Communication with Network Coding in Wireless Networks Cluster-based Cooperative Communiation with Network Coding in Wireless Networks Zygmunt J. Haas Shool of Eletrial and Computer Engineering Cornell University Ithaa, NY 4850, U.S.A. Email: haas@ee.ornell.edu

More information

Path Sharing and Predicate Evaluation for High-Performance XML Filtering*

Path Sharing and Predicate Evaluation for High-Performance XML Filtering* Path Sharing and Prediate Evaluation for High-Performane XML Filtering Yanlei Diao, Mihael J. Franklin, Hao Zhang, Peter Fisher EECS, University of California, Berkeley {diaoyl, franklin, nhz, fisherp}@s.erkeley.edu

More information

Divide-and-conquer algorithms 1

Divide-and-conquer algorithms 1 * 1 Multipliation Divide-and-onquer algorithms 1 The mathematiian Gauss one notied that although the produt of two omplex numbers seems to! involve four real-number multipliations it an in fat be done

More information

A Dictionary based Efficient Text Compression Technique using Replacement Strategy

A Dictionary based Efficient Text Compression Technique using Replacement Strategy A based Effiient Text Compression Tehnique using Replaement Strategy Debashis Chakraborty Assistant Professor, Department of CSE, St. Thomas College of Engineering and Tehnology, Kolkata, 700023, India

More information

A scheme for racquet sports video analysis with the combination of audio-visual information

A scheme for racquet sports video analysis with the combination of audio-visual information A sheme for raquet sports video analysis with the ombination of audio-visual information Liyuan Xing a*, Qixiang Ye b, Weigang Zhang, Qingming Huang a and Hua Yu a a Graduate Shool of the Chinese Aadamy

More information

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks Query Evaluation Overview Query Optimization: Chap. 15 CS634 Leture 12 SQL query first translated to relational algebra (RA) Atually, some additional operators needed for SQL Tree of RA operators, with

More information

Adapting K-Medians to Generate Normalized Cluster Centers

Adapting K-Medians to Generate Normalized Cluster Centers Adapting -Medians to Generate Normalized Cluster Centers Benamin J. Anderson, Deborah S. Gross, David R. Musiant Anna M. Ritz, Thomas G. Smith, Leah E. Steinberg Carleton College andersbe@gmail.om, {dgross,

More information

Contents Contents...I List of Tables...VIII List of Figures...IX 1. Introduction Information Retrieval... 8

Contents Contents...I List of Tables...VIII List of Figures...IX 1. Introduction Information Retrieval... 8 Contents Contents...I List of Tables...VIII List of Figures...IX 1. Introdution... 1 1.1. Internet Information...2 1.2. Internet Information Retrieval...3 1.2.1. Doument Indexing...4 1.2.2. Doument Retrieval...4

More information

Relevance for Computer Vision

Relevance for Computer Vision The Geometry of ROC Spae: Understanding Mahine Learning Metris through ROC Isometris, by Peter A. Flah International Conferene on Mahine Learning (ICML-23) http://www.s.bris.a.uk/publiations/papers/74.pdf

More information

Performance of Histogram-Based Skin Colour Segmentation for Arms Detection in Human Motion Analysis Application

Performance of Histogram-Based Skin Colour Segmentation for Arms Detection in Human Motion Analysis Application World Aademy of Siene, Engineering and Tehnology 8 009 Performane of Histogram-Based Skin Colour Segmentation for Arms Detetion in Human Motion Analysis Appliation Rosalyn R. Porle, Ali Chekima, Farrah

More information

Incremental Mining of Partial Periodic Patterns in Time-series Databases

Incremental Mining of Partial Periodic Patterns in Time-series Databases CERIAS Teh Report 2000-03 Inremental Mining of Partial Periodi Patterns in Time-series Dataases Mohamed G. Elfeky Center for Eduation and Researh in Information Assurane and Seurity Purdue University,

More information

Bring Your Own Coding Style

Bring Your Own Coding Style Bring Your Own Coding Style Naoto Ogura, Shinsuke Matsumoto, Hideaki Hata and Shinji Kusumoto Graduate Shool of Information Siene and Tehnology, Osaka University, Japan {n-ogura, shinsuke, kusumoto@ist.osaka-u.a.jp

More information

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks Flow Demands Oriented Node Plaement in Multi-Hop Wireless Networks Zimu Yuan Institute of Computing Tehnology, CAS, China {zimu.yuan}@gmail.om arxiv:153.8396v1 [s.ni] 29 Mar 215 Abstrat In multi-hop wireless

More information

Z Combinatorial Filters: Sensor Beams, Obstacles, and Possible Paths

Z Combinatorial Filters: Sensor Beams, Obstacles, and Possible Paths Z Combinatorial Filters: Sensor Beams, Obstales, and Possible Paths BENJAMIN TOVAR, Northwestern University FRED COHEN, University of Rohester LEONARDO BOBADILLA, University of Illinois JUSTIN CZARNOWSKI,

More information

The Happy Ending Problem

The Happy Ending Problem The Happy Ending Problem Neeldhara Misra STATUTORY WARNING This doument is a draft version 1 Introdution The Happy Ending problem first manifested itself on a typial wintery evening in 1933 These evenings

More information

Efficient and scalable trie-based algorithms for computing set containment relations

Efficient and scalable trie-based algorithms for computing set containment relations Effiient and salale trie-ased algorithms for omputing set ontainment relations Yongming Luo #1, George H. L. Flether #2, Jan Hidders 3, Paul De Bra #4 # Eindhoven University of Tehnology, The Netherlands

More information

DoS-Resistant Broadcast Authentication Protocol with Low End-to-end Delay

DoS-Resistant Broadcast Authentication Protocol with Low End-to-end Delay DoS-Resistant Broadast Authentiation Protool with Low End-to-end Delay Ying Huang, Wenbo He and Klara Nahrstedt {huang, wenbohe, klara}@s.uiu.edu Department of Computer Siene University of Illinois at

More information