swintop: optimizing memory efficiency of packet classification in network author: chen, chang; cai,...

20
SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication Software and Networks (ICCSN), 2015 IEEE International Conference on Presenter: Chih-Hsun Wang Date: 2015/10/20 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.

Upload: job-rodgers

Post on 21-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

SwinTop: Optimizing Memory Efficiency of Packet Classification in Network

Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun

Conference: Communication Software and Networks (ICCSN), 2015 IEEE International Conference on

Presenter: Chih-Hsun Wang

Date: 2015/10/20

Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.

Page 2: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Introduction

National Cheng Kung University CSIE Computer & Internet Architecture Lab

2

Recently the rapid growth of classification ruleset size and ruleset complexity has caused memory performance woes when applying traditional packet classification algorithms.

Swin Top, a new ruleset partitioning approach based on swarm intelligent optimization algorithms, to seek for the global optimum grouping of rules.

Page 3: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Introduction

National Cheng Kung University CSIE Computer & Internet Architecture Lab

3

Recently, several advanced solutions, like EffiCuts and ParaSplit, have shown the superiority of ruleset partitioning in the improvement of memory performance.

However, the existing solutions either scale poor as the dimension number grows, or bring uncertainty in eliminating rule replications and thus trap into local optimum.

Page 4: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Preliminaries - Problem Modeling

National Cheng Kung University CSIE Computer & Internet Architecture Lab

4

Given a ruleset RS = { r1, r2, r3, …, rn} and the group number K, the aim is to find K disjoint subsets that minimize the overall memory consumption.

Page 5: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Preliminaries - Grouping Penalty

National Cheng Kung University CSIE Computer & Internet Architecture Lab

5

First, for each rule r, every dimension of r is labeled to be either small or large according to EffiCuts. For the example of Figure 1, the six rules are labeled {s, l}, {l, s}, {l, l}, {s, s}, {l, l}, {l, l}.

Page 6: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Preliminaries - Grouping Penalty

National Cheng Kung University CSIE Computer & Internet Architecture Lab

6

Second, for each rule pair ri and rj, if in the dth dimension the two rules are both small or both large, the size-conflict Csize (d, ri, rj) is set to be 0; otherwise 1.

If in the dth dimension the ranges of the two rules are disjoint, the position-conflict Cpos (d, ri, rj) is set to be 0.5; otherwise 1.

Page 7: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

SwinTOP Algorithm

National Cheng Kung University CSIE Computer & Internet Architecture Lab

7

Swarm intelligence optimization algorithms, which simulate the collective behavior of natural systems, have made great progresses on solving combinatorial optimization problems.

Since the ruleset partitioning problem is formulated into an integer programming problem with a huge and unsmooth solution space.

SwinTOP, which combines the best of PSO and GA, is proposed to solve the ruleset partitioning problem.

Page 8: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Particle Swarm Optimization

National Cheng Kung University CSIE Computer & Internet Architecture Lab

8

PSO is an algorithm for finding the global optimum solution.

Imagine a flock of birds seeking for one piece of food in a huge searching area. None of the birds knows the exact location of the food, but they do know the approximate distance between their positions and the food.

The birds keep updating (optimizing) their speed and location through both competition and cooperation, until someone finding the food.

Page 9: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Particle Swarm Optimization

National Cheng Kung University CSIE Computer & Internet Architecture Lab

9

As the crucial part of PSO, the three key elements that influence the update of a bird’s speed include: • Inertia: the bird keeps its previous speed in some degree. • Self-cognition: the bird flies partly towards the best

location that the bird itself has ever found. • Social-cognition: the bird flies partly towards the best

location that the entire flock has ever found.

Page 10: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Genetic Algorithm

National Cheng Kung University CSIE Computer & Internet Architecture Lab

10

GA imitates the co-evolutionary process of a population formed by multiple individuals, and keep improving the fitness of the population until the strongest individual is found.

A typical GA includes the following steps:• Encoding: encode a feasible solution, i.e. an individual,

into a chromosome according to the specific problem; • Initialization: initialize the individuals to form a

population;• Evaluation: evaluate all individuals at current iteration

step and terminate the algorithm if the best individual is found;

Page 11: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Genetic Algorithm

National Cheng Kung University CSIE Computer & Internet Architecture Lab

11

• Selection: select some of the individuals according to certain probability model, promising that the excellent individuals are more likely to be selected;

• Crossover and mutation: conduct chromosome crossover and mutation operation to the selected individuals and then return to the evaluation step.

Page 12: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

SwinTOP - Encoding

National Cheng Kung University CSIE Computer & Internet Architecture Lab

12

Page 13: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

SwinTOP - Initialization

In SwinTop, the population is initialized with 17 individuals. Among them 8 individuals are called pilots, which will update themselves in each iteration step.

Another 8 individuals are called pbest_holders, responsible for holding the historical best position of each pilot. The rest one individual is called gbest_holder, which holds the historical best position of all the pilots (i.e. gbest is the best of pbests).

National Cheng Kung University CSIE Computer & Internet Architecture Lab

13

Page 14: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

SwinTOP - Initialization

National Cheng Kung University CSIE Computer & Internet Architecture Lab

14

Page 15: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

SwinTOP - Iteration

To evaluate each individual based on the objective function M(r1, r2, …, rn), we define the fitness of individual as follow:

Next we define the compatibility of two individuals as follows:

National Cheng Kung University CSIE Computer & Internet Architecture Lab

15

Page 16: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

National Cheng Kung University CSIE Computer & Internet Architecture Lab

16

Page 17: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Experiment Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

17

CPU 3.40GHz

Memory 16G

OS Ubuntu 12.04 64bit

Ruleset ClassBench

On an HP Z220 SFF workstation

Page 18: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Experiment Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

18

Page 19: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Experiment Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

19

Page 20: SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication

Experiment Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

20