scalable performance signalling and congestion avoidance · scalable performance . signalling. and...

42
U Innsbruck Informatik U Innsbruck Informatik - - 1 1 Scalable Scalable Performance Performance Signalling Signalling and Congestion and Congestion Avoidance Avoidance PhD PhD presentation presentation Supervisor Supervisor : Max Mühlhäuser 2nd : Max Mühlhäuser 2nd supervisor supervisor : Jon : Jon Crowcroft Crowcroft Abteilung Telekooperation, TU Darmstadt, Nov. 18th 2002 Abteilung Telekooperation, TU Darmstadt, Nov. 18th 2002 Michael Michael Welzl Welzl [email protected] [email protected] University of Linz University of Linz - - > University of Innsbruck > University of Innsbruck

Upload: dangliem

Post on 08-May-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

U Innsbruck Informatik U Innsbruck Informatik -- 11

ScalableScalable Performance Performance SignallingSignallingand Congestion and Congestion AvoidanceAvoidance

PhDPhD presentationpresentationSupervisorSupervisor: Max Mühlhäuser 2nd : Max Mühlhäuser 2nd supervisorsupervisor: Jon : Jon CrowcroftCrowcroftAbteilung Telekooperation, TU Darmstadt, Nov. 18th 2002Abteilung Telekooperation, TU Darmstadt, Nov. 18th 2002

Michael Michael [email protected]@uibk.ac.at

University of Linz University of Linz --> University of Innsbruck> University of Innsbruck

U Innsbruck Informatik U Innsbruck Informatik -- 22

OutlineOutline

• Problem identification / motivation

• Proposed solution

• Simulation results

• Conclusion

U Innsbruck Informatik U Innsbruck Informatik -- 33

Internet Congestion Internet Congestion ControlControl ((CCCC))

• Necessary to keep the Internet stable– prevent congestion collapse

• must be scalable (bad? old) idea:• no extra work for routers: congestion detected via packet loss in TCP

RED ECN

here: PTPhere:CADPC

Browser, FTP…

TCP, UDP…

IP, ICMP…

OSI:

7432

Browser, FTP, ..

UDP, TCP…

IP, ICMP…IP, ICMP… IP, ICMP…

• Later: some extra work for routers

– active queue management: RED, actual communication: ECN

U Innsbruck Informatik U Innsbruck Informatik -- 44

SomeSome problemsproblems withwith TCP(TCP(--likelike) CC) CC

• Special links (becoming common!):– noisy (wireless) links– “long fat pipes“ (large bandwidth*delay product)

• Stability issues– Fluctuations lead to regular packet drops + reduced throughput

=> problematic for streaming media– Stability depends on delay, capacity, load, AQM

• Rate hard to control / trace / predict– Load based charging difficult

• Main reason: binary congestion notification (E)CN– when it occurs, it‘s (almost) too late

U Innsbruck Informatik U Innsbruck Informatik -- 55

QualityQuality--ofof--ServiceService ↔↔ CCCC

• Separate research areas up to now!!

• Common goals– efficiently use available bandwidth– provide “good“ QoS

• Theory– AIMD, self-clocking, ..

• Practice– Problem with Multimedia

Guaranteed BandwidthAvailable Bandwidth

TCP Rate

QoS CC

TCP

TCP-friendlyResource

Reservation

AdaptiveMultimedia

Best forboth worlds?

U Innsbruck Informatik U Innsbruck Informatik -- 66

ProposedProposed SolutionSolution

• Totally different CC model– only rely on rare explicit bandwidth (=traffic) signaling

• Assumptions:

– extra forward signalling for CC = good idea (≠ common belief!!)

– router support

– mechanism must clearly outperform TCP to justify (even a little!) additional traffic

– timeouts necessary for loss of signalling packetsrate should not depend on round trip time RTT

U Innsbruck Informatik U Innsbruck Informatik -- 77

OutlineOutline

• Problem identification / motivation

• Proposed solution

– PTP framework

– CADPC

• Simulation results

• Conclusion

U Innsbruck Informatik U Innsbruck Informatik -- 88

PTP: PTP: thethe frameworkframework

--> class

Transmission mode

ContentType(s)

PerformanceParameter

End node behaviour

Forward Packet Stamping

CT 2/3 AvailableBandwidth

CADPC

--> instance

U Innsbruck Informatik U Innsbruck Informatik -- 99

PTP: PTP: thethe signallingsignalling protocolprotocol

• quasi “generic ECN” - to carry performance information(standardised Content Types, e.g. queue length, ..)– resembles ATM ABR and XCP

• Stateless + simple -> scalable!– all calculations @ end nodes

• Only every 2nd router needed for full functionality

• e.g. Available Bandwidth Determination:– nominal bandwidth (“ifSpeed“) + 2* (address + traffic counter (“if(In/Out)Octets“)

+ timestamp) = available bandwidth

• two modes:– Forward Packet Stamping– Direct Reply (not for available bandwidth (byte counters))

No problems w/ wireless links

unless combinedwith packet loss!

U Innsbruck Informatik U Innsbruck Informatik -- 1010

Forward Packet Forward Packet StampingStamping: : howhow itit worksworks

U Innsbruck Informatik U Innsbruck Informatik -- 1111

Forward Packet Forward Packet StampingStamping: : howhow itit worksworks

U Innsbruck Informatik U Innsbruck Informatik -- 1212

Forward Packet Forward Packet StampingStamping: : howhow itit worksworks

U Innsbruck Informatik U Innsbruck Informatik -- 1313

OutlineOutline

• Problem identification / motivation

• Proposed solution

– PTP framework

– CADPC

• Simulation results

• Conclusion

U Innsbruck Informatik U Innsbruck Informatik -- 1414

CADPC: a CADPC: a newnew CC CC mechanismmechanism

• “Congestion Avoidance with Distributed Proportional Control“fully distributed convergence to max-min fairness

• Idea:– relate user‘s current rate to the state of the system (also in LDA+)

In the Chiu-Jain-diagram, if the rate increase factor is indirectlyproportional to the user‘s current rate, the rates will equalise.

• From:– erx = 1 + d* rup = 1 + rup * (1 - traffic/r0)

• To:– erx = 1 + d * (1 - myRate/d)

• Final formula (normalised with Bottleneck capacity):x(t+1) = x(t)a(1-x(t)-traffic)+x(t)

relatetraffic : target rate

relateuser‘s rate : available bandwidth

U Innsbruck Informatik U Innsbruck Informatik -- 1515

CADPC, CADPC, contdcontd..

• Only depends on old rate, smoothness factor and traffic– does not depend on RTT

• Feedback packets can be delayed => scalable• reasonable choice: 4 x RTT

• Control realises logistic growth– Asymptotically stable in simplified fluid model with synchronous RTTs– Smooth convergence to a steady rate

• Initial convergence can be slow (depending on bg traffic)– startup enhancement: temporarily sacrifice stability

U Innsbruck Informatik U Innsbruck Informatik -- 1616

OutlineOutline

• Problem identification / motivation

• Proposed solution

• Simulation results

– Dynamic behaviour

– Long-term performance evaluation

• Conclusion

U Innsbruck Informatik U Innsbruck Informatik -- 1717

UnlessUnless otherwiseotherwise mentionedmentioned......

4 RTTsCADPC update frequency

0.5CADPC smoothness factor a

50 packetsBottleneck Queue Length

TCP RenoTCP flavour

Greedy, long-livedFlow type

0 secondsAll flows start after

Long-term: 160 secondsDuration

Drop-tailQueueing discipline

50 ms eachLink delay

1000 Mbit/sBandwidth of all other links

10 Mbit/sBottleneck Link Bandwidth

1000 bytesPacket Sizes

DumbbellTopology

U Innsbruck Informatik U Innsbruck Informatik -- 1818

CADPC vs. TCPCADPC vs. TCP

U Innsbruck Informatik U Innsbruck Informatik -- 1919

SmoothnessSmoothness

10 x TFRC 10 x CADPC

U Innsbruck Informatik U Innsbruck Informatik -- 2020

StartupStartup enhancementenhancement

U Innsbruck Informatik U Innsbruck Informatik -- 2121

HeterogeneousHeterogeneous RTTsRTTs + + RobustnessRobustness

U Innsbruck Informatik U Innsbruck Informatik -- 2222

CADPC vs. CADPC vs. TCPTCP--friendlyfriendly CC. CC. mechanismsmechanisms

Throughput

Avg. Queue Length

Loss

Fairness

U Innsbruck Informatik U Innsbruck Informatik -- 2323

CADPC vs. 3 TCP(+ECN) CADPC vs. 3 TCP(+ECN) flavorsflavors

U Innsbruck Informatik U Innsbruck Informatik -- 2424

FurtherFurther simulationssimulations (in (in thethe thesisthesis))

• Dynamic:– Dependence on smoothness parameter a and packet size– Robustness against fast routing changes– Effect of mixing converged flows– Performance across highly asymmetric connections + noisy links

• Long-term (throughput, loss, average queue length, fairness):– Check valid parameter space: bandwidth, no. of flows, packet size– Varying bottleneck bandwidth– Varying feedback delay– RED, REM and AVQ Active Queue Management– Behaviour with varying amount of web background traffic– Max-min fairness (scenario with 2 bottlenecks)

U Innsbruck Informatik U Innsbruck Informatik -- 2525

OutlineOutline

• Problem identification / motivation

• Proposed solution

• Simulation results

• Conclusion

U Innsbruck Informatik U Innsbruck Informatik -- 2626

– simulation results– ns simulator code

• PTP– Framework– Protocol

• ns simulator code• Linux code

• CADPC– fluid-model simulator

• vector diagram basedanalysis of TCP behaviour

TCP 2

TCP 1

1.0000

1.5000

2.0000

2.5000

3.0000

3.5000

4.0000

4.5000

5.0000

5.5000

6.0000

6.5000

7.0000

7.5000

8.0000

8.5000

9.0000

9.5000

10.0000

2.0000 4.0000 6.0000 8.0000 10.0000 12.0000 14.0000

TangibleTangible OutcomesOutcomes

U Innsbruck Informatik U Innsbruck Informatik -- 2727

CADPC AdvantagesCADPC Advantages

• high utilisation

• close to zero loss

• small bottleneck queue length

• very smooth rate

• fully distributed precise max-min-fairness

• rapid response to bandwidth changes (e.g. from routing)

• provable asymptotic stability (synchronous RTTs, fluid model)

some say it‘simpossible :)

U Innsbruck Informatik U Innsbruck Informatik -- 2828

CADPC Advantages /2CADPC Advantages /2

• Useful for asymmetric links

• Useful for noisy (wireless) links + “long fat pipes”

• Useful for QoS and load-based charging

DisadvantagesDisadvantages

• Requires router support

• Requires traffic isolation because…– not tcp-friendly– slowly responsive: bad results with web traffic

but: sticks to KISS principle

but: see future work...

U Innsbruck Informatik U Innsbruck Informatik -- 2929

IMHO:IMHO: considerableconsiderable stepstep towardstowardsbetterbetter congestioncongestion controlcontrol

...b...basedased on on drasticdrastic departuredeparture fromfromexistingexisting approachesapproaches

U Innsbruck Informatik U Innsbruck Informatik -- 3030

Future Future workwork

• So far, ...– only max-min-fairness supported– only greedy sources simulated

• Gradual deployment ideas:

– CADPC / PTP within a DiffServ class (QoS “in the small“):“we offer QoS + provide router support,you use CADPC and obtain a good result[and we can calculate your rate, too]“

– If CADPC works with non-greedy senders:edge2edge PTP signalling

• PTP supported traffic engineering (TCP over CADPC)• CADPC <=> TCP translation at edge routers?

U Innsbruck Informatik U Innsbruck Informatik -- 3131

TheThe End ...End ...

• Related publications

• PTP ns code

• PTP Linux code (router kernel patch + end system implementation)

• Future updates: thesis, CADPC code, ..

http://fullspeed.to/ptp

U Innsbruck Informatik U Innsbruck Informatik -- 3232

Additional Additional informationinformation

U Innsbruck Informatik U Innsbruck Informatik -- 3333

TheThe end2end end2end argumentargument

U Innsbruck Informatik U Innsbruck Informatik -- 3434

ThisThis thesisthesis and and thethe end2end end2end argumentargument

• „Lower-level layers, which support many independent applications, should provide only resources of broad utility across applications, while providing to applications usable means for effective sharing of resources and resolution of resource conflicts. (networktransparency)“

[Active Networking and End-To-End Arguments, Comment by David P. Reed, Jerome H. Saltzer, and David D. Clark]

• Goals of this thesis:

– provide such means– use it!

U Innsbruck Informatik U Innsbruck Informatik -- 3535

AIMD BackgroundAIMD Background

U Innsbruck Informatik U Innsbruck Informatik -- 3636

User 1 Allocation x1

FairnessLine

EfficiencyLine

Use

r 2 A

lloca

tion

x2

StartingPoint

AIMD

Desirable

StartingPoint

AIAD

MIMD

Underload

Overload

AIMD in AIMD in TheoryTheory ((equalequal RTTsRTTs))

User 1 Allocation x1

FairnessLine

EfficiencyLine

Use

r 2 A

lloca

tion

x2

StartingPoint

AIMD

Desirable

StartingPoint

AIAD

MIMD

Underload

Overload

U Innsbruck Informatik U Innsbruck Informatik -- 3737

AIMD / AIMD / asynchronousasynchronous RTTsRTTs

U 2SER

User 1-0.0500

0.0000

0.0500

0.1000

0.1500

0.2000

0.2500

0.3000

0.3500

0.4000

0.4500

0.5000

0.5500

0.6000

0.6500

0.7000

0.7500

0.8000

0.8500

0.9000

0.9500

1.0000

0.0000 0.2000 0.4000 0.6000 0.8000 1.0000

• fluid model• RTT: 7 vs. 2• AI=0.1, MD=0.5• Simul. time=175

U Innsbruck Informatik U Innsbruck Informatik -- 3838

AIMD in AIMD in practisepractise (TCP)(TCP)

TCP 2

TCP 1

1.0000

1.5000

2.0000

2.5000

3.0000

3.5000

4.0000

4.5000

5.0000

5.5000

6.0000

6.5000

7.0000

7.5000

8.0000

8.5000

9.0000

9.5000

10.0000

2.0000 4.0000 6.0000 8.0000 10.0000 12.0000 14.0000

• ns simulator• TCP Reno• “equal“ RTT• 1 bottleneck link

U Innsbruck Informatik U Innsbruck Informatik -- 3939

CADPC DesignCADPC Design

U Innsbruck Informatik U Innsbruck Informatik -- 4040

EndpointEndpoint MechanismMechanism Design Design AlgorithmAlgorithm(tm(tm))

• find useful (closely related) ATM ABR mechanism

• start with simplifications, then expand the model

• A new mechanism must work for 2 users, equal RTT– simple analysis similar to Chiu/Jain (diagram + math)

• it must also work with heterogeneous RTTs– simulate using a simple Diagram Based Simulator(tm)

• it must also work with more users and in more realistic scenarios– simulate with ns

U Innsbruck Informatik U Innsbruck Informatik -- 4141

CADPC CADPC vectorvector diagramdiagram analysisanalysis

U Innsbruck Informatik U Innsbruck Informatik -- 4242

CADPC CADPC synchronoussynchronous casecase fluidfluid analysisanalysis

• Final formula per user:

x(t+1) = x(t)a(1-x(t)-traffic)+x(t)

x(t) ... normalised rate at time ta... smoothness factor(should be 0 < a <= 1)traffic (normalised) ... from PTP

• Converges to: n/(n+1)

• Continuous-time version of synchronous case (traffic=nx):logistic growth x‘(t) = x(t)a(1-x(t)/c) [c = 1/(1+n)]asymptotically stable equilibrium point: c

00,2

0,6

1

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29