91
Traffic management An Engineering Approach to Computer An Engineering Approach to Computer Networking Networking

Traffic management

  • Upload
    trynt

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

Traffic management. An Engineering Approach to Computer Networking. An example. Executive participating in a worldwide videoconference Proceedings are videotaped and stored in an archive Edited and placed on a Web site Accessed later by others During conference - PowerPoint PPT Presentation

Citation preview

Page 1: Traffic  management

Traffic management

An Engineering Approach to Computer NetworkingAn Engineering Approach to Computer Networking

Page 2: Traffic  management

An example

Executive participating in a worldwide videoconference

Proceedings are videotaped and stored in an archive

Edited and placed on a Web site

Accessed later by others

During conference Sends email to an assistant Breaks off to answer a voice call

Page 3: Traffic  management

What this requires

For video sustained bandwidth of at least 64 kbps low loss rate

For voice sustained bandwidth of at least 8 kbps low loss rate

For interactive communication low delay (< 100 ms one-way)

For playback low delay jitter

For email and archiving reliable bulk transport

Page 4: Traffic  management

What if…

A million executives were simultaneously A million executives were simultaneously accessing the network?accessing the network? What What capacitycapacity should each trunk have? should each trunk have? How should packets be How should packets be routedrouted? (Can we spread load ? (Can we spread load

over alternate paths?)over alternate paths?) How can different traffic types get different How can different traffic types get different

servicesservices from the network? from the network? How should each endpoint How should each endpoint regulateregulate its load? its load? How should we How should we priceprice the network? the network?

These types of questions lie at the heart of These types of questions lie at the heart of network design and operation, and form the basis network design and operation, and form the basis forfor traffic management. traffic management.

Page 5: Traffic  management

Traffic management

Set of policies and mechanisms that allow a network to efficiently satisfy a diverse range of service requests

Tension is between diversity and efficiency

Traffic management is necessary for providing Quality of Service (QoS) Subsumes congestion control (congestion == loss

of efficiency)

Page 6: Traffic  management

Why is it important?

One of the most challenging open problems in One of the most challenging open problems in networkingnetworking

Commercially importantCommercially important AOL ‘burnout’AOL ‘burnout’ Perceived reliability (necessary for Perceived reliability (necessary for

infrastructure)infrastructure) Capacity sizing directly affects the bottom lineCapacity sizing directly affects the bottom line

At the heart of the next generation of data At the heart of the next generation of data networksnetworks

Traffic management = Connectivity + Quality of Traffic management = Connectivity + Quality of ServiceService

Page 7: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Time scalesTime scales

Mechanisms Mechanisms

Some open problemsSome open problems

Page 8: Traffic  management

Basics: utility function

Users are assumed to have a utility function that maps from a given quality of service to a level of satisfaction, or utility Utility functions are private informationUtility functions are private information Cannot compare utility functions between usersCannot compare utility functions between users

Rational users take actions that maximize their utility

Can determine utility function by observing preferences

Page 9: Traffic  management

Example

Let u = S - a t u = utility from file transfer S = satisfaction when transfer infinitely fast t = transfer time a = rate at which satisfaction decreases with

time As transfer time increases, utility decreases

If t > S/a, user is worse off! (reflects time wasted)

Assumes linear decrease in utility

S and a can be experimentally determined

Page 10: Traffic  management

Social welfare

Suppose network manager knew the utility function of every user

Social Welfare is maximized when some combination of the utility functions (such as sum) is maximized

An economy (network) is An economy (network) is efficientefficient when increasing when increasing the utility of one user must necessarily decrease the utility of one user must necessarily decrease the utility of anotherthe utility of another

An economy (network) is An economy (network) is envy-freeenvy-free if no user would if no user would trade places with another (better performance also trade places with another (better performance also costs more)costs more)

Goal: maximize social welfare subject to efficiency, envy-freeness, and making a

profit

Page 11: Traffic  management

Example

Assume Single switch, each user imposes load Single switch, each user imposes load 0.40.4 A’s utility: A’s utility: 4 - d4 - d B’s utility : B’s utility : 8 - 2d8 - 2d Same delay to both usersSame delay to both users

Conservation lawConservation law 0.4d + 0.4d = C 0.4d + 0.4d = C =>=> d = 1.25 C d = 1.25 C =>=> sum of utilitiessum of utilities = 12- = 12-

3.75 C3.75 C If B’s delay reduced to If B’s delay reduced to 0.5C0.5C, then A’s delay =, then A’s delay = 2C 2C

SumSum of utilitiesof utilities = 12 - 3C = 12 - 3C Increase in social welfare need not benefit Increase in social welfare need not benefit

everyoneeveryone A loses utility, but may pay less for service A loses utility, but may pay less for service

Page 12: Traffic  management

Some economic principles

A single network that provides heterogeneous QoS A single network that provides heterogeneous QoS is better than separate networks for each QoSis better than separate networks for each QoS unused capacity is available to othersunused capacity is available to others

Lowering delay of delay-sensitive traffic Lowering delay of delay-sensitive traffic increased welfare increased welfare can increase welfare by matching service menu to can increase welfare by matching service menu to

user requirements user requirements BUT need to know what users want (signaling)BUT need to know what users want (signaling)

For typical utility functions, welfare increases For typical utility functions, welfare increases more than linearly with increase in capacitymore than linearly with increase in capacity individual users see smaller overall fluctuationsindividual users see smaller overall fluctuations can increase welfare by increasing capacitycan increase welfare by increasing capacity

Page 13: Traffic  management

Principles applied

A single wire that carries both voice and data A single wire that carries both voice and data is more efficient than separate wires for voice is more efficient than separate wires for voice and dataand data ADSLADSL IP Phone IP Phone

Moving from a 20% loaded10 Mbps Ethernet to a Moving from a 20% loaded10 Mbps Ethernet to a 20% loaded 100 Mbps Ethernet will still improve 20% loaded 100 Mbps Ethernet will still improve social welfaresocial welfare increase capacity whenever possibleincrease capacity whenever possible

Better to give 5% of the traffic lower delay Better to give 5% of the traffic lower delay than all traffic low delaythan all traffic low delay should somehow mark and isolate low-delay trafficshould somehow mark and isolate low-delay traffic

Page 14: Traffic  management

The two camps

Can increase welfare either byCan increase welfare either by matching services to user requirements matching services to user requirements oror increasing capacity blindlyincreasing capacity blindly

Which is cheaper?Which is cheaper? no one is really sure!no one is really sure! small and smart vs. big and dumbsmall and smart vs. big and dumb

It seems that smarter ought to be betterIt seems that smarter ought to be better otherwise, to get low delays for some traffic, we need to otherwise, to get low delays for some traffic, we need to

give give all trafficall traffic low delay, even if it doesn’t need it low delay, even if it doesn’t need it But, perhaps, we can use the money spent on traffic But, perhaps, we can use the money spent on traffic

management to increase capacitymanagement to increase capacity

We will study traffic management, assuming that it We will study traffic management, assuming that it matters!matters!

Page 15: Traffic  management

Traffic models

To align services, need to have some idea of how users or aggregates of users behave = traffic model e.g. how long a user uses a modeme.g. how long a user uses a modem e.g. average size of a file transfere.g. average size of a file transfer

Models change with network usageModels change with network usage

We can only guess about the futureWe can only guess about the future

Two types of modelsTwo types of models measurementsmeasurements educated guesseseducated guesses

Page 16: Traffic  management

Telephone traffic models

How are calls placed?How are calls placed? call arrival modelcall arrival model studies show that time between calls is drawn from an studies show that time between calls is drawn from an

exponential distributionexponential distribution call arrival process is therefore call arrival process is therefore PoissonPoisson memoryless: the fact that a certain amount of time memoryless: the fact that a certain amount of time

has passed since the last call gives no information has passed since the last call gives no information of time to next callof time to next call

How long are calls held?How long are calls held? usually modeled as exponentialusually modeled as exponential however, measurement studies show it to be however, measurement studies show it to be heavy heavy

tailedtailed means that a significant number of calls last a very means that a significant number of calls last a very

long timelong time

Page 17: Traffic  management

Internet traffic modeling

A few apps account for most of the trafficA few apps account for most of the traffic WWWWWW FTPFTP telnettelnet

A common approach is to model apps (this ignores A common approach is to model apps (this ignores distribution of destination!)distribution of destination!) time between app invocationstime between app invocations connection durationconnection duration # bytes transferred# bytes transferred packet interarrival distributionpacket interarrival distribution

Little consensus on modelsLittle consensus on models

But two important featuresBut two important features

Page 18: Traffic  management

Internet traffic models: features

LAN connections differ from WAN connections Higher bandwidth (more bytes/call)Higher bandwidth (more bytes/call) longer holding timeslonger holding times

Many parameters are heavy-tailedMany parameters are heavy-tailed examplesexamples

# bytes in call# bytes in call call durationcall duration

means that a means that a fewfew calls are responsible for most of the calls are responsible for most of the traffictraffic

these calls must be well-managedthese calls must be well-managed also means that also means that eveneven aggregates with many calls not be aggregates with many calls not be

smoothsmooth can have long burstscan have long bursts

New models appear all the time, to account for rapidly New models appear all the time, to account for rapidly changing traffic mixchanging traffic mix

Page 19: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Time scalesTime scales

Mechanisms Mechanisms

Some open problemsSome open problems

Page 20: Traffic  management

Traffic classes

Networks should match offered service to source Networks should match offered service to source requirements (corresponds to utility functions)requirements (corresponds to utility functions)

Example: telnet requires low bandwidth and low Example: telnet requires low bandwidth and low delay delay utility increases with decrease in delayutility increases with decrease in delay network should provide a low-delay servicenetwork should provide a low-delay service or, telnet belongs to the low-delay or, telnet belongs to the low-delay traffic classtraffic class

Traffic classes encompass both Traffic classes encompass both user user requirementsrequirements and and network service offeringsnetwork service offerings

Page 21: Traffic  management

Traffic classes - details

A basic division: A basic division: guaranteed serviceguaranteed service and and best effortbest effort like flying with reservation or standbylike flying with reservation or standby

Guaranteed-serviceGuaranteed-service utility is zero unless app gets a minimum level of utility is zero unless app gets a minimum level of

service qualityservice quality bandwidth, delay, lossbandwidth, delay, loss

open-loop flow control with admission controlopen-loop flow control with admission control e.g. telephony, remote sensing, interactive multiplayer e.g. telephony, remote sensing, interactive multiplayer

gamesgames Best-effortBest-effort

send and praysend and pray closed-loop flow controlclosed-loop flow control e.g. email, net newse.g. email, net news

Page 22: Traffic  management

GS vs. BE (cont.)

Degree of synchronyDegree of synchrony time scale at which peer endpoints interacttime scale at which peer endpoints interact GS are typically GS are typically synchronous synchronous or or interactiveinteractive

interact on the timescale of a round trip timeinteract on the timescale of a round trip time e.g. telephone conversation or telnete.g. telephone conversation or telnet

BE are typically BE are typically asynchronous asynchronous or or non-interactivenon-interactive interact on longer time scalesinteract on longer time scales e.g. Emaile.g. Email

Sensitivity to time and delaySensitivity to time and delay GS apps are GS apps are real-timereal-time

performance depends on wall clockperformance depends on wall clock BE apps are typically indifferent to real timeBE apps are typically indifferent to real time

automatically scale back during overloadautomatically scale back during overload

Page 23: Traffic  management

Traffic subclasses (roadmap)

ATM Forum based on sensitivity to based on sensitivity to

bandwidthbandwidth GS GS

CBR, VBRCBR, VBR BEBE

ABR, UBRABR, UBR

IETFIETF based on sensitivity to based on sensitivity to

delaydelay GSGS

intolerant intolerant toleranttolerant

BEBE interactive burstinteractive burst interactive bulkinteractive bulk asynchronous bulkasynchronous bulk

Page 24: Traffic  management

ATM Forum GS subclasses

Constant Bit Rate (CBR)Constant Bit Rate (CBR) constant, cell-smooth trafficconstant, cell-smooth traffic mean and peak rate are the samemean and peak rate are the same e.g. telephone call evenly sampled and e.g. telephone call evenly sampled and

uncompresseduncompressed constant bandwidth, variable qualityconstant bandwidth, variable quality

Variable Bit Rate (VBR)Variable Bit Rate (VBR) long term average with occasional burstslong term average with occasional bursts try to minimize delaytry to minimize delay can tolerate loss and higher delays than CBRcan tolerate loss and higher delays than CBR e.g. compressed video or audio with constant e.g. compressed video or audio with constant

quality, variable bandwidthquality, variable bandwidth

Page 25: Traffic  management

ATM Forum BE subclasses

Available Bit Rate (ABR)Available Bit Rate (ABR) users get whatever is availableusers get whatever is available zero loss if network signals (in RM cells) are zero loss if network signals (in RM cells) are

obeyedobeyed no guarantee on delay or bandwidthno guarantee on delay or bandwidth

Unspecified Bit Rate (UBR)Unspecified Bit Rate (UBR) like ABR, but no feedbacklike ABR, but no feedback no guarantee on lossno guarantee on loss presumably cheaperpresumably cheaper

Page 26: Traffic  management

IETF GS subclasses

Tolerant GSTolerant GS nominal mean delay, but can tolerate “occasional” nominal mean delay, but can tolerate “occasional”

variationvariation not specified what this means exactlynot specified what this means exactly uses uses controlled-load controlled-load service service

book uses older terminology (predictive)book uses older terminology (predictive) even at “high loads”, admission control assures a even at “high loads”, admission control assures a

source that its service “does not suffer”source that its service “does not suffer” it really is this imprecise!it really is this imprecise!

Intolerant GSIntolerant GS need a worst case delay boundneed a worst case delay bound equivalent to CBR+VBR in ATM Forum modelequivalent to CBR+VBR in ATM Forum model

Page 27: Traffic  management

IETF BE subclasses

Interactive burstInteractive burst bounded asynchronous service, where bound is bounded asynchronous service, where bound is

qualitative, but pretty tightqualitative, but pretty tight e.g. paging, messaging, emaile.g. paging, messaging, email

Interactive bulkInteractive bulk bulk, but a human is waiting for the resultbulk, but a human is waiting for the result e.g. FTPe.g. FTP

Asynchronous bulkAsynchronous bulk junk trafficjunk traffic e.g netnewse.g netnews

Page 28: Traffic  management

Some points to ponder

The only thing out there is CBR and The only thing out there is CBR and asynchronous bulk!asynchronous bulk!

These are application requirements. There are These are application requirements. There are also organizational requirements (link sharing)also organizational requirements (link sharing)

Users needs QoS for other things too!Users needs QoS for other things too! billingbilling privacyprivacy reliability and availabilityreliability and availability

Page 29: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Time scalesTime scales

Mechanisms Mechanisms

Some open problemsSome open problems

Page 30: Traffic  management

Time scales

Some actions are taken once per callSome actions are taken once per call tell network about traffic characterization and request tell network about traffic characterization and request

resourcesresources in ATM networks, finding a path from source to in ATM networks, finding a path from source to

destinationdestination Other actions are taken during the call, every few Other actions are taken during the call, every few

round trip timesround trip times feedback flow controlfeedback flow control

Still others are taken very rapidly,during the data Still others are taken very rapidly,during the data transfertransfer schedulingscheduling policing and regulationpolicing and regulation

Traffic management mechanisms must deal with a range Traffic management mechanisms must deal with a range of traffic classes at a range of time scalesof traffic classes at a range of time scales

Page 31: Traffic  management

Summary of mechanisms at each time scale Less than one round-trip-time (cell-level)

Scheduling and buffer managementScheduling and buffer management Regulation and policingRegulation and policing Policy routing (datagram networks)Policy routing (datagram networks)

One or more round-trip-times (burst-level)

Feedback flow controlFeedback flow control RetransmissionRetransmission RenegotiationRenegotiation

Page 32: Traffic  management

Summary (cont.)

Session (call-level) SignalingSignaling Admission controlAdmission control Service pricingService pricing Routing (connection-oriented networks)Routing (connection-oriented networks)

Day Peak load pricingPeak load pricing

Weeks or months Capacity planningCapacity planning

Page 33: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Mechanisms at each time scaleMechanisms at each time scale Faster than one RTTFaster than one RTT

scheduling and buffer managementscheduling and buffer management regulation and policingregulation and policing policy routingpolicy routing

One RTTOne RTT SessionSession Day Day Weeks to monthsWeeks to months

Some open problemsSome open problems

Page 34: Traffic  management

Renegotiation

Page 35: Traffic  management

Renegotiation

An option for guaranteed-service trafficAn option for guaranteed-service traffic

Static descriptors don’t make sense for many Static descriptors don’t make sense for many real traffic sourcesreal traffic sources interactive videointeractive video

Multiple-time-scale trafficMultiple-time-scale traffic burst size B that lasts for time Tburst size B that lasts for time T for zero loss, descriptors (P,0), (A, B)for zero loss, descriptors (P,0), (A, B)

P = peak rate, A = averageP = peak rate, A = average T large => serving even slightly below P leads to T large => serving even slightly below P leads to

large buffering requirementslarge buffering requirements one-shot descriptor is inadequateone-shot descriptor is inadequate

Page 36: Traffic  management

Renegotiation (cont.)

Renegotiation matches service rate to trafficRenegotiation matches service rate to traffic

Renegotiating service rate about once every ten Renegotiating service rate about once every ten seconds is sufficient to reduce bandwidth seconds is sufficient to reduce bandwidth requirement nearly to average raterequirement nearly to average rate works well in conjunction with optimal smoothingworks well in conjunction with optimal smoothing

Fast buffer reservation is similarFast buffer reservation is similar each burst of data preceded by a reservationeach burst of data preceded by a reservation

Renegotiation is not freeRenegotiation is not free signaling overheadsignaling overhead call admission ? call admission ?

perhaps measurement-based admission controlperhaps measurement-based admission control

Page 37: Traffic  management

RCBR

Extreme viewpointExtreme viewpoint

All traffic sent as CBRAll traffic sent as CBR

Renegotiate CBR rate if necessaryRenegotiate CBR rate if necessary

No need for complicated scheduling!No need for complicated scheduling!

Buffers at edge of networkBuffers at edge of network much cheapermuch cheaper

Easy to priceEasy to price

Open questionsOpen questions when to renegotiate?when to renegotiate? how much to ask for?how much to ask for? admission controladmission control what to do on renegotiation failurewhat to do on renegotiation failure

Page 38: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Mechanisms at each time scaleMechanisms at each time scale Faster than one RTTFaster than one RTT One RTTOne RTT SessionSession

SignalingSignaling Admission controlAdmission control

Day Day Weeks to monthsWeeks to months

Some open problemsSome open problems

Page 39: Traffic  management

Signaling

Page 40: Traffic  management

Signaling

How a source tells the network its utility How a source tells the network its utility functionfunction

Two partsTwo parts how to carry the message (transport)how to carry the message (transport) how to interpret it (semantics)how to interpret it (semantics)

Useful to separate these mechanismsUseful to separate these mechanisms

Page 41: Traffic  management

Signaling semantics

Classic scheme: sender initiated

SETUP, SETUP_ACK, SETUP_RESPONSE

Admission control

Tentative resource reservation and confirmation

Simplex and duplex setup

Doesn’t work for multicast

Page 42: Traffic  management

Resource translation

Application asks for end-to-end qualityApplication asks for end-to-end quality

How to translate to per-hop requirements?How to translate to per-hop requirements? E.g. end-to-delay bound of 100 msE.g. end-to-delay bound of 100 ms What should be bound at each hop?What should be bound at each hop?

Two-passTwo-pass forward: maximize (denial!)forward: maximize (denial!) reverse: relazreverse: relaz open problem!open problem!

Page 43: Traffic  management

Signaling: transport

Telephone network uses Signaling System 7 (SS7)Telephone network uses Signaling System 7 (SS7) Carried on Common Channel Interoffice Signaling Carried on Common Channel Interoffice Signaling

(CCIS) network(CCIS) network CCIS is a datagram networkCCIS is a datagram network SS7 protocol stack is loosely modeled on ISO (but SS7 protocol stack is loosely modeled on ISO (but

predates it)predates it) Signaling in ATM networks uses Q.2931 standardSignaling in ATM networks uses Q.2931 standard

part of User Network Interface (UNI)part of User Network Interface (UNI) complexcomplex layered over SSCOP ( a reliable transport layered over SSCOP ( a reliable transport

protocol) and AAL5protocol) and AAL5

Page 44: Traffic  management

Internet signaling transport: RSVP

Main motivation is to efficiently support Main motivation is to efficiently support multipoint multicast with resource reservationsmultipoint multicast with resource reservations

ProgressionProgression UnicastUnicast Naïve multicastNaïve multicast Intelligent multicastIntelligent multicast Naïve multipoint multicastNaïve multipoint multicast RSVPRSVP

Page 45: Traffic  management

RSVP motivation

Page 46: Traffic  management

Multicast reservation styles

Naïve multicast (source initiated)Naïve multicast (source initiated) source contacts each receiver in turnsource contacts each receiver in turn wasted signaling messageswasted signaling messages

Intelligent multicast (merge replies)Intelligent multicast (merge replies) two messages per link of spanning treetwo messages per link of spanning tree source needs to know all receiverssource needs to know all receivers and the rate they can absorband the rate they can absorb doesn’t scaledoesn’t scale

Naïve multipoint multicastNaïve multipoint multicast two messages per source per linktwo messages per source per link can’t share resources among multicast groupscan’t share resources among multicast groups

Page 47: Traffic  management

RSVP

Receiver initiatedReceiver initiated

Reservation state per group, instead of per Reservation state per group, instead of per connectionconnection

PATH and RESV messagesPATH and RESV messages

PATH sets up next hop towards source(s)PATH sets up next hop towards source(s)

RESV makes reservationRESV makes reservation

Travel as far back up as necessaryTravel as far back up as necessary how does receiver know of success?how does receiver know of success?

Page 48: Traffic  management

Filters

Allow receivers to separate reservationsAllow receivers to separate reservations

Fixed filterFixed filter receive from eactly one sourcereceive from eactly one source

Dynamic filterDynamic filter dynamically choose which source is allowed to use dynamically choose which source is allowed to use

reservationreservation

Page 49: Traffic  management

Soft state

State in switch controllers (routers) is State in switch controllers (routers) is periodically refreshedperiodically refreshed

On a link failure, automatically find another On a link failure, automatically find another routeroute

Transient!Transient!

But, probably better than with ATMBut, probably better than with ATM

Page 50: Traffic  management

Why is signaling hard ?

Complex servicesComplex services

Feature interactionFeature interaction call screening + call forwardingcall screening + call forwarding

Tradeoff between performance and reliabilityTradeoff between performance and reliability

Extensibility and maintainabilityExtensibility and maintainability

Page 51: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Mechanisms at each time scaleMechanisms at each time scale Faster than one RTTFaster than one RTT One RTTOne RTT SessionSession

SignalingSignaling Admission controlAdmission control

Day Day Weeks to monthsWeeks to months

Some open problemsSome open problems

Page 52: Traffic  management

Admission control

Page 53: Traffic  management

Admission control

Can a call be admitted?

CBR admission controlCBR admission control simplesimple on failure: try again, reroute, or holdon failure: try again, reroute, or hold

Best-effort admission controlBest-effort admission control trivialtrivial if minimum bandwidth needed, use CBR testif minimum bandwidth needed, use CBR test

Page 54: Traffic  management

VBR admission control

VBRVBR peak rate differs from average rate = peak rate differs from average rate = burstinessburstiness if we reserve bandwidth at the peak rate, wastes if we reserve bandwidth at the peak rate, wastes

bandwidthbandwidth if we reserve at the average rate, may drop if we reserve at the average rate, may drop

packets during peakpackets during peak key decision: how much to overbookkey decision: how much to overbook

Four known approachesFour known approaches

peak rate admission controlpeak rate admission control worst-case admission controlworst-case admission control admission control with statistical guaranteesadmission control with statistical guarantees measurement-based admission controlmeasurement-based admission control

Page 55: Traffic  management

1. Peak-rate admission control

Reserve at a connection’s peak rateReserve at a connection’s peak rate

ProsPros simple (can use FIFO scheduling)simple (can use FIFO scheduling) connections get zero (fluid) delay and zero lossconnections get zero (fluid) delay and zero loss works well for a small number of sourcesworks well for a small number of sources

ConsCons wastes bandwidthwastes bandwidth peak rate may increase because of scheduling peak rate may increase because of scheduling

jitterjitter

time

rate

Page 56: Traffic  management

2. Worst-case admission control

Characterize source by ‘average’ rate and burst Characterize source by ‘average’ rate and burst size (LBAP)size (LBAP)

Use WFQ or rate-controlled discipline to Use WFQ or rate-controlled discipline to reserve bandwidth at average ratereserve bandwidth at average rate

ProsPros may use less bandwidth than with peak ratemay use less bandwidth than with peak rate can get an end-to-end delay guaranteecan get an end-to-end delay guarantee

ConsCons for low delay bound, need to reserve at more than for low delay bound, need to reserve at more than

peak rate!peak rate! implementation complexityimplementation complexity

time

rate

Page 57: Traffic  management

3. Admission with statistical guarantees Key insight is that as # calls increases, Key insight is that as # calls increases,

probability that multiple sources send a burst probability that multiple sources send a burst decreasesdecreases sum of connection rates is increasingly smoothsum of connection rates is increasingly smooth

With enough sources, traffic from each source With enough sources, traffic from each source can be assumed to arrive at its average ratecan be assumed to arrive at its average rate

Put in enough buffers to make probability of Put in enough buffers to make probability of loss lowloss low

Page 58: Traffic  management

3. Admission with statistical guarantees (contd.) Assume that traffic from a source is sent to a Assume that traffic from a source is sent to a

buffer of size buffer of size B B which is drained at a constant rate which is drained at a constant rate ee

If source sends a burst, its delay goes upIf source sends a burst, its delay goes up

If the burst is too large, bits are lostIf the burst is too large, bits are lost

Equivalent bandwidthEquivalent bandwidth of the source is the rate at of the source is the rate at which we need to drain this buffer so that the which we need to drain this buffer so that the probability of loss is less than probability of loss is less than ll and the delay in and the delay in leaving the buffer is less than leaving the buffer is less than dd

If many sources share a buffer, the equivalent If many sources share a buffer, the equivalent bandwidth of each source decreases (why?)bandwidth of each source decreases (why?)

Equivalent bandwidth of an ensemble of connections Equivalent bandwidth of an ensemble of connections is the sum of their equivalent bandwidthsis the sum of their equivalent bandwidths

Page 59: Traffic  management

3. Admission with statistical guarantees (contd.) When a source arrives, use its performance When a source arrives, use its performance

requirements and current network state to assign it requirements and current network state to assign it an equivalent bandwidthan equivalent bandwidth

Admission control: sum of equivalent bandwidths at Admission control: sum of equivalent bandwidths at the link should be less than link capacitythe link should be less than link capacity

ProsPros can trade off a small loss probability for a large can trade off a small loss probability for a large

decrease in bandwidth reservationdecrease in bandwidth reservation mathematical treatment possiblemathematical treatment possible can obtain delay boundscan obtain delay bounds

ConsCons assumes uncorrelated sourcesassumes uncorrelated sources hairy mathematicshairy mathematics

Page 60: Traffic  management

4. Measurement-based admission

For traffic that cannot describe itselfFor traffic that cannot describe itself also renegotiated trafficalso renegotiated traffic

MeasureMeasure ‘real’ average load ‘real’ average load

Users tell peakUsers tell peak

If peak + average < capacity, admitIf peak + average < capacity, admit

Over time, new call becomes part of averageOver time, new call becomes part of average

Problems:Problems: assumes that past behavior is indicative of the assumes that past behavior is indicative of the

futurefuture how long to measure?how long to measure? when to forget about the past?when to forget about the past?

Page 61: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Mechanisms at each time scaleMechanisms at each time scale Faster than one RTTFaster than one RTT One RTTOne RTT SessionSession DayDay Weeks to monthsWeeks to months

Some open problemsSome open problems

Page 62: Traffic  management

Peak load pricing

Page 63: Traffic  management

Problems with cyclic demand

Service providers want toService providers want to avoid overloadavoid overload use all available capacityuse all available capacity

Hard to do both with cyclic demandHard to do both with cyclic demand if capacity C1, then waste capacityif capacity C1, then waste capacity if capacity C2, overloaded part of the timeif capacity C2, overloaded part of the time

Page 64: Traffic  management

Peak load pricing

Traffic shows strong daily peaks => cyclic Traffic shows strong daily peaks => cyclic demanddemand

Can shift demand to off-peak times using Can shift demand to off-peak times using pricingpricing

Charge more during peak hoursCharge more during peak hours price is a price is a signalsignal to consumers about network to consumers about network

preferencespreferences helps both the network provider and the userhelps both the network provider and the user

Page 65: Traffic  management

Example

Suppose Suppose network capacity = Cnetwork capacity = C peak demand = 100, off peak demand = 10peak demand = 100, off peak demand = 10 user’s utility = -total price - overloaduser’s utility = -total price - overload network’s utility = revenue - idlenessnetwork’s utility = revenue - idleness

Price = 1 per unit during peak and off peak timesPrice = 1 per unit during peak and off peak times revenue = 100 + 10 = 110revenue = 100 + 10 = 110 user’s utility = -110 -(100-C)user’s utility = -110 -(100-C) network’s utility = 110 - (C - off peak load)network’s utility = 110 - (C - off peak load) e.g if C = 100, user’s utility = -110, network’s utility = e.g if C = 100, user’s utility = -110, network’s utility =

2020 if C = 60, user’s utility = -150, network’s utility if C = 60, user’s utility = -150, network’s utility

= 60= 60 increase in user’s utility comes as the cost of network’s increase in user’s utility comes as the cost of network’s

utilityutility

Page 66: Traffic  management

Example (contd.)

Peak price = 1, off-peak price = 0.2Peak price = 1, off-peak price = 0.2

Suppose this decreases peak load to 60, and off Suppose this decreases peak load to 60, and off peak load increases to 50peak load increases to 50

Revenue = 60*1 + 50*0.2 = 70Revenue = 60*1 + 50*0.2 = 70 lower than beforelower than before

But peak is 60, so set C = 60But peak is 60, so set C = 60

User’s utility = -70 (greater than before)User’s utility = -70 (greater than before)

Network’s utility = 60 (same as before)Network’s utility = 60 (same as before)

Thus, with peak-load pricing, user’s utility Thus, with peak-load pricing, user’s utility increases at no cost to networkincreases at no cost to network

Network can gain some increase in utility while Network can gain some increase in utility while still increasing user’s utilitystill increasing user’s utility

Page 67: Traffic  management

Lessons

Pricing can control user’s behaviorPricing can control user’s behavior

Careful pricing helps both users and network Careful pricing helps both users and network operatorsoperators

Pricing is a Pricing is a signalsignal of network’s preferences of network’s preferences

Rational users help the system by helping Rational users help the system by helping themselvesthemselves

Page 68: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Mechanisms at each time scaleMechanisms at each time scale Faster than one RTTFaster than one RTT One RTTOne RTT SessionSession Day Day Weeks to monthsWeeks to months

Some open problemsSome open problems

Page 69: Traffic  management

Capacity planning

Page 70: Traffic  management

Capacity planning

How to modify network topology, link capacity, How to modify network topology, link capacity, and routing to most efficiently use existing and routing to most efficiently use existing resources, or alleviate long-term congestionresources, or alleviate long-term congestion

Usually a matter of trial and errorUsually a matter of trial and error

A more systematic approach:A more systematic approach: measure network during its busy hourmeasure network during its busy hour create traffic matrixcreate traffic matrix decide topologydecide topology assign capacityassign capacity

Page 71: Traffic  management

1. Measure network during busy hour

Traffic ebbs and flows during day and during Traffic ebbs and flows during day and during weekweek

A good rule of thumb is to build for the worst A good rule of thumb is to build for the worst case trafficcase traffic

Measure traffic for some period of time, then Measure traffic for some period of time, then pick the busiest hourpick the busiest hour

Usually add a fudge factor for future growthUsually add a fudge factor for future growth

Measure bits sent from each endpoint to each Measure bits sent from each endpoint to each endpointendpoint we are assuming that endpoint remain the same, we are assuming that endpoint remain the same,

only the internal network topology is being only the internal network topology is being redesignedredesigned

Page 72: Traffic  management

2. Create traffic matrix

# of bits sent from each source to each # of bits sent from each source to each destinationdestination

We assume that the pattern predicts future We assume that the pattern predicts future behaviorbehavior probably a weak assumptionprobably a weak assumption

what if a web site suddenly becomes popular!what if a web site suddenly becomes popular! Traffic over shorter time scales may be far Traffic over shorter time scales may be far

heavierheavier

Doesn’t work if we are adding a new endpointDoesn’t work if we are adding a new endpoint can assume that it is similar to an existing can assume that it is similar to an existing

endpointendpoint

Page 73: Traffic  management

3. Decide topology

Topology depends on three considerationsTopology depends on three considerations kk-connectivity-connectivity

path should exist between any two points path should exist between any two points despite single node or link failuresdespite single node or link failures

geographical considerationsgeographical considerations some links may be easier to build than otherssome links may be easier to build than others

existing capacityexisting capacity

Page 74: Traffic  management

4. Assign capacity

Assign sufficient capacity to carry busy hour trafficAssign sufficient capacity to carry busy hour traffic

Unfortunately, actual path of traffic depends on Unfortunately, actual path of traffic depends on routing protocols which measure instantaneous load and routing protocols which measure instantaneous load and link statuslink status

So, we cannot directly influence path taken by trafficSo, we cannot directly influence path taken by traffic

Circular relationship between capacity allocation and Circular relationship between capacity allocation and routing makes problem worserouting makes problem worse higher capacity link is more attractive to routinghigher capacity link is more attractive to routing thus carries more trafficthus carries more traffic thus requires more capacitythus requires more capacity and so on…and so on…

Easier to assign capacities if routing is Easier to assign capacities if routing is staticstatic and and links are always up (as in telephone network)links are always up (as in telephone network)

Page 75: Traffic  management

Telephone network capacity planning

How to size a link so that the call blocking How to size a link so that the call blocking probability is less than a target?probability is less than a target?

Solution due to Erlang (1927)Solution due to Erlang (1927)

Assume we know mean # calls on a trunk (in erlangs)Assume we know mean # calls on a trunk (in erlangs)

Mean call arrival rate = lMean call arrival rate = l

Mean call holding time = mMean call holding time = m

Then, call load A = lmThen, call load A = lm

Let trunk capacity = N, infinite # of sourcesLet trunk capacity = N, infinite # of sources

Erlang’s formula gives blocking probabilityErlang’s formula gives blocking probability e.g. N = 5, A = 3, blocking probability = 0.11e.g. N = 5, A = 3, blocking probability = 0.11

For a fixed load, as N increases, the call blocking For a fixed load, as N increases, the call blocking probability decreases exponentiallyprobability decreases exponentially

Page 76: Traffic  management

11/14/9611/14/96 S. KeshavS. Keshav 7676

Recall erlang eqnRecall erlang eqn

1

0 !!),(

=⎥⎦

⎤⎢⎣

⎡∑=C

i

ic

iv

Cv

CvE

Page 77: Traffic  management

Sample Erlang curves

Page 78: Traffic  management

Capacity allocation

Blocking probability along a path Blocking probability along a path

Assume traffic on links is independentAssume traffic on links is independent

Then, probability is product of probability on Then, probability is product of probability on each linkeach link

Routing table + traffic matrix tells us load on Routing table + traffic matrix tells us load on a linka link

Assign capacity to each link given load and Assign capacity to each link given load and target blocking probabilitytarget blocking probability

Or, add a new link and change the routing tableOr, add a new link and change the routing table

Page 79: Traffic  management

Capacity planning on the Internet

Trial and errorTrial and error

Some rules of thumb helpSome rules of thumb help

Measurements indicate that sustained bandwidth Measurements indicate that sustained bandwidth per active user is about 50 Kbpsper active user is about 50 Kbps add a fudge factor of 2 to get 100 Kbpsadd a fudge factor of 2 to get 100 Kbps

During busy hour, about 40% of potential users During busy hour, about 40% of potential users are activeare active

So, a link of capacity C can support 2.5C/100 So, a link of capacity C can support 2.5C/100 Kbps usersKbps users

e.g. 100 Mbps FDDI ring can support 2500 userse.g. 100 Mbps FDDI ring can support 2500 users

Page 80: Traffic  management

Capacity planning on the Internet

About 10% of campus traffic enters the InternetAbout 10% of campus traffic enters the Internet

A 2500-person campus usually uses a 100Mbps and A 2500-person campus usually uses a 100Mbps and a 25,000-person campus a 1Gbpsa 25,000-person campus a 1Gbps

Why? Why? regional and backbone providers throttle traffic regional and backbone providers throttle traffic

using pricingusing pricing

Restricts higher rate to a few large customersRestricts higher rate to a few large customers Regionals and backbone providers buy the fastest Regionals and backbone providers buy the fastest

links they canlinks they can

Try to get a speedup of 10-30 over individual Try to get a speedup of 10-30 over individual access linksaccess links

Page 81: Traffic  management

Problems with capacity planning

Routing and link capacity interactRouting and link capacity interact

Measurements of traffic matrixMeasurements of traffic matrix

SurvivabilitySurvivability

Page 82: Traffic  management

Outline

Economic principlesEconomic principles

Traffic classesTraffic classes

Mechanisms at each time scaleMechanisms at each time scale

Some open problemsSome open problems

Page 83: Traffic  management

Some open problems

Page 84: Traffic  management

Six open problems

Resource translation Resource translation

RenegotiationRenegotiation

Measurement-based admission controlMeasurement-based admission control

Peak-load pricingPeak-load pricing

Capacity planningCapacity planning

A metaproblemA metaproblem

Page 85: Traffic  management

1. Resource translation

Application asks for end-to-end quality in terms of Application asks for end-to-end quality in terms of bandwidth and delaybandwidth and delay

How to translate to resource requirements in the network?How to translate to resource requirements in the network?

Bandwidth is relatively easy, delay is hardBandwidth is relatively easy, delay is hard

One approach is to translate from delay to an equivalent One approach is to translate from delay to an equivalent bandwidthbandwidth can be inefficient if need to use worst case delay boundcan be inefficient if need to use worst case delay bound average-case delay usually requires strong source average-case delay usually requires strong source

characterizationcharacterization Other approach is to directly obtain per-hop delay bound Other approach is to directly obtain per-hop delay bound

(for example, with EDD scheduling)(for example, with EDD scheduling)

How to translate from end-to-end to per-hop requirements?How to translate from end-to-end to per-hop requirements? Two-pass heuristicTwo-pass heuristic

Page 86: Traffic  management

2. Renegotiation

Static descriptors don’t make sense for Static descriptors don’t make sense for interactive sources or multiple-time scale interactive sources or multiple-time scale traffictraffic

Renegotiation matches service rate to trafficRenegotiation matches service rate to traffic

Renegotiation is not free- incurs a signaling Renegotiation is not free- incurs a signaling overhead overhead

Open questionsOpen questions when to renegotiate?when to renegotiate? how much to ask for?how much to ask for? admission control?admission control? what to do on renegotiation failure?what to do on renegotiation failure?

Page 87: Traffic  management

3. Measurement based admission

For traffic that cannot describe itselfFor traffic that cannot describe itself also renegotiated trafficalso renegotiated traffic

Over what time interval to measure average?Over what time interval to measure average?

How to describe a source?How to describe a source?

How to account for nonstationary traffic?How to account for nonstationary traffic?

Are there better strategies?Are there better strategies?

Page 88: Traffic  management

4. Peak load pricing

How to choose peak and off-peak prices?How to choose peak and off-peak prices?

When should peak hour end?When should peak hour end?

What does peak time mean in a global network?What does peak time mean in a global network?

Page 89: Traffic  management

5. Capacity planning

Simultaneously choosing a topology, link Simultaneously choosing a topology, link capacity, and routing metricscapacity, and routing metrics

But routing and link capacity interactBut routing and link capacity interact

What to measure for building traffic matrix?What to measure for building traffic matrix?

How to pick routing weights?How to pick routing weights?

Heterogeneity?Heterogeneity?

Page 90: Traffic  management

6. A metaproblem

Can increase user utility either byCan increase user utility either by service alignment service alignment oror overprovisioningoverprovisioning

Which is cheaper?Which is cheaper? no one is really sure!no one is really sure! small and smart vs. big and dumbsmall and smart vs. big and dumb

It seems that smarter ought to be betterIt seems that smarter ought to be better for example, to get low delays for telnet, we need to for example, to get low delays for telnet, we need to

give give all trafficall traffic low delay, even if it doesn’t need it low delay, even if it doesn’t need it But, perhaps, we can use the money spent on traffic But, perhaps, we can use the money spent on traffic

management to increase capacity!management to increase capacity!

Do we really need traffic management?Do we really need traffic management?

Page 91: Traffic  management

Macroscopic QoS

Three regimesThree regimes scarcity - micromanagementscarcity - micromanagement medium - generic policiesmedium - generic policies plenty - are we there yet?plenty - are we there yet?

Example: video callsExample: video calls

Take advantage of law of large numbersTake advantage of law of large numbers

Learn from the telephone networkLearn from the telephone network