Abstract
Ternary content-addressable memories (TCAMs) are increasingly used for high-speed packet classification. TCAMs compare packet headers against all rules in a classification database in parallel and thus provide high throughput. TCAMs are not well-suited, however, for representing rules that contain range fields and prior art algorithms typically represent each such rule by multiple TCAM entries. The resulting range expansion can dramatically reduce TCAM utilization because it introduces a large number of redundant TCAM entries. This redundancy can be mitigated by making use of extra bits, available in each TCAM entry. We present a scheme for constructing efficient representations of range rules, based on the simple observation that sets of disjoint ranges may be encoded much more efficiently than sets of overlapping ranges. Since the ranges in real-world classification dtabases are, in general, non-disjoint, the algorithms we present split ranges between multiple layers each of which consists of mutually disjoint ranges. Each layer is then coded independently and assigned its own set of extra bits. Our layering algorithms are based on approximations for specific variants of interval-graph coloring. We evaluate these algorithms by performing extensive comparative analysis on real-life classification databases. Our analysis establishes that our algorithms reduce the number of redundant TCAM entries caused by range rules by more than 60% as compared with best range-encoding prior art.
Original language | English |
---|---|
Title of host publication | IEEE INFOCOM 2009 - The 28th Conference on Computer Communications |
Pages | 1305-1313 |
Number of pages | 9 |
DOIs | |
State | Published - 12 Oct 2009 |
Event | 28th Conference on Computer Communications, IEEE INFOCOM 2009 - Rio de Janeiro, Brazil Duration: 19 Apr 2009 → 25 Apr 2009 |
Conference
Conference | 28th Conference on Computer Communications, IEEE INFOCOM 2009 |
---|---|
Country/Territory | Brazil |
City | Rio de Janeiro |
Period | 19/04/09 → 25/04/09 |
ASJC Scopus subject areas
- Computer Science (all)
- Electrical and Electronic Engineering