Results 1  10
of
11
Beyond Bloom Filters: From Approximate Membership Checks to Approximate State Machines
 SIGCOMM '06
, 2006
"... Many networking applications require fast state lookups in a concurrent state machine, which tracks the state of a large number of flows simultaneously. We consider the question of how to compactly represent such concurrent state machines. To achieve compactness, we consider data structures for Appr ..."
Abstract

Cited by 31 (4 self)
 Add to MetaCart
Many networking applications require fast state lookups in a concurrent state machine, which tracks the state of a large number of flows simultaneously. We consider the question of how to compactly represent such concurrent state machines. To achieve compactness, we consider data structures for Approximate Concurrent State Machines (ACSMs) that can return false positives, false negatives, or a “don’t know” response. We describe three techniques based on Bloom filters and hashing, and evaluate them using both theoretical analysis and simulation. Our analysis leads us to an extremely efficient hashingbased scheme with several parameters that can be chosen to trade off space, computation, and the impact of errors. Our hashing approach also yields a simple alternative structure with the same functionality as a counting Bloom filter that uses much less space. We show how ACSMs can be used for video congestion control. Using an ACSM, a router can implement sophisticated Active Queue Management (AQM) techniques for video traffic (without the need for standards changes to mark packets or change video formats), with a factor of four reduction in memory compared to fullstate schemes and with very little error. We also show that ACSMs show promise for realtime detection of P2P traffic.
Perfect Hashing for Network Applications
, 2006
"... Hash tables are a fundamental data structure in many network applications, including route lookups, packet classification and monitoring. Often a part of the data path, they need to operate at wirespeed. However, several associative memory accesses are needed to resolve collisions, making them slow ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
Hash tables are a fundamental data structure in many network applications, including route lookups, packet classification and monitoring. Often a part of the data path, they need to operate at wirespeed. However, several associative memory accesses are needed to resolve collisions, making them slower than required. This motivates us to consider minimal perfect hashing schemes, which reduce the number of memory accesses to just 1 and are also spaceefficient. Existing perfect hashing algorithms are not tailored for network applications because they take too long to construct and are hard to implement in hardware. This paper introduces a hardwarefriendly scheme for minimal perfect hashing, with space requirement approaching 3.7 times the information theoretic lower bound. Our construction is several orders faster than existing perfect hashing schemes. Instead of using the traditional mappingpartitioningsearching methodology, our scheme employs a Bloom filter, which is known for its simplicity and speed. We extend our scheme to the dynamic setting, thus handling insertions and deletions.
HEXA: Compact data structures for faster packet processing
 In Network Protocols, 2007. ICNP 2007. IEEE International Conference on
, 2007
"... AbstractData structures representing directed graphs with edges labeled by symbols from a finite alphabet are used to implement packet processing algorithms used in a variety of network applications. In this paper we present a novel approach to represent such data structures, which significantly re ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
AbstractData structures representing directed graphs with edges labeled by symbols from a finite alphabet are used to implement packet processing algorithms used in a variety of network applications. In this paper we present a novel approach to represent such data structures, which significantly reduces the amount of memory required. This approach called Historybased Encoding, eXecution and Addressing (HEXA) challenges the conventional assumption that graph data structures must store pointers of Flog2nl bits to identify successor nodes. We show how the data structures can be organized so that implicit information can be used to locate successors, significantly reducing the amount of information that must be stored explicitly. We demonstrate that the binary tries used for IP route lookup can be implemented using just two bytes per stored prefix (roughly half the space required by Eatherton's tree bitmap data structure) and that string matching can be implemented using 2030 % of the space required by conventional data representations. Compact representations are useful, because they allow the performancecritical part of packet processing algorithms to be implemented using fast, onchip memory, eliminating the need to retrieve information from much slower offchip memory. This can yield both substantially higher performance and lower power utilization. While enabling a compact representation, HEXA does not add significant complexity to the graph traversal and update, thus maintaining a high performance. Index Terms content inspection, IP lookup, string matching I.
Simple Summaries for Hashing with Choices
 IEEE/ACM TRANSACTIONS ON NETWORKING
, 2008
"... In a multiplechoice hashing scheme, each item is stored in one of P possible hash table buckets. The availability of these multiple choices allows for a substantial reduction in the maximum load of the buckets. However, a lookup may now require examining each of the locations. For applications whe ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
In a multiplechoice hashing scheme, each item is stored in one of P possible hash table buckets. The availability of these multiple choices allows for a substantial reduction in the maximum load of the buckets. However, a lookup may now require examining each of the locations. For applications where this cost is undesirable, Song et al. propose keeping a summary that allows one to determine which of the locations is appropriate for each item, where the summary may allow false positives for items not in hash table. We propose alternative, simple constructions of such summaries that use less space for both the summary and the underlying hash table. Moreover, our constructions are easily analyzable and tunable.
CHAP: Enabling Efficient HardwareBased Multiple Hash Schemes for IP Lookup
"... Abstract. Building a high performance IP lookup engine remains a challenge due to increasingly stringent throughput requirements and the growing size of IP tables. An emerging approach for IP lookup is the use of set associative memory architecture, which is basically a hardware implementation of an ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
Abstract. Building a high performance IP lookup engine remains a challenge due to increasingly stringent throughput requirements and the growing size of IP tables. An emerging approach for IP lookup is the use of set associative memory architecture, which is basically a hardware implementation of an open addressing hash table with the property that each row of the hash table can be searched in one memory cycle. While open addressing hash tables, in general, provide good averagecase search performance, their memory utilization and worstcase performance can degrade quickly due to bucket overflows. This paper presents a new simple hash probing scheme called CHAP (Contentbased HAsh Probing) that tackles the hash overflow problem. In CHAP, the probing is based on the content of the hash table, thus avoiding the classical side effects of probing. We show through experimenting with real IP tables how CHAP can effectively deal with the overflow.
ABSTRACT A THESIS ON ACCELERATION OF NETWORK PROCESSING ALGORITHMS by
, 2008
"... Modern networks process and forward an increasingly large volume of traffic and the rate of growth of the traffic often outpaces the improvements in the processor, memory and software technology. In order for networking equipment to maintain an acceptable performance, there is a need for architectur ..."
Abstract
 Add to MetaCart
Modern networks process and forward an increasingly large volume of traffic and the rate of growth of the traffic often outpaces the improvements in the processor, memory and software technology. In order for networking equipment to maintain an acceptable performance, there is a need for architectural enhancements and novel algorithms to efficiently implement the various network features. In this thesis, we focus on two core network features namely: i) IP packet forwarding, and ii) packet content inspection. We thoroughly investigate the existing methods to realize these two features and evaluate their usability on modern implementation platforms like network processors. Afterwards, we introduce a number of novel algorithms which not only improve the performance theoretically, but also better utilize the capabilities available with the modern hardware. The major contributions of this work include the design and architecture of an ASIC to perform longest prefix match operations on packet headers that uses substantially less memory, an embedded memory based design for regular expressions based packet content inspection, and a general purpose algorithm to costefficiently implement regular expressions signatures used in current security systems. We evaluate the proposed algorithms using network processor platforms and cycle accurate ASIC models, which provides us a first order estimate of
Simple Summaries for Hashing with Choices Abstract — In a multiplechoice hashing scheme
"... each item is stored in one of d ≥ 2 possible hash table buckets. The availability of these multiple choices allows for a substantial reduction in the maximum load of the buckets. However, a lookup may now require examining each of the d locations. For applications where this cost is undesirable, Son ..."
Abstract
 Add to MetaCart
each item is stored in one of d ≥ 2 possible hash table buckets. The availability of these multiple choices allows for a substantial reduction in the maximum load of the buckets. However, a lookup may now require examining each of the d locations. For applications where this cost is undesirable, Song et al. propose keeping a summary that allows one to determine which of the d locations is appropriate for each item, where the summary may allow false positives for items not in hash table. We propose alternative, simple constructions of such summaries that use less space for both the summary and the underlying hash table. Moreover, our constructions are easily analyzable and tunable. I.
HEXA: Compact Data Structures . . .
"... Data structures representing directed graphs with edges labeled by symbols from a finite alphabet are used to implement packet processing algorithms used in a variety of network applications. In this paper we present a novel approach to represent such data structures, which significantly reduces th ..."
Abstract
 Add to MetaCart
Data structures representing directed graphs with edges labeled by symbols from a finite alphabet are used to implement packet processing algorithms used in a variety of network applications. In this paper we present a novel approach to represent such data structures, which significantly reduces the amount of memory required. This approach called Historybased Encoding, eXecution and Addressing (HEXA) challenges the conventional assumption that graph data structures must store pointers of ⎡log 2n ⎤ bits to identify successor nodes. We show how the data structures can be organized so that implicit information can be used to locate successors, significantly reducing the amount of information that must be stored explicitly. We demonstrate that the binary tries used for IP route lookup can be implemented using just two bytes per stored prefix (roughly half the space required by Eatherton’s tree bitmap data structure) and that string matching can be implemented using 2030 % of the space required by conventional data representations. Compact representations are useful, because they allow the performancecritical part of packet processing algorithms to be implemented using fast, onchip memory, eliminating the need to retrieve information from much slower offchip memory. This can yield both substantially higher performance and lower power utilization. While enabling a compact representation, HEXA does not add significant complexity to the graph traversal and update, thus maintaining a high performance.
Contents lists available at ScienceDirect
"... journal homepage: www.elsevier.com/locate/jpdc Static heuristics for robust resource allocation of continuously ..."
Abstract
 Add to MetaCart
journal homepage: www.elsevier.com/locate/jpdc Static heuristics for robust resource allocation of continuously
Doctoral Dissertation Proposal: Acceleration of Network Processing Algorithms
"... Modern networks process and forward an increasingly large volume of traffic; the rate of growth of the traffic often outpaces the improvements in the processor, memory and software technology. In order for networking equipment to maintain an acceptable performance, there is a need for architectural ..."
Abstract
 Add to MetaCart
Modern networks process and forward an increasingly large volume of traffic; the rate of growth of the traffic often outpaces the improvements in the processor, memory and software technology. In order for networking equipment to maintain an acceptable performance, there is a need for architectural enhancements and novel algorithms that can efficiently implement the various network features. While there is a variety of network features of significance, in this research proposal, we consider three core features namely: i) packet buffering and queuing, ii) packet header processing, and iii) packet payload inspection. We propose to thoroughly investigate the existing methods to realize these features and evaluate their usability on modern implementation platforms like network processors. Afterwards, we plan to introduce novel algorithms to implement these features which will not only improve the performance theoretically, but also better utilize the capabilities available with modern hardware. We also intend to evaluate some of the proposed algorithms using network processor platforms, which will provide us a first order estimate of the usability of our methods. The research is likely to contribute to the efficient design and implementation of the aforementioned network features. The proposed research is likely to take one year. 1.