multi-dimensional packet classification on fpga 100 gbps and beyond author: yaxuan qi, jeffrey fong,...

24
Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher: FPT 2010 Presenter: Chun-Sheng Hsueh Date: 2013/10/23 1

Upload: adrian-malone

Post on 31-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond

Author:Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor PrasannaPublisher:FPT 2010

Presenter:Chun-Sheng Hsueh

Date:2013/10/23

1

Page 2: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Introduction

A FPGA-based architecture which based on HyperSplit targeting

100 Gbps packet classification.

Special logic is designed to support two packets to be processed

every clock cycle.

A node-merging algorithm is proposed to reduce the number of

pipeline stages.

A leaf-pushing algorithm is designed to control the memory usage.

2

Page 3: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Introduction

Software solutions have good flexibility and programmability, but

they inherently lack high parallelism and abundant on-chip

memory.

TCAM-based solutions can reach wire speed performance, they

sacrifice scalability, programmability and power efficiency.

TCAM-based solutions also suffer from a range-to prefix

conversion problem, making it difficult to support large and

complex rule sets.

3

Page 4: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Background and Related Work

A. Problem Statement:

4

Page 5: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Background and Related Work

B. Packet Classification Algorithms:

5

Page 6: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Background and Related Work

C. Related Work

◦ Jedhe et al. implemented the DCFL architecture on a Xilinx Virtex-2

Pro FPGA and achieved a throughput of 16 Gbps for 128 rules.

◦ Luo et al. proposed a method called explicit range search to allow

more cuts per node than the original HyperCuts algorithm. The tree

height is reduced at the cost of extra memory consumption.

◦ Jiang et al. proposed two optimization methods for the HyperCuts

algorithm to reduce memory consumption. By deep pipelining, their

FPGA implementation can achieve a throughput of 80 Gbps.

6

Page 7: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

A. Algorithm Motivation

◦ Algorithm parallelism

◦ Logic complexity

◦ Memory efficiency

7

Page 8: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

8

Page 9: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

A. Algorithm Motivation

◦ HyperSplit is well suited to FPGA implementation:

First, the tree structure of the binary search can be pipelined to

achieve high throughput of one packet per clock cycle.

Second, the operation at each tree node is simple. Both the

value comparison and address fetching can be efficiently

implemented with small amount of logic.

9

Page 10: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

B. Basic Architecture

10

Page 11: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

11

Page 12: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

B. Basic Architecture

◦ When an update is initiated, a write bubble is inserted into the

pipeline. Each write bubble is assigned with a stage_identifier.

◦ If the write enable bit is set, the write bubble will use the new

content to update the memory at the stage specified by the

stage_identifier.

12

Page 13: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

Architecture Design

C. Design Challenges

◦ Number of pipeline stages:

The pipeline can be long for large rule sets. For example, with

10K ACL rules, the pipeline has 28 stages.

◦ Block RAM usage:

Because the number of nodes is different at each level of the

tree, the memory usage at each stage is not equal. In order to

support on-the-fly rule update, the size of block RAMs for

each pipeline stage needs to be determined during the

implementation of the design.

13

Page 14: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

ARCHITECTURE OPTIMIZATION

A. Pipeline Depth Reduction

14

Page 15: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

ARCHITECTURE OPTIMIZATION

15

Page 16: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

ARCHITECTURE OPTIMIZATION

16

Page 17: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

ARCHITECTURE OPTIMIZATION

B. Controlled Block RAM Allocation

◦ First, because the number tree nodes in the top l-level is small

(less than 4l), it is not efficient to instantiate the 1024- entry

block RAMs for those levels. Instead, we allow those entries in

distributed RAMs.

◦ Second, because pushing down the leaf nodes does not change

the search semantics of the original tree and the number of leaf

nodes is comparable to non-leaf nodes , we can reshape the tree

by pushing leaf nodes down to lower levels to reduce the

memory usage at certain stages.

17

Page 18: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

ARCHITECTURE OPTIMIZATION

B. Controlled Block RAM Allocation

18

Page 19: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

19

Page 20: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

PERFORMANCE EVALUATION

A. Test bed and data set

◦ Rule sets ranges from 100 to 50,000 and generated by the

Classbench with acl1 seeds.

◦ FPGA device used in the tests is the Xilinx Virtex-6,

(XC6VSX475T) containing 7,640 Kb Distributed RAM and

38,304 Kb block RAMs.

20

Page 21: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

PERFORMANCE EVALUATION

B. Node-merging Optimization

21

Page 22: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

PERFORMANCE EVALUATION

C. Leaf-pushing Optimization

22

Page 23: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

PERFORMANCE EVALUATION

D. FPGA Performance

23

Page 24: Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:

PERFORMANCE EVALUATION

D. FPGA Performance

24