On Flow-Aware CSMA
in Multi-Channel Wireless Networks
Mathieu Feuillet Joint work with Thomas Bonald CISS 2011
On Flow-Aware CSMA in Multi-Channel Wireless Networks Mathieu - - PowerPoint PPT Presentation
On Flow-Aware CSMA in Multi-Channel Wireless Networks Mathieu Feuillet Joint work with Thomas Bonald CISS 2011 Outline Model Background Standard CSMA Flow-aware CSMA Conclusion Outline Model Background Standard CSMA Flow-aware CSMA
Mathieu Feuillet Joint work with Thomas Bonald CISS 2011
Model Background Standard CSMA Flow-aware CSMA Conclusion
Model Background Standard CSMA Flow-aware CSMA Conclusion
The network is represented by a set of conflict graphs, one per channel. 1 2 3 1 2 3 Channel 1 Channel 2
The network is represented by a set of conflict graphs, one per channel. 1 2 3 1 2 3 Channel 1 Channel 2 Conflict graphs on different channels can be different.
1 2 3 1 2 3 Channel 1 Channel 2 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}.
1 2 3 1 2 3 Channel 1 Channel 2 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}.
1 2 3 1 2 3 Channel 1 Channel 2 1 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}.
1 2 3 1 2 3 Channel 1 Channel 2 2 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}.
1 2 3 1 2 3 Channel 1 Channel 2 3 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}.
1 2 3 1 2 3 Channel 1 Channel 2 1 3 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}.
1 2 3 1 2 3 Channel 1 Channel 2 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}. ◮ {(1, 2)}, {(2, 2)}, {(3, 2)},{(1, 2), (3, 2)}.
1 2 3 1 2 3 Channel 1 Channel 2 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}. ◮ {(1, 2)}, {(2, 2)}, {(3, 2)},{(1, 2), (3, 2)}. ◮ {(1, 1), (2, 2)}, {(1, 2), (2, 1), (3, 1)},. . .
1 2 3 1 2 3 Channel 1 Channel 2 1 2 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}. ◮ {(1, 2)}, {(2, 2)}, {(3, 2)},{(1, 2), (3, 2)}. ◮ {(1, 1), (2, 2)}, {(1, 2), (2, 1), (3, 1)},. . .
1 2 3 1 2 3 Channel 1 Channel 2 2 1 3 Schedules:
◮ ∅, {(1, 1)}, {(2, 1)}, {(3, 1)},{(1, 1), (3, 1)}. ◮ {(1, 2)}, {(2, 2)}, {(3, 2)},{(1, 2), (3, 2)}. ◮ {(1, 1), (2, 2)}, {(1, 2), (2, 1), (3, 1)},. . .
We assume time-scale separation between flow-level and packet-level dynamics.
◮ At the packet level, the number of flows is fixed. ◮ At the flow level, the packet-level dynamics are at
equilibrium: the throughput of each node is the fraction
We assume time-scale separation between flow-level and packet-level dynamics.
◮ At the packet level, the number of flows is fixed. ◮ At the flow level, the packet-level dynamics are at
equilibrium: the throughput of each node is the fraction
Example: 1 2 3 ϕ1 = p{1} + p{1,3}, ϕ2 = p{2}, ϕ3 = p{3} + p{1,3}.
Defined as the set of all feasible link throughputs ϕk =
Schedule i Probability of schedule i Throughput of node k
Defined as the set of all feasible link throughputs ϕk =
Schedule i Probability of schedule i Throughput of node k
Example: 1 2 3 Schedules: ∅, {1}, {2}, {3}, {1, 3}. Capacity region: {ϕ1 + ϕ2 ≤ 1, ϕ2 + ϕ3 ≤ 1}.
Defined as the set of traffic intensities such that the network is stable. ρk = λk × σk Example: 1 2 3 ρ1 ρ2 ρ3 The stability region depends on the algorithm.
Defined as the set of traffic intensities such that the network is stable. ρk = λk × σk
Flows arrival rate
Defined as the set of traffic intensities such that the network is stable. ρk = λk × σk
Flows arrival rate Mean flow size
Defined as the set of traffic intensities such that the network is stable. ρk = λk × σk
Traffic intensity Flows arrival rate Mean flow size
The stability region of any algorithm is included in the capacity region. The interior of the capacity region is called the optimal stability region.
The stability region of any algorithm is included in the capacity region. The interior of the capacity region is called the optimal stability region. Example: 1 2 3 Optimal stability region: {ρ1 + ρ2 < 1, ρ2 + ρ3 < 1}.
Model Background Standard CSMA Flow-aware CSMA Conclusion
T assiulas & Ephremides 92 maxwi(x) =
xk
T assiulas & Ephremides 92 maxwi(x) =
xk Example: 1 2 3 x1 + x3 > x2 ⇒ schedule {1, 3} x1 + x3 < x2 ⇒ schedule {2}
Mc Keown 95 maxxk Dimakis & Walrand 06 Efficiency 8
9 ≈ 0.89
Mc Keown 95 maxxk Dimakis & Walrand 06 Efficiency 8
9 ≈ 0.89
Charporkar, Kar & Sarkar 95 max |Si| Bonald & Massoulié 01 Efficiency ≈ 0.76
Adaptative rate-based CSMA Jiang & Walrand 08
◮ Measure the packet input and output rates and adapt the
back-off accordingly.
◮ Learning algorithm.
Adaptative rate-based CSMA Jiang & Walrand 08
◮ Measure the packet input and output rates and adapt the
back-off accordingly.
◮ Learning algorithm.
Adaptative queue based CSMA Rajagopolan, Shah & Shin 09
◮ Adapt the back-off according to the loglog of the queue
length.
◮ Some technical assumptions.
Model Background Standard CSMA Flow-aware CSMA Conclusion
Probe a channel at random, after some random backoff time. 1 1 1 α/2 α/2 1 1 ∼ exp(α) Back-off ∼ exp(1) Transmission ∼ exp(α) Back-off ϕ1(x) = α 1 + α
Probe a channel at random, after some random backoff time. 1 1 1 α/2 α/2 1 1 ∼ exp(α) Back-off ∼ exp(1) Transmission ∼ exp(α) Back-off ϕ1(x) = α 1 + α Stability region:
α 1+α
α→∞ − − − → {ρ1 < 1}
wi(x) =
Weight of schedule i Ratio of transmission time to virtual backoff time at link k
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1
wi(x) =
Weight of schedule i Ratio of transmission time to virtual backoff time at link k
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1 ∅ : wi(x) = 1
wi(x) =
Weight of schedule i Ratio of transmission time to virtual backoff time at link k
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1 1 {(1, 1)} : wi(x) = α
wi(x) =
Weight of schedule i Ratio of transmission time to virtual backoff time at link k
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1 1 2 {(1, 1), (2, 2)} : wi(x) = α2
wi(x) =
Weight of schedule i Ratio of transmission time to virtual backoff time at link k
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1 1 2 3 {(1, 1), (2, 2), (3, 1)} : wi(x) = α3
wi(x) =
Weight of schedule i Ratio of transmission time to virtual backoff time at link k
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1 wi(x) = αn for n active links
ϕk(x) =
Throughput of link k Probability of schedule i
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 α α α 1 1 1 α α α 1 1 1 ϕ1(x) = ϕ3(x) = 2α + 6α2 + 2α3 1 + 6α + 8α2 + 2α3 , ϕ2(x) = 2α + 4α2 + 2α3 1 + 6α + 8α2 + 2α3
α ≫ 1
0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
ρ1 = ρ3 ρ2
Optimal Actual
1 2 3 Homogeneous case ρ1 = ρ2 = ρ3 Efficiency ≈ 0.84.
α ≫ 1
0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
ρ1 = . . . = ρ4 ρ5
Optimal Actual
1 5 2 3 4 Homogeneous case ρ1 = . . . = ρ5 Efficiency ≈ 0.85
Model Background Standard CSMA Flow-aware CSMA Conclusion
Proposed modification of CSMA: Exponential backoff time for each flow 1 1 1 αx1/2 αx1/2 1 1 ∼ exp(αx1) Back-off ∼ exp(1) Transmission ∼ exp(αx1) Back-off ϕ1(x) = αx1 1 + αx1
Proposed modification of CSMA: Exponential backoff time for each flow 1 1 1 αx1/2 αx1/2 1 1 ∼ exp(αx1) Back-off ∼ exp(1) Transmission ∼ exp(αx1) Back-off ϕ1(x) = αx1 1 + αx1 Stability region: {ρ1 < 1}
wi(x) =
Weight of schedule i Ratio of transmission time to virtual back-
channel j
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 αx1 αx2 αx3 1 1 1 αx1 αx2 αx3 1 1 1
wi(x) =
Weight of schedule i Ratio of transmission time to virtual back-
channel j
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 αx1 αx2 αx3 1 1 1 αx1 αx2 αx3 1 1 1 ∅ : wi(x) = 1
wi(x) =
Weight of schedule i Ratio of transmission time to virtual back-
channel j
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 αx1 αx2 αx3 1 1 1 αx1 αx2 αx3 1 1 1 1 {(1, 1)} : wi(x) = αx1
wi(x) =
Weight of schedule i Ratio of transmission time to virtual back-
channel j
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 αx1 αx2 αx3 1 1 1 αx1 αx2 αx3 1 1 1 1 2 {(1, 1), (2, 2)} : wi(x) = α2x1x2
wi(x) =
Weight of schedule i Ratio of transmission time to virtual back-
channel j
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 αx1 αx2 αx3 1 1 1 αx1 αx2 αx3 1 1 1 1 2 3 {(1, 1), (2, 2), (3, 1)} : wi(x) = α3x1x2x3
ϕk(x) =
Throughput of link k Probability of schedule i
Example: Assume αk,j = α for k = 1, 2, 3 and j = 1, 2. 1 2 3 1 2 3 1 2 3 αx1 αx2 αx3 1 1 1 αx1 αx2 αx3 1 1 1 ϕ2(x) ∝ 2α3x1x2x3 + 2α2x2(x1 + x3) + 2αx2
The flow-aware CSMA algorithm is optimal: for any number
network for all traffic intensities inside the capacity region. Sketch of proof:
◮ When the number of flows is high, the algorithm behaves
as max-weight: the algorithm selects schedules of high weight with high probability.
◮ Proof based on Foster’s criterion.
. . . . . . Homogeneous load α = 1
0.2 0.4 0.6 0.8 1 0.2 0.4
Load Flow throughput Standard CSMA
1 channel 2 channels 3 channels 0.2 0.4 0.6 0.8 1 0.2 0.4
Load Flow throughput Flow-aware CSMA
1 channel 2 channels 3 channels
1 5 2 3 4 α = 1 1 packet per flow
0.2 0.4 0.6 0.2 0.4
Load Flow throughput Center link
With Without 0.2 0.4 0.6 0.2 0.4
Load Flow throughput Edge link
With Without
Model Background Standard CSMA Flow-aware CSMA Conclusion
A simple, distributed, asynchronous access scheme that is provably optimal. A theoretical issue:
◮ Time-scale separation
Extensions of the model:
◮ Collisions ◮ Throughput performance