210 likes | 285 Views
The Computer Communication Lab (236340) Spring 2008. Color Aware Switch algorithm implementation. Agenda. Introduction Project scope Dune’s color-aware algorithm DiffServ Project Implementation Test results Open discussion. Introduction. Switches with multiple flows.
E N D
The Computer Communication Lab (236340)Spring 2008 Color Aware Switch algorithm implementation
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
Class Q Central FSM * Max - Q - Size Agent * Flow - ID ( per input ) e u * Aging - Time e u Max - Q - Size Q t u p n I Input 1 Credit Message Class Q Max - Q - Size e u e u . Q t . u p . n I Input 2 Output port . . . Class Q Max - Q - Size e u e u Q t u p n I Input N Color Aware Algorithm
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 Each source sends packets with constant bitrate. Each link to edge contains both yellow and green packets Congestion is created on Edge’s output. S1 2Mb A 5Mb S2 10Mb E D S3 5Mb Packets are evaluated vs. CFG-Table and (if not dropped) by standard NS algorithms. Various settings were tested to find optimal values. B S4 2Mb
Testing various parameters • The tests were run with changing the following parameters for both colors: • CFG-AdmitDropProb1 • CFG-AdmitDropProb2 • CFG-AdmitTh • CFG-AdmitDropTh • CFG-DropTh • Port delay
Drops vs. tresholds CFG-AdmitDropProb1=30% CFG-AdmitDropProb2=40% CFG-AdmitDropProb1=40% CFG-AdmitDropProb2=50% CFG-AdmitDropProb1=20% CFG-AdmitDropProb2=50% CFG-AdmitDropProb1=60% CFG-AdmitDropProb2=80% Thresholds:
Tests vs. Weighted RED Single Q Dune’s algorithm Approximated weighted RED (one queue) Thresholds and probabilities: CFG-AdmitDropProb1=10% CFG-AdmitDropProb2=35% CFG-AdmitDropProb1=20% CFG-AdmitDropProb2=50%
Tests vs. Weighted RED Double Queue Dune’s algorithm Approximated weighted RED (double queue) CFG-AdmitDropProb1=10% CFG-AdmitDropProb2=35% CFG-AdmitDropProb1=20% CFG-AdmitDropProb2=50% Thresholds:
Drops vs. port delay • CFG-AdmitTh = 30 • CFG-AdmitDropTh = 60 • CFG-DropTh = 70 • CFG-AdmitDropProb1 = 50% • CFG-AdmitDropProb2=70% • Test parameters: • CFG-AdmitTh = 50 • CFG-AdmitDropTh = 60 • CFG-DropTh = 90 • CFG-AdmitDropProb1 = 20% • CFG-AdmitDropProb2=50%
A 10Mb 10Mb E D 10Mb B Topology (2) Dune Dune Linear WREDDoubleQueue WREDSingleQueue • Test parameters: • CFG-AdmitTh = 20 • CFG-AdmitDropTh = 40 • CFG-DropTh = 80 • CFG-AdmitDropProb1 = 10% • CFG-AdmitDropProb2=35% • CFG-AdmitTh = 10 • CFG-AdmitDropTh = 30 • CFG-DropTh = 50 • CFG-AdmitDropProb1 = 20% • CFG-AdmitDropProb2=50%
Topology (3) A 3Mb 10Mb E D 9Mb B Dune Dune Linear WREDDoubleQueue WREDSingleQueue • Test parameters: • CFG-AdmitTh = 20 • CFG-AdmitDropTh = 40 • CFG-DropTh = 80 • CFG-AdmitDropProb1 = 10% • CFG-AdmitDropProb2=35% • CFG-AdmitTh = 10 • CFG-AdmitDropTh = 30 • CFG-DropTh = 50 • CFG-AdmitDropProb1 = 20% • CFG-AdmitDropProb2=50%
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