Horizon: Balancing TCP over multiple paths in wireless mesh networks

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Internet Protocols Steven Low CS/EE netlab.CALTECH.edu October 2004 with J. Doyle, L. Li, A. Tang, J. Wang.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
DYNAMIC POWER ALLOCATION AND ROUTING FOR TIME-VARYING WIRELESS NETWORKS Michael J. Neely, Eytan Modiano and Charles E.Rohrs Presented by Ruogu Li Department.
CS 408 Computer Networks Congestion Control (from Chapter 05)
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
EE 4272Spring, 2003 Chapter 10 Packet Switching Packet Switching Principles  Switching Techniques  Packet Size  Comparison of Circuit Switching & Packet.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
EE 122: Router Design Kevin Lai September 25, 2002.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
1 TDMA Scheduling in Competitive Wireless Networks Mario CagaljHai Zhan EPFL - I&C - LCA February 9, 2005.
Multipath Protocol for Delay-Sensitive Traffic Jennifer Rexford Princeton University Joint work with Umar Javed, Martin Suchara, and Jiayue He
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
L13. Shortest path routing D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2014.
Improving Capacity and Flexibility of Wireless Mesh Networks by Interface Switching Yunxia Feng, Minglu Li and Min-You Wu Presented by: Yunxia Feng Dept.
Switching breaks up large collision domains into smaller ones Collision domain is a network segment with two or more devices sharing the same Introduction.
Link Scheduling & Queuing COS 461: Computer Networks
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Illinois Center for Wireless Systems Wireless Networks: Algorithms and Optimization R. Srikant ECE/CSL.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
William Stallings Data and Computer Communications
MAC Protocols for Sensor Networks
Impact of Interference on Multi-hop Wireless Network Performance
IMPROVING OF WIRELESS MESH NETWORKS.
Architecture and Algorithms for an IEEE 802
Topics discussed in this section:
Presented by Tae-Seok Kim
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
CS 268: Router Design Ion Stoica February 27, 2003.
TCP Congestion Control
Resource Allocation in Non-fading and Fading Multiple Access Channel
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
TCP Congestion Control
TCP, XCP and Fair Queueing
Computer Network Performance Measures
William Stallings Data and Computer Communications
IEEE Student Paper Contest
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
High Throughput Route Selection in Multi-Rate Ad Hoc Wireless Networks
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Distributed Channel Assignment in Multi-Radio Mesh Networks
Computer Network Performance Measures
Kevin Lee & Adam Piechowicz 10/10/2009
CS 268: Lecture 4 (TCP Congestion Control)
Congestion Control (from Chapter 05)
Self Organized Networks
On-time Network On-chip
Switching Techniques.
Congestion Control (from Chapter 05)
Yiannis Andreopoulos et al. IEEE JSAC’06 November 2006
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Hemant Kr Rath1, Anirudha Sahoo2, Abhay Karandikar1
TCP Congestion Control
Tony Sun, Guang Yang, Ling-Jyh Chen, M. Y. Sanadidi, Mario Gerla
Congestion Control (from Chapter 05)
Centralized Arbitration for Data Centers
Xiuzhen Cheng Csci332 MAS Networks – Challenges and State-of-the-Art Research – Wireless Mesh Networks Xiuzhen Cheng
TCP Congestion Control
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Large-Scale Deterministic Network Update
Presentation transcript:

Horizon: Balancing TCP over multiple paths in wireless mesh networks Bozidar Radunovic, Christos Gkantsidis, Dinan Gunawardena, Peter Key Microsoft Research Cambridge, UK

Wireless Mesh Networks

Goals Efficient use of resources “Fair” allocation of resources Use multiple paths “Fair” allocation of resources Many users, long-distance vs. short-distance flows Good application performance TCP in particular Deployable on existing network Minor modifications of the existing 802.11 stack.

Outline Controlling the network: Backpressure Dealing with TCP Experimental results

Controlling the network: Backpressure Algorithms to achieve utilization, fairness, good experience? Protocol: Which node transmits? Which user/flow takes priority? Where to forward the packets? Our answer: Backpressure-based algorithms Packet Queue Flow A Flow B Essence of backpressure: give priority to Nodes that have smaller queues Difficult to implement Flows that have smaller number of packets Provably optimal Very long theoretical support

Backpressure challenges Flow A Flow B Our goal: First to implement backpressure for wireless meshes Lots of theory, no practice so far Lots of challenges arise from practical constraints Use multiple paths Provide good performance for current applications Applications TCP Control Loop Backpressure control Wireless interactions Examples: Queuing by pressure triggers TCP congestion control Back-pressure increases delay Limited TCP window size penalizes path estimation Out-of-order packet arrivals ... And many others Complex Interactions

Our Multi-Path Routing Input: queuei(f): packet from flow f queued at node i Output: Ci(f): cost from node i to destination of flow f bestFlowi: the flow to select for transmission at i bNHi(f): the best next hop at i for flow f Algorithm at node i: Select where to transmit a packet: bNH(f)i = bestNextHopi(f) = argminj (queuei(f) / rate(i,j) + Cj(f)) Select the flow from which to transmit a packet: bestFlowi = argmaxf (queuei(f) / rate(i,bNHi(f))) Update costs: Ci(f) = maxf(queuei(f) / rate(i,bNHi(f))) + CbNHi(f) Propagate costs

Simple Example Main advantages: Comparison: Our scheme : 4 packets Back-pressure: 13 packets C1(1) = 4 S1 C2(2) = 6 C2(1) = 6 100 100 C1(1) = 2 C1(1) = 2 C3(1)= 4 Main advantages: Minimal queuing: queue sizes do not grow with network Estimates path quality with realistic TCP window size Fast convergence S2 2 4 D2 C5(1) = 0 C3(1) = 2 C2(1) = 2 C4(1) = 0 100 100 C5(1) = 0 C6(1) = 0 C4(1) = 0 D1

Outline Controlling the network: Backpressure Dealing with TCP Experimental results

Challenges dealing with TCP (1) Our system performs congestion control ... ... so does TCP ... need to make sure that they are compatible Idea: signal congestion to TCP ECN-like approach in some cases we communicate congestion by generating duplicate ACKs

Challenges dealing with TCP (2) Recall: We use multiple paths ... ... TCP gets confused (path delay estimation, out of order delivery, etc.) Solution: Use reassemble queue: Minimize packet reordering Avoid time-outs at all costs TCP

Outline Controlling the network: Backpressure Dealing with TCP Experimental results

Load balancing across two flows Performance decreased: need more channels or better MAC Both total rate and fairness improved No significant difference Flow S2-D2 stops ~ double the rate for both flows 2 disjoint areas Only 6 nodes are dual-homed

Multi-homed networks Different access points/base stations Same or different radios 2 1.5 1 0.5 Single flow Relative improvement

More flows More flows → all resources used → cannot increase total rate Instead, we improve fairness (e.g. smallest rate) 8 flows

Goals Efficient use of resources “Fair” allocation of resources Use multiple paths “Fair” allocation of resources Many users, long-distance vs. short-distance flows Good application performance TCP in particular Deployable on existing network No modifications of the existing 802.11 stack. How to select paths? Other types of traffic? How to deal with UDP? What can we do with small changes?

Thank You

Optimizing utility of the network Assume set of flows F, with fF Flow conservation constraint: For each node i and flow f: Total flow into i for f = Total flow out of i for f Wireless constraints: Feasible node transmission scheduling and rates Goal: max U(f) f where U(f) is the utility function, e.g. U(f) = log(xf), xf is the rate of f

Dual optimization problem Primal problem Dual problem Goal: Maximize rate Link constraints i.e. rates & scheduling Goal: Minimize cost Link costs (price) Solution of dual problem Backlog

Challenges implementing dual problem Goal: Minimize cost Link prices Difficulties: Scheduling is NP-hard Scheduling difficult to decentralize Backpressure assumes queuing in the network Use 802.11 scheduling Schedule only flows ⇒Approximate Does NOT work well with TCP