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