Top Banner
Parallel tree search: An algorithmic approach for multi-field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications 2007 Present: Chen-Yu Lin ( 林林林 ) Date: Oct, 25, 2007
19

Parallel tree search: An algorithmic approach for multi-field packet classification

Jan 13, 2016

Download

Documents

lexine

Parallel tree search: An algorithmic approach for multi-field packet classification. Authors: Derek Pao and Cutson Liu. Publisher: Computer communications 2007 Present: Chen-Yu Lin ( 林呈俞 ) Date: Oct, 25, 2007. Outline. Introduction Packet classification algorithm - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Parallel tree search: An algorithmic approach for multi-field packet classification

Parallel tree search: An algorithmic approach for multi-field packet

classification

Authors: Derek Pao and Cutson Liu.

Publisher: Computer communications 2007

Present: Chen-Yu Lin (林呈俞 )

Date: Oct, 25, 2007

Page 2: Parallel tree search: An algorithmic approach for multi-field packet classification

Outline

Introduction Packet classification algorithm Filter decomposition algorithm Architecture of the search engine Performance of the search engine

Page 3: Parallel tree search: An algorithmic approach for multi-field packet classification

Introduction

Adopt the two-stage classification approach:

• 1. Determine the best matching source and destination prefix pair.

• 2. Determine the highest priority matching filter by comparing the remaining field against a short list of candidate rules in parallel.

Filter decomposition

• Reduce the 2-D search problem to a pseudo 1-D problem.

• The decomposed filters are organized as a height-balanced search tree.

This method is scalable to large filter databases and IPv6.

Page 4: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

2-stage classification approach

• 1. Determine the best matching source-destination prefix pair. <ps, pd>

• 2. Search the list of filters associated with the selected prefix pair for the

highest priority filter

Convert the 2-D search problem to 1-D problem.

• Source axis is partitioned into disjoint segments, called bands.

The decomposed filters are organized as a height-balanced search tree.

Page 5: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

A decomposed filter is represented by a pair of end points.

• Lower-left corner (LC)

• Padding 0 to both source & destination prefixes.

• Lower-right corner (RC)

• Padding 0 to source prefix and padding 1 to destination prefix.

End point definition

• <ps, ls, pd, ld, type> 5 – tuple

• ps (pd): extended source (destination) prefix.

• ls (ld): original length of source (destination) prefix.

• type: type of end point.

Given a source-destination address pair, the search algorithm will

• Determine the unique matching source band.

• Find the best matching filter.

Page 6: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

Conflicting filters

= <0010*, 0110*>

= <00110*, 0110*>

= <00111*, 0110*>

01100000 01101111

Page 7: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

If the LC- and RC-points of a filter are adjacent to each other in the sorted list, then the pair of points is replaced by a “merge” point, whose value is equal to LC- point.

Page 8: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

Composite key store in a node is <ps, pd>, where the length of two prefixes be ls and ld.

An input address pair (S, D) is compared with the composed key.

Page 9: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

Page 10: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

External node

• An external node provides the reference to the best matching filter, if any, when the search operation falls off the tree.

• The role of the external node is similar to the pre-computed best matching prefix in the range search approach.

Page 11: Parallel tree search: An algorithmic approach for multi-field packet classification

Packet classification algorithm

Page 12: Parallel tree search: An algorithmic approach for multi-field packet classification

Filter decomposition algorithm

Filter decomposition algorithm

• Extract all non-wild card source prefixes from the filter table and put them into a list.

• A prefix whose length is less than the full address length is then replaced by its lower and higher end-point.

Page 13: Parallel tree search: An algorithmic approach for multi-field packet classification

Filter decomposition algorithm

Let

List of end-points regions source bands 00100000 L 00100000 ~ 00101111 0010* 00110000 L 00110000 ~ 00110111 00110* 00110111 H 00111000 ~ 00111111 00111* 00111111 H

Page 14: Parallel tree search: An algorithmic approach for multi-field packet classification

Architecture of the search engine

To speed up the search operation is by pipelining Nodes of the search tree are stored in separate memory modules

according to their level number. Linear pipeline can achieve optimal throughput

• Drawback: Incremental updates cannot be supported.

• Rebalanced a search tree may need to shift up to 75% nodes.

IPv4 134 bits

IPv6 330 bits

Page 15: Parallel tree search: An algorithmic approach for multi-field packet classification

Architecture of the search engine

Flag

• If left (right) flag is set left (right) pointer = left (right) external node.

• Otherwise, left (right) pointer = left (right) subtree.

The amount of memory to support a 256K nodes search tree is around 4.2MB and 10.3MB for IPv4 and IPv6.

The depth of a height-balanced search tree with 256K nodes is no more than 19.

There are only 255 nodes in the first eight levels.

A tag is assigned to a task when it’s submitted to the search engine.

Page 16: Parallel tree search: An algorithmic approach for multi-field packet classification

Architecture of the search engine

255 entries

DRAM

32K entries

Comparator + fast buffer (SRAM)

Page 17: Parallel tree search: An algorithmic approach for multi-field packet classification

Architecture of the search engine

Output buffer of PUs

• L1 and L2 are equipped with double output buffer. Input buffer of Pus

• L1 have a single slot buffer.

• L2 equipped with a multiple slots dual-write port buffer (FIFO).

Assume the size of the L2 PUs input buffer is B slots.

• If the number of concurrent tasks is larger than 2B+3 Deadlock happen. To resolve the deadlock problem

• Limiting the number of tags no more than 2B+3.

• Implement a deflection routing scheme.

Page 18: Parallel tree search: An algorithmic approach for multi-field packet classification

Performance of the search engine

Simulation

• k and M = 8

• ACLX-5 with about 46K rules

• Depth of search tree = 17

• L2 PU input buffer size = (B)

Page 19: Parallel tree search: An algorithmic approach for multi-field packet classification

Performance of the search engine

Best performance

• Select buffer size of B = 32.

• Limiting the number of tags to 2B+3