The presentation was displayed at ECTI international conference 2009. The title is "Joint Flow Control, Routing, and Medium Access Control in Random Access Multi-Hop Wireless Networks with Time Varying Link Capacities." http://tinyurl.com/q54bmc
1. Joint Flow Control, Routing and MAC
in Random Access Multi-Hop Wireless Networks
with Time Varying Link Capacities
Sucha Supittayapornpong
Poompat Saengudomlert
International Conference on Electrical Engineering/Electronics,
Computer, Telecommunications, and Information Technology
(ECTI-CON)
May 7, 2009
Telecommunications Field of Study
Asian Institute of Technology, Thailand
2. Introduction
Traditional design and control multi-hop wireless networks:
The decision is based on experiment and practice.
Current research works toward cross-layer protocol design.
There exists theoritcal research on cross-layer protocol design.
Joint flow control and MAC in multi-hop wireless networks[Wang, 06]
Joint flow control, routing and MAC in multi-hop wireless networks
[Supittayapornpong, 08]
Motivation:
Theoretical approach to the protocol design for multi-hop wireless
networks
Distributive algorithm
Achieve optimal performance (according to the model)
More realistic with link capacity variation
A step closer from theory to practice
2/15
3. Outline
Methods
System model
Network formulation
Decomposition technique
Distributive algorithm
Simulation results
Conclusion and contribution
3/15
4. Methods
1. Create a considered network model as an optimization problem.
Rigorous system and objective goal are defined.
The best performance is known. (optimal solution and cost from
centralized solver)
2. Decompose the optimization problem.
The problem is devided by functionality to sub problems.
Each sub problem is distributively solved.
3. Derive a distributive algorithm
- To obtain mechnisms for control the network
4/15
5. Model: Link Rate
Network is a graph with sets, N and L, of active nodes and links.
Varying link capacity (ideal) Cl (ωl , t) ∈ {11, 5.5, 2, 1} Mbps.
All link capacities are independent.
Slotted ALOHA Random acces MAC [Bertsekas, 95; Fang, 04]
pl is transmission probability of link l.
P (n) is transmission probability of node n.
Successful transmission probability of link l is
“ ”
φl (p) = pl k∈I(l) 1 − P (k) where p = (pl : l ∈ L)
Q
where I(l) is a set of nodes interfering to link l.
Link rate is Φl (Cl (ωl , t), p) = Cl (ωl , t)φl (p).
5/15
6. Model: Networks
A network has a set of source-destination (S-D) pairs S.
Each S-D pair s ∈ S has predefined paths, F(s).
Each path f ∈ F(s) has flow rate yf .
S-D pair’s utility is its harmonic rate. [Supittayapornpong, 08]
2
|F(s)|
, ys = (yf : f ∈ F(s))
χ(ys ) = −1
yf
f ∈F (s)
Fairness on S-D pair’s utility is proportional fairness. [Kelly, 98]
Us = log [χ(ys )]
Network utility (objective function) is
Us
s∈S
6/15
7. Optimization Formulation
Direct formulation is non-convex.
- Transformed to a convex problem. [Supittayapornpong, 08]
System is considered in long term (LT) [O’Neill, 08]
- LT average link rate is
T
1
limT →∞ T t=1 Φl (Cl (ωl , t), p) (System can’t wait.)
Under stationary and ergodic assumptions
- LT average link rate is Φl (E [Cl (ωl )] , p)
- System does not have to wait but must know ensemble average.
The resulting (convex) formulation:
˘ e−zf
− log
F : Maximize f ∈F (s)
s∈S
ez f ≤ log Φl (E [Cl (ωl )] , p) ∀l ∈ L
Subject to log f ∈R(l)
p ∈ P, zf ∈ R ∀f ∈ F
- where P is the feasible set of p and F is a set of all flows.
7/15
8. Vertical Decomposition
The centralized problem is solved distributively. [Chiang, 07]
Separable problem is considered.
Vertical decomposition devides the problem to
flow distribution (FD) and MAC problems.
8/15
9. Horizontal Decomposition and
Stochastic Approximation
Each problem is solved distributively by horizontal decomposition.
MAC problem:
iP t(l)
h [i]
(p[i] ∂Q[i] (p[i] )
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
pl , where contains E [Cl (ωl )]
∂pl
FD problem: «–+
» „
[j]
[j+1] [j] zf
ˆ
= λl − γ [j] Φl (E [Cl (ωl )], p) −
P
λl e
f ∈R(l)
From stochastic approximation [Borkar, 00], E [Cl (ωl )] is obtained by
sampling of channel in each iteration.
9/15
10. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
10/15
11. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
10/15
12. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
10/15
13. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
10/15
14. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
FD problem:
+
[j]
[j+1] [j] [j]
ez f
ˆ
= λl − γ [j] Φl Cl (ωl ), p −
λl f ∈R(l)
- Each update requires local flow information (source’s flows).
10/15
15. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
FD problem:
+
[j]
[j+1] [j] [j]
ez f
ˆ
= λl − γ [j] Φl Cl (ωl ), p −
λl f ∈R(l)
- Each update requires local flow information (source’s flows).
10/15
16. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
FD problem:
+
[j]
[j+1] [j] [j]
ez f
ˆ
= λl − γ [j] Φl Cl (ωl ), p −
λl f ∈R(l)
- Each update requires local flow information (source’s flows).
10/15
17. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
FD problem:
+
[j]
[j+1] [j] [j]
ez f
ˆ
= λl − γ [j] Φl Cl (ωl ), p −
λl f ∈R(l)
- Each update requires local flow information (source’s flows).
10/15
18. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
FD problem:
+
[j]
[j+1] [j] [j]
ez f
ˆ
= λl − γ [j] Φl Cl (ωl ), p −
λl f ∈R(l)
- Each update requires local flow information (source’s flows).
10/15
19. Iterative Mechanisms
MAC problem:
P t(l)
[i] [i]
[i+1] [i]
= pl + β [i] ∂Q ∂pl )
(p
pl
- Each update requires at most two-hop local information.
FD problem:
+
[j]
[j+1] [j] [j]
ez f
ˆ
= λl − γ [j] Φl Cl (ωl ), p −
λl f ∈R(l)
- Each update requires local flow information (source’s flows).
10/15
20. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
21. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
22. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
23. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
24. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
25. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
26. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
27. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
28. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
29. Distributive Algorithm
Joint Flow Control, Routing and MAC Algorithm
Each link l ∈ L sets its initial values of pl and λl .
1:
2: MAC-loop (iteration index i)
3: Flow distribution-loop (iteration index j)
Each s ∈ S computes new z[j] (s).
ˆ
4:
[j]
Each l ∈ L samples current link capacity Cl .
5:
[j+1]
Each l ∈ L computes new price λl
6: .
7: Repeat 3 to 6 until λ converges.
[i]
Each l ∈ L samples current link capacity Cl .
8:
[i+1]
Each l ∈ L computes new pl
9: .
10: Repeat 2 to 9 until p converges.
11/15
30. Simulation Setup
˘
The convex problem, F, is solved by a centralized Octave solver.
The simulation is impremented by Python.
A four-state Markov chain is used to generate link capacity variation.
Cl ∈ {11, 5.5, 2, 1} l∈L
for all
0.85 0.05 0.05 0.05
0.25 0.25 0.25 0.25
[T ] =
0.25 0.25 0.25 0.25
0.25 0.25 0.25 0.25
12/15
31. Simulation Results: [1]
Static link capacity
Link transmission probabilities Flow rates
0.30 1.0
0.25
0.8
Rate (Mbps)
Probability
0.20
0.6
0.15
(1, 2) 0.4
(2, 3)
0.10 [2, 3, 4]
(1, 3) [2, 4]
0.2
(3, 4)
0.05 [1, 2, 4]
(2, 4) [1, 3, 4]
0.000 0.00
500 1000 1500 2000 500 1000 1500 2000
MAC iteration index (i) MAC iteration index (i)
S-D pair (N 1 : N 4)
[N 1, N 2, N 4] → 0.74
Dynamic link capacity
[N 1, N 3, N 4] → 0.67
Link transmission probabilities Moving average flow rates
S-D pair (N 2 : N 4)
[N 2, N 3, N 4] → 0.53 0.30 1.0
Moving average rate (Mbps)
0.25
[N 2, N 4] → 0.97 0.8
Probability
0.20
0.6
0.15
(1, 2) 0.4
(2, 3)
0.10 (2, 3, 4)
(1, 3) (2, 4)
0.2
(3, 4)
0.05 (1, 2, 4)
(2, 4) (1, 3, 4)
0.000 0.00
500 1000 1500 2000 500 1000 1500 2000
MAC iteration index (i) MAC iteration index (i)
The network sustains an optimal solution regardless of the variation.
13/15
32. Simulation Results: [2]
Static link capacity
(1, 2)
Link transmission probabilities Flow rates
0.8
(6, 4)
(3, 2) 0.7
0.20
(1, 3)
0.6
(6, 7)
0.15 (4, 5) 0.5
Rate (Mbps)
Probability
(3, 1)
0.4
(2, 1) [3, 2, 1]
0.10
(7, 5) [6, 7, 5, 3]
0.3
(4, 3) [3, 1]
0.2
(5, 3) [1, 3, 5]
0.05
(2, 4) [6, 4, 3]
0.1
(3, 5) [1, 2, 4, 5]
S-D pair (N 1 : N 5) 0.000 0.00
2000 4000 6000 8000 10000 2000 4000 6000 8000 10000
MAC iteration index (i) MAC iteration index (i)
[N 1, N 2, N 4, N 5]
[N 1, N 3, N 5]
Dynamic link capacity
S-D pair (N 3 : N 1)
(1, 2)
Link transmission probabilities Moving average flow rates
[N 3, N 1] 0.8
(6, 4)
(3, 2) 0.7
0.20
[N 3, N 2, N 1] (1, 3)
Moving average rate (Mbps)
0.6
(6, 7)
0.15 (4, 5) 0.5
S-D pair (N 6 : N 3)
Probability
(3, 1)
0.4
(2, 1) (3, 2, 1)
[N 6, N 4, N 3] 0.10
(7, 5) (6, 7, 5, 3)
0.3
(4, 3) (3, 1)
[N 6, N 7, N 5, N 3] 0.2
(3, 5) (1, 3, 5)
0.05
(2, 4) (6, 4, 3)
0.1
(5, 3) (1, 2, 4, 5)
0.000 0.00
2000 4000 6000 8000 10000 2000 4000 6000 8000 10000
MAC iteration index (i) MAC iteration index (i)
The network sustains an optimal solution regardless of the variation.
14/15
33. Conclusions and Contribution
Conclusions
We have theoretically designed the protocol for cross-layer flow
control, routing and MAC networks
- Link capacity variation
- ALOHA random access MAC
- Predefined routes
- Flow control under harmonic rate function
We have purposed the distributive algorithm for the system.
- The algorithm works under the stationary and ergodic assumptions.
- The network’s operation sustain an optimal solution regardless of
the variation.
Contribution
We, first time, cooperate link capacity variation into the
optimization decompostion framework.
15/15