PPT

Comparison of MaxNet and XCP:
Network Congestion Control using
explicit signalling
Speaker: Bartek Wydrowski
Compiled from work by: Lachlan Andrew (2), Steven Low (1),
Iven Mareels (2), Bartek Wydrowski (1), Moshe Zukerman (2).
(1)
(2)
Talk Overview
• MaxNet & XCP Overview.
• Steady state: Rate allocation properties.
• Summary of Maxnet and XCP.
• Maxnet: A little more details
• Stability.
• Convergence Speed.
Network Congestion Control
Sources transmit at a rate
controlled by a “congestion signal”
Links generate the congestion signal
based on level of congestion at link
S1
S2
S3
L1
L2
L3
Congestion level of end-to-end
path is fed back to source
D1
D2
D3
Network Congestion Control
Congestion signal on the Internet is implicit, and can be modelled as the
sum of the end-to-end link congestion levels – this is where XCP, MaxNet
differs.
Si
Source
p
p
1
Link 1
Link 2
2
p
N
Link N
Link l drops packets at rate pl:
Link 1
Link 2
Link l ECN marks packets at rate pl:
Link 1
Link 2
Link l delays packets for time pl:
Link 1
Link 2
T1
T2
Destination
MaxNet: Overview
MaxNet: Quick Overview
MaxNet is:
• A Fully distributed flow control
architecture for large networks.
• Max-Min fair in principle.
• Stable for networks of arbitrary
topology, number of users,
capacity and delay.
• Fast convergence properties.
• Addresses short-flow control.
Philosophy:
• Simple Architecture.
• Ability to scale.
• Simplicity  ability to design/predict.
MaxNet: Packet Format
Packet
Data
Congestion
Signal
N Bits
(price_k)
MaxNet: Source Algorithm
Source Algorithm – Demand Function.
Each source can have a different demand function which determines
the source’s relative need for capacity.
x–
Transmission
Rate
p - Price
Xi = D(price_k)
Source rate
Congestion Feedback from ACK k
Source demand function
MaxNet: Packet Marking
Source 1
Source 2
Packet Signal = max(Packet Signal,p1(t))
Packet Signal = max(Packet Signal ,p2(t))
Signal =max(p2,p3)
Packet Signal = max(Packet Signal ,p3(t))
Signal =max(p1,p2,p3)
MaxNet: Link Algorithm
Router Algorithm: Packet marking according to
Price_k = max ( Price_k , pl(t) )
Congestion signal
in pkt k
Link price
updated at each control
interval, say every 10ms.
(single price for all flows on link)
pl(t+1) = pl(t) + b(y(t)-aC)
Constant: convergence speed
Aggregate
input rate
Link capacity
Constant to control
Link utilization
MaxNet: Steady State Properties
S0
S1
S2
S3
2 Mbps
L1
3 Mbps
L2
2 Mbps
L3
p1
p2
D0
D1
D2
D3
q0 = p1 = max(p1)
q1 = p1 = max(p1,p2)
q2 = p1 =
max(p
,pmax(p
1=
2,p3)
q
=
p
3
3
2, p3)
p3
Mbps
S3 1.33
S0,S1,S2 0.66
q3
q0, q1, q2
Price
MaxNet: Steady State Properties
Link 2 capacity
Link 2 capacity
3 Mbps
3 Mbps
1 Mbps
1 Mbps
Source 0 and 1
T2
T1
1.4
1.2
1
0.8
0.6
0.4
0.2
0
Rate (Mbps)
Rate (Mbps)
T1
Source 2 and 3
0
2000
4000
6000
Time Step
8000
10000
T2
1.5
1
0.5
0
0
2000
4000
6000
Time Step
8000
10000
XCP: Overview
XCP Architecture
XCP Packet Header
H_cwnd
H_rtt
H_feedback
Sender
1. Initializes pkt k:
H_throughput_k
H_rtt_k
H_feedback_k
router
router
2. Each Router Computes Feedback:
H_feedback_k = min(H_feedback_k,H_lk)
Where H_lk = link l’s feedback for pkt k.
Thus, feedback from router with minimum
‘feedback signal’ is obtained from source
to destination path.
Receiver
3. Send header
back to sender
in ACK.
XCP Architecture
Source Algorithm:
• Rate is governed by window
• Source sends packet containing XCP header
• Source receives feedback in ACK and adjusts window
Change in source window
Source transmission rate
Feedback from ACK
XCP Architecture
Router Algorithm: Feedback computed for each packet
H_feedback_k = min (H_feedback_k,H_feedback_i)
Round trip time of
source i in packet
Feedback in Pkt
k header
Window of
source i in
packet
Sum over control
interval
Aggregate input rate
Mean of all
RTTs
Link capacity
Packet size
Queue
MaxNet, XCP:
Steady State Properties
MaxNet: Steady State Properties
MaxNet is Max-Min fair for homogenous sources.
If all sources have the same demand function (homogenous),
then MaxNet results in a max-min rate allocation.
Max-min fairness maximises the minimum rate allocation,
and maximizes each subsequently larger rate without reducing
the smaller rates.
MaxNet: Steady State Properties
For general demand functions, MaxNet is weighted min-max
fair. (Min-Max price fair)
Transmission rate
Sources can prioritize
their rate allocation by
changing their demand
functions. Roughly speaking,
their rate allocation will be
in proportion to the magnitude
of the demand function.
x1
x2
Link price
XCP: Steady State Properties
• Analysis to compute XCP equilibrium rates for arbitrary topology: Steven H.
Low, Lachlan L. H. Andrew, Bartek P. Wydrowski, “Understanding XCP:
Equilibrium and Fairness”.
Rate allocation is a solution to a max-min problem with additional
constraints
• Effects of additional constraint:
• Utilization can be below 100%.
• Rates can be arbitrarily small fraction of max-min fair rates
• In some topologies, residual terms are redundant.
XCP: Steady State Properties
Given a topology, our analysis can predict rate allocation.
•Matches NS2 results very precisely
•Predicts interesting pathological cases
XCP: Steady State Properties
Utilization of a link varies with number of sources
bottlenecked at other links.
•Lower and upper bound are:
ρl = fraction of flows at link l not bottlenecked at link l
l = fraction of traffic at link l not bottlenecked at link l
 = shuffling parameter a , b = XCP parameters (conv speed,buffer)
With standard alpha and gamma parameters, utilization is at least 80%.
XCP Scenario 1
C1=155 Mbps C2=200 Mbps
Alpha = 0.4 Beta = 0.226 Gamma = 0.1
XCP Utilisation
XCP Scenario 1
Rate allocation can be arbitrarily smaller than max-min
fair rates.
Eg:
C1=155 Mbps C2=C1(n-1)/n
i=n^2-1 j=1
Alpha = 0.4 Beta = 0.226 Gamma = 0.1
XCP Max-Min Fairness
XCP- Stability counter-example
Sources
0..9
Source
10
Sink
200Mbps
1x = 50ms
5x = 250ms
10x = 500ms
100Mbps
50ms
MaxNet & XCP comparison
Criteria
MaxNet
XCP
Rate Allocation
MaxMin
Weighted MaxMin
Constrained MaxMin
(less than MaxMin)
Bits per Packet
• Naïve encoding:
40 Bits/pkt with naïve
linear encoding.
• Smarter encoding:
4 Bits/pkt (effectively)
Every nth packet carries
signal, say n=10, and
exponential encoding of
price.
96 Bits/pkt from BSD
implementation.
Router
operations per
packet
2=
1 addition +1 max
12 =
3 multiplications +
1 division +
6 additions +
2 comparisons
XCP & MaxNet Research status
Criteria
MaxNet
XCP
Stability
Linear stability for
networks of arbitrary
size, RTTs, capacity
and number of flows
proven.
Linear stability for
single link and
aggregate of flows, all
with same RTT. Have
counter example for
more general case.
Convergence
Speed
Linear analysis shows
faster convergence than
ECN, loss (RENO),
delay (FAST,VEGAS)
based schemes.
No control analysis
available. Some
simulation results
show faster than TCPRENO.
Implementation
progress
Custom Simulation,
TCP-FAST can be
adopted.
NS2
BSD
MaxNet:
Stability Properties
MaxNet Stability
MaxNet is stable (local proven) over arbitrary network
dimensions of:
Number of sources, links, hops, delay, capacity
Same properties as were shown for SumNet in:
F. Paganini, J.C. Doyle and S.H. Low, “Scalable laws for stable network congestion control,” in
Proc. IEEE Conf. Decision Contr. (CDC), (Orlando, FL), 2001, pp. 185-90.
Network Control Model
Physical Network
L1
S1
S2
S3
L2
L3
D1
D2
D3
Control Model Network
Model quantities are small signal variations about equilibrium.
S1
S2
S3
Source Rate
x
0 0
0
0
Aggregate Rate
y
L1
L2
L3
Aggregate price
q
0 0
0
0
Link price
d
Network Control Model
MaxNet open-loop transfer function.
S1
S2
S3
0
0
0
L1
0
L2
L3
0
0
0
0
1
T
H ( s )  R f s     Rb s   C
s
Link Integrator
Action
Source Gain
Link Gain
Backward Routing Matrix
Forward Routing Matrix
MaxNet Stability Requirements
K 
x0i
Constrains slope
Of source demand
function
i
x–
Transmission
Rate
Source Gain
p - Price
Link Gain
1
a
Cl
Constrains speed
of link control law
pl(t+1) = pl(t) + b(y(t)-aC)
MaxNet:
Convergence Properties
MaxNet: Convergence Speed
MaxNet has faster asymptotic convergence than the SumNet
architecture.
(MaxNet is able to place the dominant pole further to the left
than SumNet.)
SumNet, MaxNet simulations
Power = Throughput/delay
12.00
Power
10.00
8.00
MaxNet
6.00
SumNet
4.00
2.00
0.00
0
0.005
0.01
0.015
0.02
0.025
0.03
Source Gain
Convergence Time
Delay
4000
25000
3500
20000
2500
MaxNet
2000
SumNet
Del ay
Conver gence T ime
3000
15000
MaxNet
10000
SumNet
1500
1000
5000
500
0
0
0
0
0.005
0.01
0.015
Source Gain
0.02
0.025
0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
0.03
Source Gain
Conclusion
• MaxNet steady state, stability and
speed properties have been
investigated.
• XCP steady state properties were
recently analyzed.
• MaxNet offers (at least) steady state
and implementation simplicity,
advantages over XCP.