A Measurement-Based Algorithm to Maximize the Utility of Wireless

A Measurement-Based Algorithm to Maximize
the Utility of Wireless Networks
Julien Herzen
joint work with
Adel Aziz, Ruben Merz, Seva Shneer and Patrick Thiran
September 19th, 2011
1 / 20
Context
Inefficient situations in wireless LANs
• Example, performance anomaly:
1 Mb/s
GW
11 Mb/s
TCP
Throughput [Kb/s]
Throughput [Kb/s]
UDP
800
600
400
200
0
0
Flow at 1Mb/s
Flow at 11Mb/s
1000
2000
3000
Time [s]
800
600
400
200
0
0
Flow at 1Mb/s
Flow at 11Mb/s
1000
2000
3000
Time [s]
• Intuition: Send slightly fewer packets at 1 Mb/s, so that the flow at
11 Mb/s can send many more
2 / 20
Approach
1 Mb/s
11 Mb/s
GW
• Formalization: Capture the efficiency and the fairness of the network
using a utility function
U=
X
ui (xi ),
i
xi : throughput of flow i
Examples
Umax =
X
xi
i
Uprop =
X
log xi
i
3 / 20
Network Stack
• Backward compatibility → runs on top of IEEE 802.11
• Congestion control → throttle each flow
• One limiter per IP source in the network
IP
queue 1
ρi1
queue 2
ρi2
ρi3
queue 3
... ...
queue F
Round
Robin
MAC
i
j
k
ρiF
GW
4 / 20
How to throttle the flows?
• Find the rate allocation ρ that maximizes the utility U
• Problem: We do not know the feasible rate region!
◮ hard to predict or measure
U=
P
log xi
rate of flow 2
optimum
?
U = µ2
U∗
U = µ1
rate of flow 1
5 / 20
Decide at the gateway
The gateway knows
• The throughput achieved by the flows: x
• The current utility of the network: U(x) =
P
ui (xi )
• If x = ρ, then ρ belongs to the rate region
Measure and Decide loop
• Measure each flow
j
i
xi
xj
GW
k
xk
• Decide
?
• Broadcast decision
j
i
ρi
k
ρj
ρk
GW
6 / 20
Model
• Measured throughput: x[n] ∈ RF+
• Rate allocation vector: ρ[n] ∈ RF+
• Last stable rate allocation: r[n] ∈ RF+
• Utility function: U(x) =
P
rate of flow 2
At time slot n:
L(µ)
i ui (xi )
rate of flow 1
• Level set: L(µ[n]) = {x[n] : U(x[n]) = µ[n], x[n] ∈ RF+ }
7 / 20
Step 1 - Start from IEEE 802.11 allocation
U=
• ρ[0] ← x[0]
• Remember allocation r[0] ← x[0]
log xi
optimum
rate of flow 2
• Current level set: L(U(x[0]))
P
x[0] = ρ[0]
L(µ[0])
rate of flow 1
8 / 20
Step 2 - Enhance phase
Time step n:
U=
• If x[n − 1] = ρ[n − 1]:
Obtain a new target utility µ[n] by
a full size gradient ascent
• Else:
◮
Obtain a new target utility µ[n] by
halving the size of the gradient
ascent
log xi
optimum
rate of flow 2
◮
P
attempt
L(µ[n])
L(µ[n − 1])
• Go to Explore phase (next slide)
rate of flow 1
9 / 20
Step 3 - Explore phase
• If x[n − 1] = ρ[n − 1]:
◮
Remember r[n] = ρ[n − 1]
◮
Go to Enhance phase
U=
P
log xi
optimum
attempt
◮
Keep target utility:
µ[n] = µ[n − 1]
◮
Pick ρ[n] randomly in L(µ[n])
◮
Repeat explore phase at most N
times, then move to Enhance
phase (and reduce the size of
the gradient ascent)
rate of flow 2
• Else:
L(µ[n])
rate of flow 1
10 / 20
Step 3 - Explore phase
• If x[n − 1] = ρ[n − 1]:
◮
Remember r[n] = ρ[n − 1]
◮
Go to Enhance phase
U=
P
log xi
optimum
◮
Keep target utility:
µ[n] = µ[n − 1]
◮
Pick ρ[n] randomly in L(µ[n])
◮
Repeat explore phase at most N
times, then move to Enhance
phase (and reduce the size of
the gradient ascent)
rate of flow 2
• Else:
attempt
L(µ[n − 1])
L(µ[n])
rate of flow 1
11 / 20
Step 3 - Explore phase
• If x[n − 1] = ρ[n − 1]:
◮
Remember r[n] = ρ[n − 1]
◮
Go to Enhance phase
U=
P
log xi
optimum
◮
Keep target utility:
µ[n] = µ[n − 1]
◮
Pick ρ[n] randomly in L(µ[n])
◮
Repeat explore phase at most N
times, then move to Enhance
phase (and reduce the size of
the gradient ascent)
rate of flow 2
• Else:
attempt
L(µ[n])
rate of flow 1
12 / 20
Step 3 - Explore phase
◮
Remember r[n] = ρ[n − 1]
◮
Go to Enhance phase
• Else:
◮
Keep target utility:
µ[n] = µ[n − 1]
◮
Pick ρ[n] randomly in L(µ[n])
◮
Repeat explore phase at most N
times, then move to Enhance
phase (and reduce the size of
the gradient ascent)
rate of flow 2
optimum
• If x[n − 1] = ρ[n − 1]:
attempt
L(µ[n])
rate of flow 1
truncated Gaussian PDF for picking ρ1 :
attempt
0
u1−1 (µ[n])
13 / 20
Optimality result
Assumptions
• Fixed rate region Λ[n] = Λ
• Coordinate-convex rate region
◮
Much weaker than convexity!
Theorem
The Enhance & Explore algorithm guarantees that, for any initial rate
allocation r[0], the utility of the last stable rate allocation r[n] converges
to the maximal utility for n → ∞.
14 / 20
Practical implementation
• Based on Click[1] with MultiflowDispatcher[2]
queue 1
ρi1
queue 2
ρi2
queue 3
ρi3
• Creation of 4 new Click
elements
◮
◮
◮
◮
MFQueue
MFLeakyBucket
EEadapter
EEscheduler
IP
Round
Robin
MAC
... ...
queue F
ρiF
• Evaluation with
◮
◮
Asus routers
ns-3
GW
[1] Kohler et al., Transactions on Computer Systems, 2000
[2] Schiöberg et al., SyClick, 2009
15 / 20
Experimental results
• Deployment map:
TCP traffic
Throughput [Kb/s]
• Without E&E:
Throughput [Kb/s]
UDP traffic
800
600
400
200
0
0
Flow at 1Mb/s
Flow at 11Mb/s
1000
2000
800
600
400
200
0
0
3000
Flow at 1Mb/s
Flow at 11Mb/s
1000
2000
3
Flow at 1Mb/s
Flow at 11Mb/s
Throughput [Mb/s]
Throughput [Mb/s]
• With E&E (Uprop ):
4
2
1
0
0
1000
2000
Time [s]
3000
Time [s]
Time [s]
3000
4
3
Flow at 1Mb/s
Flow at 11Mb/s
2
1
0
0
1000
2000
3000
Time [s]
16 / 20
Experimental results
• Deployment map:
• Without E&E:
Throughput [Mb/s]
2
1.5
1
0.5
0
0
Flow at 2Mb/s
Flow at 5.5Mb/s
Flow at 11Mb/s
1000
2000
3000
Time [s]
• With E&E (Uprop ):
Throughput [Mb/s]
2
1.5
Flow at 2Mb/s
Flow at 5.5Mb/s
Flow at 11Mb/s
1
0.5
0
0
1000
2000
Time [s]
3000
17 / 20
Simulation results
ns-3 simulator
• Re-use of the same Click elements
• More controlled environment
• Possible estimation of the rate region
• Computation of optima
1 Mb/s
11 Mb/s
GW
18 / 20
Simulation results
• Adaptivity to time-varying traffic
• Cyclic validation of last stable allocation r[n]
19 / 20
Conclusion
Problem
• Inefficient and/or unfair situations in WLANs
• Capture efficiency and fairness using a utilility function
◮
The feasible rate region is unknown!
Solution
• Successive decisions and measurements by the GW
• Optimal for a fixed rate region
• When rate region changes, keeps adapting
• More details in [1], with an extension to multi-hop networks
Future work:
• Downlink traffic
• Rate adaptation
[1] Aziz et al., Mobicom 2011
20 / 20