1 Layered Interval Codes for TCAM-based Classification Author: Anat Bremler-Barr, David Hay, Danny...

21
1 Layered Interval Codes for TCAM-based Classification Author: Anat Bremler-Barr, David Hay, Danny Hendler Publisher: IEEE INFOCOM 2009 Presenter: Chun-Yi Li Date: 2009/03/04
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    0

Transcript of 1 Layered Interval Codes for TCAM-based Classification Author: Anat Bremler-Barr, David Hay, Danny...

1

Layered Interval Codes for TCAM-based Classification

Author: Anat Bremler-Barr, David Hay, Danny Hendler

Publisher: IEEE INFOCOM 2009

Presenter: Chun-Yi Li

Date: 2009/03/04

2

Introduction Range expansion was found to cause an increase of

more than 16% in TCAM space requirements for real-word databases.

The algorithms we present split the ranges between multiple layers, each of which consists of mutually disjoint ranges.

5

IntroductionEncoding Example

Liu’s basic dependent encoding

6

IntroductionEncoding Example

LIC encoding

7

Outline

The Layered Interval Encoding Scheme Terminology The Layering Stage The Bits Allocation Stage The Encoding Stage

Performance

8

The Layered Interval Encoding Scheme

Terminology Minimum-space LIC (MLIC)

The MLIC problem is to find a legal coloring C of G that minimizes

The MLIC problem is to output a LIC code for the ranges of S that uses a minimum number of bits.

9

The Layered Interval Encoding Scheme

Terminology Minimum-space LIC (MLIC)

R4

R1

R2 R3R1

R2 R3

R4

11

The Layered Interval Encoding Scheme

Terminology Budgeted minimum LIC (BMLIC)

An instance of BMLIC consists of a set S of weighted ranges and a positive integer b, the number of available bits.

Under this restriction, it is required to output a LIC code for a maximum-weight subset S’ of S.

12

The Layered Interval Encoding Scheme

Terminology

weight – interval r’s total redundancy.Ex: R1 source port = [1,3] => 0001, 001*

destination port = [9,12] => 1001, 101*, 1100

total redundancy = 2*3-1=5

13

The Layered Interval Encoding Scheme

The Layering Stage

Maximum Size Independent Sets (MSIS)This is a greedy layering algorithm that works iteratively. The algorithm finds a maximum size independent set.

14

The Layered Interval Encoding Scheme

The Layering Stage

Maximum Size Colorable Sets (MSCS)An i-colorable set of a graph G is a subset of G’s vertices that can be colored with i colors. MSCS finds a maximum size i-colorable set of G.

15

The Layered Interval Encoding Scheme

The Layering Stage Maximum Size Colorable Sets (MSCS)

16

The Layered Interval Encoding Scheme

The Layering Stage

Maximum Weight Independent Sets (MWIS)Same as MSIS, except that we iteratively find a maximum weighted independent set.

Maximum Weight Colorable Sets (MWCS)Same as MSCS, except that, instead of finding maximum size k-colorable sets ,MWCS finds maximum weight k-colorable sets.

17

The Layered Interval Encoding Scheme

The Bits Allocation Stage

Compute the above quantity for each layer Li, and assign the next bit to a layer for which this quantity is maximal.

18

The Layered Interval Encoding Scheme

The Bits Allocation Stage

Sort Li’s interval in decreasing weight order

19

The Layered Interval Encoding Scheme

The Encoding Stagek1 = assigned[m]

k2= assigned[m]

code[i][j] = *k1. bin(j). *k2

‥‥ ‥‥ ‥‥‥‥ ‥‥ ‥‥ ‥‥‥‥‥ ‥‥

k1 bits

layer 1 layer 2 layer i layer i+1

k2 bits

b bits

layer n

assigned[i] is the number of bits assigner to i’th layer

24

Outline

The Layered Interval Encoding Scheme Terminology The Layering Stage The Bits Allocation Stage The Encoding Stage

Performance

25

Performance

Expansion and redundancy factors, using 36 extra bits, for different range encoding algorithms.

26

Performance

The number of bits required to encode all the ranges that occur in our database as a function of the encoding scheme employed.

27

Performance

Redundancy factor as a function of the number of extra bits for different encoding schemes.

28

Performance

Redundancy factor as a function of the number of extra bits for different layering algorithms.