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 linki, 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