simulating large networks using fluid flow model yong liu joint work with francesco lopresti, vishal...
TRANSCRIPT
Simulating Large Networks using Fluid Flow Model
Yong LiuJoint work with
Francesco LoPresti, Vishal Misra
Don Towsley, Yu Gu
Outline
• Fluid Flow Model
• ODE solving Methods
• Account for Topology
• Computation Savings
• Model Adjustments
• Integration with Packet Level Simulators
• Open Issues
network
TCP runs at the “edge”
Routers within network drop/markpackets when buffersfill up
Fluid Model of a Network of AQM Routers Supporting TCP Flows
TCP Congestion Control: window algorithm
Window: can send W packets at a time
• increase window by one per RTT if no loss
• decrease window by half on detection of loss
TCP Congestion Control: window algorithm
Window: can send W packets
• increase window by one per RTT if no loss
• decrease window by half on detection of loss
sender
receiver
W
TCP Congestion Control: window algorithm
Window: can send W packets
• increase window by one per RTT if no loss
• decrease window by half on detection of loss
sender
receiver
W
Active Queue Management:RED
• RED: Random Early Detect proposed in 1993
• Proactively mark/drop packets in a router queue probabilistically to– Prevent onset of congestion by reacting early – Remove synchronization between flows
The RED Mechanism
RED: Marking/dropping based on average queue length x (t) (EWMA algorithm used for averaging)
tmin tmax
pmax
1
2tmax
Mar
king
pro
babi
lity
p
Average queue length x
t ->
- q (t)- x (t)
x (t): smoothed, time averaged q (t)
Modeling RED: A Single Congested Router
TCP flow i, prop. delay Ai
AQM router
C, p
• One bottlenecked AQM router– service capacity {C (packets/sec) }
– queue length q(t)
– drop prob. p(t)
• N TCP flows
– window sizes Wi (t)– round trip time
Ri (t) = Ai+q (t)/C– throughputs
Bi (t) = Wi (t)/Ri (t)
System of Differential Equations
Window Size:
All quantities are average values. Timeouts and slow start ignored
dtdWi
Additiveincrease
))(( tqR1
i
Loss arrivalrate
)())(()(
tptqRtW
i
i
Mult.decrease
2Wi
Queue length: dtdq
Outgoingtraffic
C1 0tq ])([
Incomingtraffic
))(()(
tqRtW
i
i
System of Differential Equations (cont.)
Average queue length:
Where = averaging parameter of RED(wq)= sampling interval ~ 1/C
Loss probability:
Where is obtained from the marking profile
p
x
)()ln(
)()ln(
tq1
tx1
dtdx
dtdx
dxdp
dtdp
dxdp
Stepping back: Where are we?
N+2 coupled equations solved numerically
W=Window size, R = RTT, q = queue length, p = marking probability
N1iRpfdtdW
i1i ),(
)( i2 Wfdtdq
)(qfdtdp
3
Fluid Flow Model for a Network with Multiple Bottle-necks
Scalable with link bandwidth and flow population within each class
Network of M RED queues, K TCP classes, flows in class kkn
ODE Solving Methods• Matlab ODE Solver Suit
• Error control, automatically adjusted step-size• Cannot handle delayed differential equations• Lack of flexibility of programming• Computational Inefficiency
• Fixed Stepsize Runge-Kutta Method
• FFM: Time stepped numerical fluid model solver in C
Computation Cost: Matlab vs. FFM
80 TCP Classes x 20 RED Queues, Random Routing Matrix
Matlab: 1572 seconds FFM: 5 seconds
0
2
4
6
8
10
12
window1 window2 window3
0
2
4
6
8
10
12
window1 window2 window3
Accuracy: FFM vs. NS
Single Bottle Neck Network, 2 TCP Classes, Flows Per Class: 60 40 20
Account for Topology
Fact: TCP sending rate will be reshaped in each queue it traverses
C C
0
0.01
0.02
0.03
0.04
0.05
FFMNS
Q1 Q2
Packet Loss Probability (I)
0
0.01
0.02
0.03
0.04
0.05
FFMNS
Packet Loss Probability (II)
Account for Topology
Keep track of each TCP class’s arrival rate and departure rate at each queue:
Account for Topology
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
FFFMFFMNS
0
0.005
0.01
0.015
0.02
0.025
FFFMFFMNS
FFFM: Finer Fluid Flow Model
Packet Loss Probability (I) Packet Loss Probability (II)
Refined Fluid Model Solver
Initialiazation
End ofSimulation?
Update Windowsof All TCP Classes
Update QueueLength & Loss
Probability at allCongested Link
Update Each TCP’sState Variables at AllQueues on its Route
Dumping Data
YES
NO
Start
END
Model Adjustment 1In ns, actual packet drop/mark prob. is not equal to loss probability calculated from RED formula.Given a RED calculation value p, RED tries to make the interval between two drops/marks uniformly distributed in [1/p, 2/p] when“wait” option is on and [1, 1/p] when “wait” is off. Actual loss prob. is 2p/3 if “wait” on; 2p if “wait” off
Model Adjustment 1With wait:
Without wait:
Model Adjustment 2
NS won’t drop packet if the queue is empty
Adjustment:
Other Adjustments • TCP Newreno and SACK only backoff once for multiple losses within one window.
• Adjustment 1:
•Adjustment 2:
• At a given time, only TCP flows without packet loss will increase their congestion window.
{1,2} {1}{1,2,3}
NS vs. FFFM
NS vs. FFFM (cont.)
3 TCP Classes, 8 RED Queues
Scale bandwidth and flow population with k=1, 10, 50.Link Bandwidth: (black) 100M*k, (red) 10M*kFlows within each class: 40*k
Class1
Class2
Class3
TCP Average Sending Rate, K=1
Class NS Mean
NS Std.
FFFM
Abs. Err.
1 42.0 1.72 41.6 1.41
2 41.8 1.84 41.2 1.54
3 17.2 1.47 18.2 1.42
Class1 Class2
Class3
Queue Length, K=1
Queue NS Mean NS Std. FFFM Abs. Err.
1 100.4 18.7 99.1 14.5
2 79.6 26.1 74.6 20.2
Bottle-neck1 Bottle-neck2
TCP Average Sending Rate, K=10
Class NS Mean
NS Std.
FFFM
Abs. Err.
1 41.6 0.59 41.6 0.47
2 41.4 0.60 41.2 0.50
3 17.6 0.47 18.2 0.64
Class1 Class2
Class3
Queue Length, K=10
Queue NS Mean NS Std. FFFM Abs. Err.
1 995.4 59.5 990.5 46.4
2 779.2 116.7 745.7 96.0
Bottle-neck1 Bottle-neck2
TCP Average Sending Rate, K=50
Class NS Mean
NS Std.
FFFM
Abs. Err.
1 42.5 0.28 41.6 0.90
2 42.3 0.31 41.2 1.09
3 16.7 0.25 18.2 1.48
Class1 Class2
Class3
Queue Length, K=50
Queue NS Mean NS Std. FFFM Abs. Err.
1 4875 100 4953 91.8
2 3849 290 3729 250
Bottle-neck1 Bottle-neck2
TCP Average Sending Rate, K=100
Class NS Mean
NS Std.
FFFM
Abs. Err.
1 41.8 0.21 41.6 0.22
2 41.6 0.19 41.2 0.38
3 17.4 0.17 18.2 0.83
Class1 Class2
Class3
Queue Length, K=100
Queue NS Mean NS Std. FFFM Abs. Err.
1 9942 162 9905 134
2 7790 248 7457 351
Bottle-neck1 Bottle-neck2
Computation Savings
2 7 m in .5 6 se c1 6 m in .2 3 se c2 m in .2 se c1 2 .5 se cN S
2 ,1 8 81 ,2 8 31 5 9 .31 6 .3 2S p e e d -u p
F F M
S c a le
0 .7 6 6 se c
1
0 .7 6 6 se c
1 0
0 .7 6 6 s e c
5 0
0 .7 6 6 se c
1 0 0
0.0 0.1
1.0
1.1
1.3
1.2
1.4
1.5
4
2.0 2.1
2.2 2.3
0.2
Net 0 Net 1
Net 2
5
3.13.0
3.2 3.3
Net 3
Topology of a Large IP Network
Computation Cost
0500
100015002000250030003500400045005000
5 10 15 20 25 30 35 40 45 50 55
SimulationTime
Integration with Packet Level Simulators
Fluid flow model can provide delay and loss information for packets passing fluid network segments. If traffic from packet segments is negligible to fluid segment, fluid model can be solved independently.
Simulated by FFFM
Packet LevelPacket Level
Integration into NS
FFFM has been integrated into NS by constructing Fluid Link and Fluid Network objects.
Access
Ns node
Ns node
Access
Access
Ns node
Fluid Network Segment
FluidNetwork
Topology of Hybrid NS Simulation
Packet Network Segment
Hybrid NS SimulationLink Bandwidth: (black) 100M, (red) 15M3 Background TCP Classes, 40 Flows per Class 3 Foreground TCP Sessions
Class1
Session3
Session1
Class3Class2
Session2
Fluid Network Segment
Packet Level Nodes
Background TCP Average Window Size
Class1
Class2 Class3
hybrid packet
Foreground TCP Sample Path
Session1
Session3
Session2
Bottle-neck Queue Evolution
Bottle-neck1 Bottle-neck2
Simulation time: Hybrid: 8.4s, Packet: 29.7sCPU: 800MHz, Memory: 256M
Open Issues
• Time-out, Slow Start
• Finite duration flows, unresponsive flows
• High interaction between packet network segments and fluid network segments
• Limitations of mean value fluid model
• Verify results for large networks