XPRESS_Neight - Network and Systems Lab
Download
Report
Transcript XPRESS_Neight - Network and Systems Lab
XPRESS: A CROSS-LAYER BACKPRESSURE
ARCHITECTURE FOR
WIRELESS MULTI-HOP NETWORKS
Rafael Laufer, Theodoros Salonidis, Henrik
Lundgren, Pascal Le Guyadec, MobiCom2011
2011/12/19 study group
by Neight
OUTLINE
Motivation
XPRESS
Backpressure Scheduling & Routing
Cross-Layer Protocol Stack
Contorl Plane
Congestion control
Optimal Schedule Computation
MOTIVATION
Wireless multi-hop networks operate below capacity
Poor coordination across layers
Poor coordination among transmitting nodes
How to achieve the network capacity?
NEW IDEA
A radical alternative by advocating cooperation among the multiple
layers of the protocol stack
algorithm which, in theory, achieves the network capacity
NEW IDEA
•
•
•
•
Backpressure scheduling & Routing
Cross-Layer cooperation
Select optimal link set for transmission
TDMA MAC protocol
NEW IDEA
XPRESS
XPRESS VIEW
Internet
Mesh access point (MAP)
Sends queue lengths
Executes the schedule
Cross-layer protocol stack
MC
Mesh controller (MC)
GW
MAP
Receives flow queue lengths
Computes schedule
Disseminates schedule
CS
…
DS
…
…
Frame k
…
CHALLENGES
Practical challenges
1.
2.
3.
4.
5.
6.
Time slots: TDMA MAC in multi-hop networks
Link sets: Knowledge of non-interfering links
Protocol overhead: Queue backlogs known at each slot
Computation overhead: Exhaustive search over links sets
Link scheduling: Backpressure schedules links, not nodes
Hardware constraints: Memory limitations at wireless cards
Backpressure so far a theoretical concept
No real system implementing backpressure to date
8
ALGORITHM
Backpressure Scheduling
BACKPRESSURE SCHEDULING & ROUTING
Flow schedule and Routing
*
f
For each link ( i,j ), select the flow i , j with the
maximum queue differential backlog
f *i , j arg max qif q jf
f F
Link Schedule
f
f
w
max
q
q
Compute the weight of linki, j as ij
i
j
f
Select links to maximize * arg max w
μ
ij
(i , j )
Transmit chosen flows on the selected links
ij
BACKPRESSURE SCHEDULING & ROUTING
3
6
2
3
B
A
5
2
1
3
6
4
5
4
C
D
7
8
1
7
Transmission:
During the time slot, a selected link ( i,j ) transmits a
packet from flow f *i , j
using rate *
IMPLEMENT
Backpressure Scheduler
BACKPRESSURE SCHEDULER
Challenge: compute optimal schedule per slot
Knowledge of queue backlogs at each slot
Speculative scheduling: estimate queue backlogs
Challenge: schedule computation takes time
MC
During frame
, compute the schedule for frame
Estimate Q(k 1)
Compute S(k 1)
S (k )
Q(k )
MAP
k
CS
Execution of S (k )
Frame k
DS
S(k 1)
k 1
Estimate Q(k 2)
Compute S (k 2)
Q(k 1) Execution of S(k 1)
CS
Frame k 1
DS
IMPLEMENT
Cross-Layer cooperation
XPRESS CROSS-LAYER PROTOCOL STACK
Link
Flow Schedule
Classifier
Flow
Classifier
FlowQ
LinkQ
A1
Time
PreQ
Link Schedule
.
.
.
An
User
Congestion
Packet
Packet
Per-Flow
Slot
t+1
Control
Scheduler
Scheduler
Queues
Forward
Per-Link
Congestion
Flow
Link
scheduler
queues
scheduler
control
at enforces
enforces
the ensures
kernel
schedule,
schedule
address
flow rates
the
Link queues required for link scheduling
are within
limited
and
respecting
avoids
memory
the
TDMA
overflows
capacity
inslot
theat
boundaries
firmware
region
theQueues
firmware
Local
Kernel
Firmware
Wireless
15
XPRESS CROSS-LAYER PROTOCOL STACK
•
•
•
•
•
•
XPRESS flows:
General and can easily accommodate other flow definitions.
compared to the usual 5-tuple flow definition of source and destination IP
addresses, source and destination transport ports, and transport protocol
(i.e., TCP or UDP),
this design decision reduces processing and communication overhead in
XPRESS at the expense of flow granularity
Congestion control and flow scheduling:
Each flow has two individual queues, namely, a pre-queue (PreQ) and a flow
queue (FlowQ)
Congestion control is performed according to and depends only on the
length of the local FlowQ.
A longer FlowQ reduces the allowed input rate, while a shorter FlowQ allows
a higher rate.
XPRESS CROSS-LAYER PROTOCOL STACK
•
•
•
•
Link scheduling:
The MAC protocol keeps an individual queue for each neighbor in order to
enable link scheduling, which allows a higher spatial reuse than node
scheduling.
The slotted MAC, realized by a TDMA MAC protocol maintains network-wide
node synchronization, and ensures that transmissions occur strictly within
slot boundaries
Packet reception and forwarding:
Once a packet is received, it is first filtered based on the destination MAC
address and then inserted into a single receive queue (RxQ) at the firmware.
The packet is delivered to the network layer at the kernel, where it is routed
and tagged for local delivery or forwarding
IMPLEMENT
Contorl Plane
CONTORL PLANE
IMPLEMENT
Congestion Control
CONGESTION CONTROL
A simple distributed congestion control algorithm
where the source s of each flow f adjusts the flow rate x f
as
*
f
1
f
x
f
arg max U f ( x f ) x f qs U f ' (qs )
x f 0
f
q
where s is the queue backlog for flow f at the source s and
U f '1 (qs f ) is the inverse of the first derivative of the utility
function U f (.) at the point qs f
In XPRESS U f ( x f ) k *log( x f ), k 100
x * f k / qs f
MORE IMPLEMENT PROBLEM
Optimal Schedule Computation
OPTIMAL SCHEDULE COMPUTATION
For each slot, exhaustive search over all link sets
Find link set which maximizes the sum of weights
Binary interference in TDMA MAC over 802.11 PHY
Links have either low or high PDR Conflict graph
Maximum weighted independent set (MWIS)
MWIS computation takes 100 µs for testbed
23
A DIRECT APPROACH
Finding the link transmission sets and their
capacities is a challenge because each link capacity
depends on both the channel condition and the
interference created by the other links in the set. A
direct approach requires O ( N r × 2L)
BINARY INTERFERENCE EXPERIMENT
Define:
The capacity μ ij of each link ( i,j ) is estimated on a
TDMA frame time scale as Pij × Rij
• Pij is the packet delivery ratio (PDR) and
• Rij is the PHY rate of link ( i,j ) during the TDMA frame.
BINARY INTERFERENCE EXPERIMENT
In order to understand how interference manifests in
our TDMA system, we perform experiment for all link
pairs that do not share a node in testbed
The links of each pair simultaneously transmit
backlogged UDP traffic for 1 minute using broadcast
packets at 24 Mbps PHY rate. During this time, the
receivers measure the received signal strength (RSS)
and PDR values at each TDMA frame
BINARY INTERFERENCE
MORE IMPLEMENT PROBLEM
In Backpress scheduler:
Binary interference MWIS
maximum weight independent set (MWIS) computation in system due to
binary interference.
The MWIS computation is an NP-hard
implementation is based on an algorithm for enumerating maximal
independent sets at the beginning of each frame. We then find the
MWIS using a linear search over the independent sets.
Heap structure
For efficiency, these sets could be stored in a heap structure keyed by
their weights.
At each slot, queue lengths change, which triggers a heap update. After
the update, the new MWIS can be found as the root of the heap
MWIS
http://www.csie.ntnu.edu.tw/~u91029/Matching.html
GENERATE CONFLICT GRAPH
Use RSS measurement:
This results in one RSS measurement per frame for each link.
Based on these measurements, we estimate the signal-tointerference ratio (SIR) of a link ( i,j ) under the interference
of a transmitting node k as the difference S ij − S kj ,
between S ij , the RSS of link ( i,j ), and S kj , the RSS of link
( k,j ), both in dBm. If the SIR of the link exceeds a threshold,
which depends on the PHY rate, the link PDR is
estimated“high.”
GENERATE CONFLICT GRAPH
RSS BASE PROBLEM:
• RSS values reported by 802.11 wireless cards can be highly
inaccurate due to the type of hardware, poor calibration,
environmental conditions, location, temperature, multi-path
effects, and external interference.
• it relies on the RSS of decoded packets and hence cannot
detect hidden interferers which are within interference range,
but not within communication range.
Solution:
• use PDR measurements
IMPLEMENT CONFLICT GRAPH
The MC uses a conflict graph to represent interference
in the network. A vertex vij in the conflict graph
corresponds to the link ( i,j ) in the network graph.
An edge between vertices vij and vkl denotes
interference between links ( i,j ) and ( k,l ) in either the
DATA or ACK directions.
The vertex independent sets in the conflict graph
correspond to the link transmission sets.
The conflict graph update mechanism is executed at
each TDMA frame, after the MC receives the RSS and
PDR measurements.
The conflict graph construction occurs in two stages.
CONFLICT GRAPH
STAGE1
If Sij is not measured, the transmission from i to j is
estimated outside of communication and interference
range.
MC creates a vertex vij in the conflict graph
R
if S ij ≥ j
the RX sensitivity threshold of receiver j at PHY rate R .
MC adds an edge between each pair of vertices vij and
vkl in the conflict graph if either they share a common
node or if the SIR of DATA or ACK directions is less than
the SIR receiver threshold R j at PHY rate R
STAGE2
For each link ( i,j ) selected by the first stage, the MC checks
its reported PDR value Pij . If Pij ≥ 90%, the link remains in the
conflict graph. Otherwise, MC finds hidden interferers.
The MC identifies the hidden interferers using the
connectivity graph.
we assume that the hidden interferers of link ( i,j ) are those
transmitters in Iij which are two-hop neighbors of either i or j .
For each such node k , the algorithm adds an edge between
vertex vij and vertex vkl in the conflict graph.
If link ( i,j ) fails again in the same set Iij during the next
TDMA frame, the three-hop neighbors of i and j can be
considered, until the hidden interferers are detected.
LIKE FOUR COLOR THEOREM
http://www.csie.ntnu.edu.tw/~u91029/Coloring.html
IF NEED SOME REFERENCE
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/HeapSort.htm
INTERFERENCE ESTIMATION
Knowledge of interference to build conflict graph
Naive approach: measure each link set at all rates
Measurement complexity O( R 2L )
RSS measurements taken on each TDMA frame
Control packets used to measure RSS
Link RSS used to compute SIR threshold per PHY rate
Measurement complexity reduced to O(N )
RSS limited only to decoded packets
PDR measurements also taken on each TDMA frame
Detection of hidden interferers
38
OTHER ISSUES
Link queue:
• Head-of-blocking
• This problem may occur if we have wireless losses
and the packet at the head of the queue is destined
for a different neighbor than the one assigned for the
slot, resulting in no packet transmitted during that
slot.
HEAD-OF-BLOCKING
當封包流入的總和比交換switch的速度快封包會被儲
存在input queue等待交換。
Head-of-the-Line (HOL) blocking: 在等待交換的封包影響
後來的封包進行交換 (queue的特性)。
擷取自計算機網路概論 課程投影片
CONTRIBUTIONS
Design and implementation of XPRESS
First throughput-optimal backpressure system
Backpressure challenges addressed
1.
2.
3.
4.
5.
6.
Time slots: multi-hop TDMA MAC & time synchronization
Link sets: RSS-based interference estimation
Protocol overhead: Multi-slot framing and speculation
Computation overhead: Binary interference MWIS
Link scheduling: Individual link queues at the MAC
Hardware constraints: Network/MAC queue coordination
41
802.11A INDOOR TESTBED
MAP node
1.6 GHz CPU, 512 MB RAM
Linux OS / BP kernel module
802.11 Technicolor card (5 GHz)
Customized firmware (TDMA/link scheduling)
Mesh controller
2.7 GHz CPU, 16 GB RAM
42
MULTI-HOP: MULTI-PATH TOPOLOGY
Ability of XPRESS to exploit multiple paths
One flow between extreme nodes
XPRESS allowed to use every link available
802.11 uses the shortest ETX path
http://nccur.lib.nccu.edu.tw/bitstream/140.119/32668/6/97101206.pdf
43
MULTI-HOP
Throughput test
Use Iperf
MULTI-HOP: MULTI-PATH TOPOLOGY
Coordination & path diversity higher network throughput
45
MULTI-HOP
Select short path (less hops)
Delay is linear increase after meet throughput
QUEUE BACKLOG ESTIMATION ERROR
Accurate predictions XPRESS reaches network capacity
47
OVERHEAD: COMPUTATION
MWIS computation for optimal schedules
In theory, MWIS is NP-hard
In practice, polynomial with the number of links
48
OVERHEAD: COMPUTATION
MWIS computation is feasible for practical network sizes
49
OVERHEAD: PROTOCOL
Each frame
Queue backlogs sent from the MAPs to the MC
Computed schedule sent from the MC to MAPs
Time to exchange this on the control subframe
50
OVERHEAD: PROTOCOL
(50 nodes, 10 ms)
Control exchange feasible for practical network sizes
51
CONCLUSIONS
Design and implementation of XPRESS
Cross-layer backpressure architecture
First throughput-optimal backpressure scheduling
XPRESS integrates backpressure with TDMA MAC
XPRESS achieves the network capacity
High throughput gains in practice
Feasible for practical network sizes
52