+ All Categories
Home > Documents > Color Aware Switch algorithm implementation The Computer Communication Lab (236340) Spring 2008.

Color Aware Switch algorithm implementation The Computer Communication Lab (236340) Spring 2008.

Date post: 19-Dec-2015
Category:
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
21
Color Aware Switch algorithm implementation The Computer Communication Lab (236340) Spring 2008
Transcript

Color Aware Switch algorithm implementation

The Computer Communication Lab (236340)

Spring 2008

Agenda

Introduction Project scope Dune’s color-aware algorithm DiffServ Project Implementation Test results Open discussion

Introduction

Switches with multiple flows. Packets arrive at several ports are colored

(GREEN and YELLOW)Congestion on some of the ports.Packets are dropped.

Requirements:Yellow packets are dropped before green.No bandwidth loss.

Project Scope

Implement Dune’s algorithm for color-aware switch (specification is provided)

Provide an experimental platform (based on NS-2) for further exploration

Color Aware Algorithm

Class Q

Class QCentral Agent

Inp

ut

Qu

eu

eIn

pu

t Q

ue

ue

Input 1

Input 2

Output port

Class Q

Inp

ut

Qu

eu

e

Input N

...

...

FSM (per input )

Max -Q-Size

Max -Q-Size

Max -Q-Size

* Max -Q -Size* Flow -ID* Aging -Time

Credit Message

Color Aware Algorithm 2

Each input has access to Test Parameters Table for each color. Each input holds Max-Q-Size for all inputs that are mapped to the

same output. Central Agent maintains Max-Q-Size by receiving “Flow Status

Messages” from various inputs. When a packet is evaluated for enque, a RED-like test vs. Max-Q-

Size is performed. The packet is dropped or accepted depending on Test Parameters.

Central Agent updates the Max-Q-Size on each non-empty input using Round Robin every given time.

Differentiated Services

DiffServ is mechanism for classifying and managing network traffic.

DiffServ architecture has 3 components: Policy

In NS, the policy is fully determined in the tcl script

Edge routers Assign code points to the packets according to the policy

Core routers Evaluate packets according to priority given on Edge

Differentiated Services - 2

In NS, each link has number of physical and virtual queues that represent priorities.

Queues are implemented on node’s egress. Therefore, when congestion occurs, packets are dropped on egress.

Project’s Implementation

DiffServ is used to mark packets depending on source-destination pair.

Each packet is then evaluated for dropping by its input before standard NS dropping algorithms.

Several topologies are built to test implementation.

Tests were run and results analyzed.

Implementation details

Since queues are implemented on the egress, we’ve created physical queue for each input link.

CA manages physical queues only to determine which packets should be dropped.

CA notifies each non-empty physical queue about the maximum size of all other queues.

Custom statistics were made for the algorithm.

Topology

A

D

S1

S2

B

S3

S4

E

Packets are evaluated vs. CFG-Table and (if not dropped) by standard NS algorithms.

Various settings were tested to find optimal values.

2Mb

2Mb

5Mb

5Mb 10Mb

Each source sends packets with constant bitrate.Each link to edge contains both yellow and green packetsCongestion is created on Edge’s output.

Testing various parameters

The tests were run with changing the following parameters for both colors:CFG-AdmitDropProb1CFG-AdmitDropProb2CFG-AdmitTh CFG-AdmitDropTh CFG-DropThPort delay

Drops vs. tresholds

1204080103050

2204080204080

3406080305070

4506090306070

5506090405080

6307080203070

Thresholds:

010

20

30

40

50

60

Dro

ps %

1 2 3 4 5 6

Different thresholds

0

10

20

30

40

50

60

Dro

ps %

1 2 3 4 5 6

Different thresholds

CFG-AdmitDropProb1=20%CFG-AdmitDropProb2=50%CFG-AdmitDropProb1=60%CFG-AdmitDropProb2=80%

CFG-AdmitDropProb1=30%CFG-AdmitDropProb2=40%CFG-AdmitDropProb1=40%CFG-AdmitDropProb2=50%

0

0.1

0.2

0.3

0.4

0.5

Dro

ps

%

1 2 3 4 5 6

Different tresholds

Tests vs. Weighted RED Single Q

0

0.1

0.2

0.3

0.4

0.5

Dro

ps %

1 2 3 4 5 6

Different tresholds

Dune’s algorithm Approximated weighted RED (one queue)

1204080103050

2204080204080

3406080305070

4506090306070

5506090405080

6307080203070

Thresholds and probabilities:CFG-AdmitDropProb1=10%CFG-AdmitDropProb2=35%CFG-AdmitDropProb1=20%CFG-AdmitDropProb2=50%

Tests vs. Weighted RED Double Queue

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

1 2 3 4 5 6

Dune’s algorithm Approximated weighted RED (double queue)

1204080103050

2204080204080

3406080305070

4506090306070

5506090405080

6307080203070

Thresholds:

CFG-AdmitDropProb1=10%CFG-AdmitDropProb2=35%CFG-AdmitDropProb1=20%CFG-AdmitDropProb2=50%

0

0.050.1

0.15

0.2

0.250.3

0.35

0.40.45

0.5

Dro

ps %

1 2 3 4 5 6

Different tresholds

Drops vs. port delay

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16

Port delay (sec)

Dro

ps,

% Green drops

Utilization

Yellow drops

Test parameters:CFG-AdmitTh = 50CFG-AdmitDropTh = 60CFG-DropTh = 90CFG-AdmitDropProb1 = 20%CFG-AdmitDropProb2=50%

CFG-AdmitTh = 30CFG-AdmitDropTh = 60CFG-DropTh = 70CFG-AdmitDropProb1 = 50%CFG-AdmitDropProb2=70%

Topology (2)A

D

B

E

10Mb

10Mb

10Mb

0.00%

10.00%

20.00%

30.00%

40.00%

50.00%

60.00%

70.00%

80.00%

90.00%

100.00%

1 2 3 4

Dune

Linear

Dune WREDDoubleQueue

WREDSingleQueue

Test parameters:CFG-AdmitTh = 20CFG-AdmitDropTh = 40CFG-DropTh = 80CFG-AdmitDropProb1 = 10%CFG-AdmitDropProb2=35%

CFG-AdmitTh = 10CFG-AdmitDropTh = 30CFG-DropTh = 50CFG-AdmitDropProb1 = 20%CFG-AdmitDropProb2=50%

0.00%

5.00%

10.00%

15.00%

20.00%

25.00%

1 2 3 4

Dune

Linear

Dune WREDDoubleQueue

WREDSingleQueue

Test parameters:CFG-AdmitTh = 20CFG-AdmitDropTh = 40CFG-DropTh = 80CFG-AdmitDropProb1 = 10%CFG-AdmitDropProb2=35%

CFG-AdmitTh = 10CFG-AdmitDropTh = 30CFG-DropTh = 50CFG-AdmitDropProb1 = 20%CFG-AdmitDropProb2=50%

A

D

B

E

10Mb

3Mb

9Mb

Topology (3)

Conclusions:

Large difference in dropping probabilities gives better results (more priority to green packets).

Global Max-Q-Size has its equilibrium. In CBR traffic thresholds distance has minor effect.

Port delay (Max-Q-Size update period) doesn’t have much impact on results for cbr traffic, unless its value is unreasonable.

Linearization of Dune algorithm at some topologies gives improvement to efficiency.

In general, Dune’s algorithms gives better results than WRED, however there are counterexamples.

Demo

Implementation modules Tests and Topologies

Open discussion


Recommended