wqm: practical, adaptive, and lightweight wireless queue … · 2016-10-05 · • buffers exist at...

49
Basem Shihada Computer Science & Electrical Engineering CEMSE, KAUST University of Waterloo Seminar December 8 th , 2014 WQM: Practical, Adaptive, and Lightweight Wireless Queue Management System

Upload: others

Post on 28-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Basem ShihadaComputer Science & Electrical Engineering

CEMSE, KAUST

University of Waterloo Seminar

December 8th, 2014

WQM: Practical, Adaptive, and Lightweight Wireless Queue

Management System

Page 2: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

2

Page 3: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

3

Page 4: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

How Bad are the Delays?

Pan,Rong,etal."PIE:ALightweightControlSchemetoAddresstheBufferbloat Problem.".InProceedingsofthe2013IEEEConferenceonHighPerformanceSwitchingandRouting,July2013 4

Page 5: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

How Bad are the Delays (Bufferbloat)?

5

Measurementsinawiredaccessnetworkwithsystembackuptoaremoteserver.Consistentdelaysofover1sec.

Page 6: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Where are the Bloated Buffers?

6

• Buffers exist at multiple layers in the stack– Application layer

buffers– TCP socket buffers– Txqueue buffers– Device driver ring

buffers– Hardware buffers

K.Jamshaid,B.Shihada,A.Showail,andP.Levis,“DeflatinglinkbuffersinWirelessMeshNetworks",ElsevierJournalofAd-HocNetworks,Vol.16,pp.266-280,2014.

Page 7: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

LargeFTP

Txqueue buffers are Bloated

7

(packetà1500B)

1000packets

Page 8: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Problem Statement

lowutilization,lowdelays

highthroughput,highdelays

Determinebuffersizetobalancethroughputanddelaytradeoff

8

Page 9: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Buffer Sizing Rule of Thumb

9

Router needs a buffer size of

– RTT is the two-way propagation delay– C is the bottleneck link capacity

CRouterSender Receiver

RTT

B=RTTXC

Page 10: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Rule of Thump Exception in Wireless Networks

• Wireless link: abstraction for shared spectrum

• Variable Frame Aggregation• Variable Packet Inter-Service Rate• Adaptive link rates

Page 11: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Challenges in Wireless Networks

• Wireless link: abstraction for shared spectrum– Bottleneck spread over multiple nodes

11

Gateway to Internet

Page 12: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Challenges in Wireless Networks• Wireless link: abstraction for shared spectrum

– Bottleneck spread over multiple nodes

• Variable Frame Aggregation– Impact of large aggregates with multiple sub-frames

12

Page 13: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

A-MPDU Aggregate Size

N/A

64KB1MB

Page 14: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Challenges in Wireless Networks• Wireless link: abstraction for shared spectrum

– Bottleneck spread over multiple nodes

• Variable Frame Aggregation– Impact of large aggregates with multiple sub-frames

• Variable Packet Inter-Service Rate– Random MAC scheduling– Random noise and interference

14

Page 15: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Challenges in Wireless Networks• Wireless link: abstraction for shared spectrum

– Bottleneck spread over multiple nodes

• Variable Frame Aggregation– Impact of large aggregates with multiple sub-frames

• Variable Packet Inter-Service Rate– Random MAC scheduling– Sporadic noise and interference

• Adaptive link rates– With the default Linux buffer size, the time to empty a full buffer:

15

600Mb/s

6.5Mb/s

2ordersofmagnitude

A.Showail,K.Jamshaid,B.Shihada,“Buffersizinginwirelessnetworks:ChallengesandOpportunities",IEEECommunicationMagazine,Accepted,2014.

Page 16: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

• Wireless link: abstraction for shared spectrum• Variable Frame Aggregation• Variable Packet Inter-Service Rate• Adaptive link rates

16

Severeperformancedegradationonthroughput,delay,dropping

What about Wireless Multi-Hop?

Page 17: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

• Wireless link: abstraction for shared spectrum• Variable Frame Aggregation• Variable Packet Inter-Service Rate• Adaptive link rates

17

Severeperformancedegradationonthroughput,delay,dropping

Solution Framework

B.ShihadaandK.Jamshaid,"BufferSizingforMulti-hopWirelessNetworks,"U.S.PatentNo.:8,638,686.2014.

Page 18: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Collision Domains

18

6 5 4 3 2l6 l5 l4 l3

1l2

0l1

2-hopinterferencemodel:approximatesRTS/CTSusein802.11

Setofinterferinglinksthatcontendforchannelaccess

Page 19: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Bottleneck Collision Domain

19

6 5 4 3 2l6 l5 l4 l3

1l2

0l1

Setoflinksthatcontendwithmax.no.oflinks– Limitstheend-to-endrateofaflow

Page 20: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Bottleneck Collision Domain

20

6 5 4 3 2l6 l5 l4 l3

1l2

0l1

Setoflinksthatcontendwithmax.no.oflinks– Limitstheend-to-endrateofaflow

Page 21: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Bottleneck Collision Domain

21

6 5 4 3 2l6 l5 l4 l3

1l2

0l1

Setoflinksthatcontendwithmax.no.oflinks– Limitstheend-to-endrateofaflow

Page 22: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Bottleneck Collision Domain

22

6 5 4 3 2l6 l5 l4 l3

1l2

0l1

Setoflinksthatcontendwithmax.no.oflinks– Limitstheend-to-endrateofaflow

Page 23: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Instead of having big local buffers at each node consider thecombined effect of interfering nodes when sizing the buffer:

6 5 4 3 2l6 l5 l4 l3

1l2

0l1

Neighborhoodbuffersizeissumofbuffersofnodesinthebottleneckcollisiondomain(0through5)Note:Node6doesnotinterfere

Neighborhood Buffer

23

Page 24: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

DNB Distributed Neighborhood Buffer

24

1) DeterminebottleneckbufferB

1) Assignbi tonodess.t.

B = R*RTT

𝐵 = # 𝑏%�

%∈)*++,-.-/0

Page 25: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Assigning Per-node Buffer• Drops close to source are preferable• Introduces a generic cost function

– cost of drop increases with hop count

M is the # of nodes in the bottleneck collision domain25

min#𝐷𝑟𝑜𝑝𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦×𝑐𝑜𝑠𝑡𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛C

%DE

subjectto ∑ 𝑏𝑖 = 𝐵C%DE

and 𝑏𝑖 ≥ 0, ∀𝑖 ∈ 𝑀

Page 26: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

• Wireless link: abstraction for shared spectrum• Variable Frame Aggregation• Variable Packet Inter-Service Rate• Adaptive link rates

26

Severeperformancedegradationonthroughput,delay,dropping

Solution Framework

A.Showail,K.Jamshaid,B.Shihada,"AnEmpiricalEvaluationofBufferbloat inIEEE802.11nWirelessNetworks",IEEEWirelessCommunicationsandNetworkingConference(WCNC),pp.3088-3093,2014

Page 27: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Wireless Queue Management (WQM)

FrameAggregation LinkRate Channel

Utilization

adaptively set buffer size based on networkmeasurements

forcemax-minlimitsonqueue

size

queuing delay

vs. queue size

accountforchannelbusy

time

A.Showail,K.Jamshaid,andB.Shihada,"WQM:AnAggregation-awareQueueManagementSchemeforIEEE802.11nbasedNetworks",inProc.ACMSigcommCapacitySharingWorkshop(CSWS),pp.15-20,2014

Page 28: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Operations

28

R

BL

N

Buffer

1.InitialPhase

2.AdjustmentPhase( )

)(NFRBLTdrain =

Binitial = R ´ ARTT

Bmax > B > Bmin

Page 29: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Testbed Topology

29

Nodesetup:10DistributedShuttleNodesatBuilding1,Level4.Softwaresetup:CustomizedLinuxkernelforstatisticscollectionNetworktrafficsetup:Largefiletransfers

Page 30: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

30

DNBwithSingle-Flow

0

20

40

60

80

100

120

140

2-hop 3-hop 4-hopN

orm

aliz

ed d

elay

Topology

Delays normalized to results with proposed buffer sizes

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

2-hop 3-hop 4-hop

Nor

mal

ized

goo

dput

Topology

Goodput normalized to results with default buffer sizes

Two-orders of magnitude improvement in delay while achieving 90% goodput

Page 31: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

31

DNBwithMulti-Flows

Scheme Avg.goodput MeanRTT

Defaultbuffersize 786 1653

Proposedbuffersizing

712 91

Intersecting3-hop&4-hopflowsinour10-nodestestbed

Average RTT is reduced by a factor of 20 at the cost of 9% drop in goodput

Page 32: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Single Flow Multi-Hop Latency

1hop 2hops 3hops

32

224.4ms

90.43ms

49.47ms

Avg.

Page 33: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Single Flow Multi-Hop Goodput

33

Page 34: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Multi Flow Single-Hop Latency

1flow 3flows 5flows34

WQMreducesRTTby5xcomparedtodefaultbuffersand2xcomparedtoCoDel

Page 35: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Multi Flow Single-Hop Goodput

35

JFIforthedefaultbuffersizeis0.77comparedto0.99forbothWQMandCoDel

Page 36: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Multi Flow over a Single-Hop

36

w/o

WQMpreventsflowsfromfillingupthebuffersquicklywhilestarvingothers

Num.of

Flows

Default BufferSize WQM

Throughput(Mb/s)

RTT(ms)

Throughput(Mb/s)

RTT(ms)

1 155.7 61.51 134.35 13.1

2 78.43 65.8 69.21 13.47

3 51.96 420.66 45.77 14.19

4 39.22 213.19 33.96 14.91

5 31.38 937.56 27.41 14.93

Num.ofFlows

Jain’sfairnessindex(JFI)

Default BufferSize WQM

2 0.99 0.99

3 0.7 0.99

4 0.89 0.99

5 0.69 0.99

Latency improvement of >

5x with around10%

throughput drop

Page 37: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Multi Flow Multi Hop Results

Source 1st Hop 2nd Hop 3rd Hop

Flow # 1

Flow # 2

Flow # 3

37

Page 38: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Multi Flow over Multi-hops

38

Num.of

Flows

Default BufferSize WQM

Throughput(Mb/s)

RTT(ms)

Throughput(Mb/s)

RTT(ms)

1 68.32 169.44 61.08 33.76

2 34.52 165.3 32.1 35.32

3 22.89 177.09 20.4 38.83

4 17.06 186.29 15.94 38.55

5 13.76 193.47 12.54 38.2

WQM reduces RTT by 5× with the cost of 10% drop in throughput in the worst case

Page 39: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM Testbed Results

WQM adaptively sets queue size in response to changing network conditions39

Page 40: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

DefaultScheme ProposedScheme

Networktrafficsetup:1filetransferinthebackground+real-timecommunication

Latency:12ximprovement Average/Expectation:10ximprovement

Jitter: 17ximprovement Average/Expectation:10ximprovement

Data Traffic

Page 41: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Audio demo

• Network traffic setup: 1 file transfer in the background + 1 real-time audio stream

41

Wireless- Default Wireless- Proposed Wired

Page 42: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Video demo

• Network traffic setup: 1 file transfer in background + real-time video streaming

42

Page 43: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

WQM for KAUST New Energy Oases (NEO)

• WQM has been applied in practical scenarios in collaboration with KAUST Economic Development (Innovation Cluster).

• Testbed that consists of ten nodes has been configured to be integrated with the solar panels in order to replace the 3G modems provided by Mobily.

• Our solution was to forward all packets that come from the wired interface to the wireless interface within the hop itself without reconfiguring the solar panels itself.

• We configured the next hop based on a predefined routing table in a multi-hop fashion till the network gateway using our WQM technology.

Page 44: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

• The objective is to “fairly” allocate channel resources among WMN nodes 1,2,3.

• Proposed a distributed MAC layer protocol, called T-MAC, which extends Lamport’s mutual exclusion algorithm to frame scheduling in WMN.

• Using analytical modeling of TCP streams, we derive a closed-form solution for throughput2

• T-MAC implemented in ns-3. Our results achieve fairness while maintaining high network utilization3

1 F.Nawab,K.Jamshaid,B.Shihada,andP-H.Ho,"TMAC:Timestamp-orderedMACforCSMA/CAWirelessMeshNetworks",In Proc.IEEEICCCN2011.2 F.Nawab,K.Jamshaid,B.Shihada,andP-H.Ho,"MAC-LayerProtocolforTCPFairnessinWirelessMeshNetworks",InProc.IEEEICCC 2012.3F.Nawab,K.Jamshaid,B.Shihada,andP-H.Ho," FairPacketSchedulinginWirelessMeshNetworks",ElsevierJournalofAd-HocNetworks,Vol.13,PartB,pp.

414-427,2014.

Fairness in Wireless Multi-Hop

Page 45: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

• The objective is to minimize the energy consumption at the energy-critical nodes and the overall network transmission delay1,3.

• The transmission rates of energy-critical nodes are adjusted according to its local packet queue size.

• We proved that there exists a threshold type control which is optimal1.

• We implemented a decentralized algorithm to control the packets scheduling of these energy-critical nodes2,4.

1 L.XiaandB.Shihada,“DecentralizedTransmissionSchedulinginEnergy-CriticalMulti-HopWirelessNetworks"inProc.AmericanControlConference pp.113-118,2013.2 L.XiaandB.Shihada,“Max-MinOptimalityofServiceRateControlinClosedQueueing Networks,"IEEETransactionsonAutomaticControl,Vol.58,No.4,pp.1051-1056,2013.3 LiXiaandB.Shihada,"PowerandDelayOptimizationforMulti-HopWirelessNetworks," InternationalJournalofControl,Vol.87,No.6,pp.1252-1265,2014.4 L.XiaandB.Shihada,"AJacksonNetworkModelandThresholdPolicyforJointOptimizationofEnergyandDelayinMulti-HopWirelessNetworks",EuropeanJournalofOperationalResearch,Accepted,2014

Energy in Multi-Hop Networks

Page 46: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

KAUST NetLab Members

Page 47: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Collaborators

Prof. Kang Shin Prof.Pin-HanHo Prof.PhilipLevis Prof.RaduStoleru

Page 48: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Concluding Remarks• Challenge: Choosing the optimal queue size

in wireless networks• Proposed Solutions:

– DNB: sizing bottleneck buffers and distributing it among nodes

– WQM: chooses the queue size based on network load and channel condition

• Performance: Improvements in latency by at least 5x over default Linux buffers

• Feature: Improvements in network fairness by limiting the ability of a single flow to saturate the buffers

48

Page 49: WQM: Practical, Adaptive, and Lightweight Wireless Queue … · 2016-10-05 · • Buffers exist at multiple layers in the stack – Application layer buffers – TCP socket buffers

Questions/Comments/Feedback

49