The Evolution of Quality-of-Service on the Internet › ~jeffay › talks ›...

13
1 1 Kevin Jeffay Department of Computer Science February 2001 Kevin Kevin Jeffay Jeffay Department of Computer Science Department of Computer Science February 2001 February 2001 The Evolution of Quality-of-Service on the Internet The Evolution of The Evolution of Quality-of-Service Quality-of-Service on the Internet on the Internet University of North Carolina at Chapel Hill University of North Carolina at University of North Carolina at Chapel Hill Chapel Hill 2 2 Research Context Network support for immersive DVEs Research Context Research Context Network support for immersive Network support for immersive DVEs DVEs Salient problem characteristics: – Continuous media transmission – Low latency required for human-to-human communication, and the illusion of immersion Salient problem characteristics: Salient problem characteristics: Continuous media transmission Continuous media transmission Low latency required for human-to-human communication, and Low latency required for human-to-human communication, and the illusion of immersion the illusion of immersion The Office of the Future The Office of the The Office of the Future Future The nanoManipulator system The nanoManipulator The nanoManipulator system system 3 3 Performance of MM transmission Performance of “raw” transmission Performance of MM transmission Performance of MM transmission Performance of “raw” transmission Performance of “raw” transmission • “Out-of-the-box” ProShare performance “Out-of-the-box” “Out-of-the-box” ProShare ProShare performance performance Throughput (frames/sec) Throughput (frames/sec) Packet Loss Packet Loss Audio Latency (ms) Audio Latency (ms) Audio Audio Video Video – Frozen, motionless video – Clipped, broken audio Frozen, motionless video Frozen, motionless video Clipped, broken audio Clipped, broken audio 4 4 The Evolution of Quality-of-Service on the Internet The Evolution of Quality-of-Service The Evolution of Quality-of-Service on the Internet on the Internet The Internet is (slowly!) evolving to support quality-of-service The current mechanisms for realizing QoS are more about router queue management than virtual circuits Virtual circuits were investigated but have been largely abandoned –(Did we really need them in the first place?) The future Internet will provide router “forwarding behaviors” rather than end-to-end “services” –A simple per-hop priority forwarding service suffices The Internet is (slowly!) evolving to support The Internet is (slowly!) evolving to support quality-of-service quality-of-service The current mechanisms for realizing The current mechanisms for realizing QoS QoS are are more about router queue management than virtual more about router queue management than virtual circuits circuits Virtual circuits were investigated but have been Virtual circuits were investigated but have been largely abandoned largely abandoned (Did we really need them in the first place?) (Did we really need them in the first place?) The future Internet will provide router “forwarding The future Internet will provide router “forwarding behaviors” rather than end-to-end “services” behaviors” rather than end-to-end “services” A simple per-hop priority forwarding service suffices A simple per-hop priority forwarding service suffices Summary Summary Summary

Transcript of The Evolution of Quality-of-Service on the Internet › ~jeffay › talks ›...

Page 1: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

11

Kevin JeffayDepartment of Computer Science

February 2001

Kevin Kevin JeffayJeffayDepartment of Computer ScienceDepartment of Computer Science

February 2001February 2001

The Evolution ofQuality-of-Service

on the Internet

The Evolution ofThe Evolution ofQuality-of-ServiceQuality-of-Service

on the Interneton the Internet

University of North Carolina atChapel HillUniversity of North Carolina atUniversity of North Carolina atChapel HillChapel Hill

22

Research ContextNetwork support for immersive DVEsResearch ContextResearch ContextNetwork support for immersive Network support for immersive DVEsDVEs

• Salient problem characteristics:– Continuous media transmission– Low latency required for human-to-human communication, and

the illusion of immersion

•• Salient problem characteristics:Salient problem characteristics:–– Continuous media transmissionContinuous media transmission–– Low latency required for human-to-human communication, andLow latency required for human-to-human communication, and

the illusion of immersionthe illusion of immersion

• The Office of theFuture

•• The Office of theThe Office of theFutureFuture

• The nanoManipulatorsystem

•• The nanoManipulatorThe nanoManipulatorsystemsystem

33

Performance of MM transmissionPerformance of “raw” transmissionPerformance of MM transmissionPerformance of MM transmissionPerformance of “raw” transmissionPerformance of “raw” transmission

• “Out-of-the-box”ProShare performance

•• “Out-of-the-box”“Out-of-the-box”ProShare ProShare performanceperformance

Throughput (frames/sec)Throughput (frames/sec) Packet LossPacket Loss

Audio Latency (ms)Audio Latency (ms)

AudioAudio

VideoVideo

– Frozen, motionless video– Clipped, broken audio–– Frozen, motionless videoFrozen, motionless video–– Clipped, broken audioClipped, broken audio

44

The Evolution of Quality-of-Serviceon the InternetThe Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

• The Internet is (slowly!) evolving to supportquality-of-service

• The current mechanisms for realizing QoS aremore about router queue management than virtualcircuits

• Virtual circuits were investigated but have beenlargely abandoned– (Did we really need them in the first place?)

• The future Internet will provide router “forwardingbehaviors” rather than end-to-end “services”– A simple per-hop priority forwarding service suffices

•• The Internet is (slowly!) evolving to supportThe Internet is (slowly!) evolving to supportquality-of-servicequality-of-service

•• The current mechanisms for realizingThe current mechanisms for realizing QoS QoS are aremore about router queue management than virtualmore about router queue management than virtualcircuitscircuits

•• Virtual circuits were investigated but have beenVirtual circuits were investigated but have beenlargely abandonedlargely abandoned–– (Did we really need them in the first place?)(Did we really need them in the first place?)

•• The future Internet will provide router “forwardingThe future Internet will provide router “forwardingbehaviors” rather than end-to-end “services”behaviors” rather than end-to-end “services”–– A simple per-hop priority forwarding service sufficesA simple per-hop priority forwarding service suffices

SummarySummarySummary

Page 2: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

55

The Evolution of Quality-of-Serviceon the InternetThe Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

• The promise of the Internet for real-timecommunications

• The Integrated Service Architecture for the Internet– Reservations, admission control, and scheduling

• The non-deployment of INTSERV– What “service” do applications really need?

• The Differentiated Services Architecture for theInternet– Active Queue Management for congestion control and

quality-of-service

•• The promise of the Internet for real-timeThe promise of the Internet for real-timecommunicationscommunications

•• The Integrated Service Architecture for the InternetThe Integrated Service Architecture for the Internet–– Reservations, admission control, and schedulingReservations, admission control, and scheduling

•• The non-deployment of INTSERVThe non-deployment of INTSERV–– What “service” do applications really need?What “service” do applications really need?

•• The Differentiated Services Architecture for theThe Differentiated Services Architecture for theInternetInternet–– Active Queue Management for congestion control andActive Queue Management for congestion control and

quality-of-servicequality-of-service

OutlineOutlineOutline

66

Integrated Services ArchitectureIntegrated Services ArchitectureServicesServices

An Integrated Services Internet is one that supports:An Integrated Services Internet is one that supports:

Shared Link

ISP’sWest Coast

Office

UNC

Duke ISP’sEast Coast

Office

•• “Flows”“Flows”–– real-time communicationreal-time communication —service guarantees —service guarantees–– best-effort communicationbest-effort communication — today’s service model — today’s service model

•• Traffic managementTraffic management–– controlled link sharingcontrolled link sharing — enabling a service provider to— enabling a service provider to

allocate link’s capacity to “classes” of trafficallocate link’s capacity to “classes” of traffic

77

The Nature of CongestionQueueing delays in routersThe Nature of CongestionThe Nature of CongestionQueueing Queueing delays in routersdelays in routers

Inter-networkInter-Inter-

networknetwork

SwitchSwitchFabricFabric

SwitchSwitchFabricFabric

ISPISPRouterRouter

ISPISPRouterRouter

88

Integrated Services ArchitectureIntegrated Services ArchitectureAxiomsAxioms

•• Resource reservation is requiredResource reservation is required–– Network elements must maintain per-flowNetwork elements must maintain per-flow

state information and use this informationstate information and use this informationto ensure application performanceto ensure application performancecontracts are metcontracts are met

•• Admission control is requiredAdmission control is required–– To ensure performance contracts are met,To ensure performance contracts are met,

network elements must ensure they do notnetwork elements must ensure they do notover commit their resourcesover commit their resources

•• Applications must be policedApplications must be policed–– To ensure performance contracts are met,To ensure performance contracts are met,

network elements must ensurenetwork elements must ensureapplications do not claim more resourcesapplications do not claim more resourcesthan they contracted forthan they contracted for

Page 3: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

99

Integrated Services ArchitectureIntegrated Services ArchitectureService models for flowsService models for flows

•• Integrated services introduces the concept of aIntegrated services introduces the concept of aservice modelservice model–– A contract between a sender and the network for aA contract between a sender and the network for a

particular quality of serviceparticular quality of service

•• Proposed service modelsProposed service models–– Guaranteed delay Guaranteed delay — An application receives a— An application receives a

guarantee that all packets will be delivered within aguarantee that all packets will be delivered within afixed delay boundfixed delay bound

–– Controlled loadControlled load — Performance equivalent to that — Performance equivalent to thaton an “unloaded network”on an “unloaded network”

–– BestBest--efforteffort — Today’s service model — Today’s service model1010

Integrated Services Service ModelsIntegrated Services Service ModelsFlowspecsFlowspecs

•• To receive a service contract an application mustTo receive a service contract an application mustspecify the service it requires and the traffic it willspecify the service it requires and the traffic it willgenerategenerate–– Canonical flow specification — Canonical flow specification — the token bucketthe token bucket

Transmissiontokens

ρ

RegulatorRegulatorApplication

data

ρ

Network packets

ρ, ρmax max size

β

IETF traffic specification (TSpec)average ratetoken bucket depthpeak ratemaximum packet sizeminimum policed unit

IETF traffic specification (TSpec)average ratetoken bucket depthpeak ratemaximum packet sizeminimum policed unit

1111

FCFSFCFSSchedulerScheduler

PacketPacketSchedulerScheduler

Towards QoS NetworkingThe Integrated Services ArchitectureTowards QoS NetworkingTowards QoS NetworkingThe Integrated Services ArchitectureThe Integrated Services Architecture

RoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

ReservationSetup

AdmissionControl

ClassifierClassifier

Inter-networkInter-Inter-

networknetworkISPISP

RouterRouterISPISP

RouterRouter

1212

Realizing Integrated ServicesRealizing Integrated ServicesReference implementation componentsReference implementation components

Routing

Reservation & Traffic Control

Database

RoutingDatabase

Classifier PacketScheduler

Classifier PacketScheduler

•• ClassifierClassifier — Maps all packets into one or more classes— Maps all packets into one or more classesthat receive the same servicethat receive the same service

•• Packet SchedulerPacket Scheduler — Schedules packets for transmission— Schedules packets for transmissionso that performance contracts are enforcedso that performance contracts are enforced

...

......

ReservationSetup

AdmissionControl

Page 4: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

1313

ClassifierPacket

SchedulerRouting

RoutingDatabase

Reservation & Traffic Control

Database

ReservationSetup

AdmissionControl

Realizing Integrated ServicesRealizing Integrated ServicesReference implementation componentsReference implementation components

•• Reservation setup protocolReservation setup protocol–– Mechanism by which flow-specific state is createdMechanism by which flow-specific state is created

and maintainedand maintained

•• Admission control procedureAdmission control procedure–– The decision procedure that is used to determine if aThe decision procedure that is used to determine if a

new flow can be accepted or notnew flow can be accepted or not 1414

Realizing Integrated ServicesRealizing Integrated ServicesReference implementation componentsReference implementation components

•• End systems must support the same logicalEnd systems must support the same logicalcomponentscomponents–– A real-time chain is only as strong as its weakestA real-time chain is only as strong as its weakest

linklink

ClassifierPacket

SchedulerRouting

RoutingDatabase

Reservation & Traffic Control

Database

ReservationSetup

AdmissionControl

1515

ClassifierPacket

SchedulerRouting

RoutingDatabase

Reservation & Traffic Control

Database

ReservationSetup

AdmissionControl

Integrated Services ArchitectureIntegrated Services ArchitectureArchitectural componentsArchitectural components

•• Flow specificationsFlow specifications•• RoutingRouting

•• Resource reservationResource reservation•• Admission controlAdmission control•• Packet schedulingPacket scheduling

1616

Issues in Resource ReservationIssues in Resource ReservationPoint-to-point communicationsPoint-to-point communications

•• GoalGoal: Establish a virtual circuit from H1 to H2: Establish a virtual circuit from H1 to H2–– Reserve “resources” in routers R1, R2, and R3Reserve “resources” in routers R1, R2, and R3

•• Resources are...Resources are...–– Link capacity on transmission linksLink capacity on transmission links–– Buffer capacity in routers to hold packets in transitBuffer capacity in routers to hold packets in transit–– CPU capacity at all routers to forward packets fromCPU capacity at all routers to forward packets from

H1 in real-timeH1 in real-time

R1R1R2R2

R3R3

H1H1 H2H2L1 L2

L4L3

Page 5: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

1717

Resource Reservation ExampleResource Reservation ExampleST-II Two pass reservation protocolST-II Two pass reservation protocol

•• H1 sends a H1 sends a connectconnect message containing a message containing a flowspecflowspectowards H2towards H2–– The connect message is modified as needed by R1-R3The connect message is modified as needed by R1-R3

•• Upon receipt of the connect, H2 sends an Upon receipt of the connect, H2 sends an acceptacceptmessage back to H1message back to H1

•• Reservations are made when routers receive the Reservations are made when routers receive theaccept messageaccept message

R1R1R2R2

R3R3

H1H1 H2H2L1 L2

L4L3

r: H1-H2

r: H1-H2

r: H1-H2

1818

Issues in Resource ReservationIssues in Resource ReservationThe complexity of supporting multicastThe complexity of supporting multicast

•• How do we add/delete new users?How do we add/delete new users?•• How do we handle differing link/router capacities?How do we handle differing link/router capacities?•• How can we avoid over-reserving resources?How can we avoid over-reserving resources?•• What if the route from H1 to a receiver changes?What if the route from H1 to a receiver changes?

R1R1R2R2

R3R3

H3H3

H1H1 H2H2

H5H5

H4H4

L7

L1 L2

L8

L5

L4L3

R4R4

L6

L9

1919

RSVPRSVPA receiver initiated reservation protocolA receiver initiated reservation protocol

•• Receivers initiate reservationsReceivers initiate reservations–– Receivers know what bandwidth they want or can handleReceivers know what bandwidth they want or can handle–– Places burden of joining/leaving on the involved receiverPlaces burden of joining/leaving on the involved receiver–– Admits the possibility of optimizing reservations inAdmits the possibility of optimizing reservations in

routers & switches through aggregationrouters & switches through aggregation

R1R1R2R2

R3R3

H3H3

H1H1 H2H2

H5H5

H4H4

L7

L1 L2

L8

L5

L4L3

R4R4

L6

L9

2020

RSVPRSVPProtocol DesignProtocol Design

•• RSVP is a control protocolRSVP is a control protocol–– RSVP is above IP (like IGMP)RSVP is above IP (like IGMP)

•• Reservation is separate from routingReservation is separate from routing–– Assume only that RSVP and applicationAssume only that RSVP and application datagrams datagrams

are subject to the same routing algorithmsare subject to the same routing algorithms

•• Reservation and admission control areReservation and admission control areorthogonal processesorthogonal processes

•• Reservation state in routers is “soft” and mustReservation state in routers is “soft” and mustbe periodically refreshedbe periodically refreshed–– Ensures fault tolerance and allows reservations toEnsures fault tolerance and allows reservations to

be automatically reestablished after route changesbe automatically reestablished after route changes

Page 6: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

2121

RSVPRSVPOperation OverviewOperation Overview

•• Senders and receivers join a multicast groupSenders and receivers join a multicast group–– (Joining/leaving is performed outside of RSVP)(Joining/leaving is performed outside of RSVP)

•• Senders advertise their existenceSenders advertise their existence–– Sender to network messagesSender to network messages

»» Path request —Path request — make presence of a sender known make presence of a sender knownto network elementsto network elements

»» PathPath teardown teardown — — delete path state from routers delete path state from routers

•• Receivers subscribe to sender data streamsReceivers subscribe to sender data streams–– Receiver to network messagesReceiver to network messages

»» Reservation request — Reservation request — reserve resources fromreserve resources fromsender(s) to receiversender(s) to receiver

»» ReservationReservation teardown teardown — — delete reservations delete reservations2222

H1H1

RSVP OperationRSVP OperationExampleExample

•• 5 hosts, 3 routers/switches5 hosts, 3 routers/switches•• One multicast group containing all hostsOne multicast group containing all hosts

–– Each host will send and receive mediaEach host will send and receive media

R1R1R2R2

R3R3

H2H2 H3H3

H4H4H5H5L1

L2 L3

L4

L5

L7L6

2323

RSVP Operation ExampleRSVP Operation ExampleMaking simple reservationsMaking simple reservations

•• Assume each router has previously received Assume each router has previously received pathpathmessages from all sourcesmessages from all sources

•• No reservations have been madeNo reservations have been made

R1R1R2R2

R3R3

H1H1

H2H2 H3H3

H4H4H5H5L1

L2 L3

L4

L5

L7L6

Outbound

L1[H1], L2[H2], L6[R2] L5[H5], L6[R1], L7[R3] L3[H3], L4[H4], L7[R2]

R1 R2 R3

Inbound

Router State

2424

Outbound

L1[H1], L2[H2], L6[R2]

R1

Inbound

Router State

H2H2

H1H1 H5H5H4H4

H3H3

R1R1R2R2

R3R3

Simple Reservation ExampleSimple Reservation ExampleMaking a reservationMaking a reservation

•• H1 wants to be able to receive from any senderH1 wants to be able to receive from any senderbut only wants 1 stream at a timebut only wants 1 stream at a time

L1

L2

L3L7L6

L5L4

resv(b)resv(b)

Page 7: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

2525

Outbound

L1[H1], L2[H2], L6[R2] L5[H5], L6[R1], L7[R3] L3[H3], L4[H4], L7[R2]

R1 R2 R3

Inbound

Router State

H2H2

H1H1 H5H5H4H4

H3H3

R1R1R2R2

R3R3

Simple Reservation ExampleSimple Reservation ExampleForwarding a reservationForwarding a reservation

•• R1 reserves R1 reserves bb units of bandwidth units of bandwidth fromfrom R1 R1 to to H1 H1

L1

L2

L3L7

resv(b)resv(b)

b

L1(b)

•• R1 forwards R1 forwards rr11 over all links in its PATH database over all links in its PATH database

L6

L5L4

2626

•• R2 reserves R2 reserves bb units of bandwidth units of bandwidth fromfrom R2 R2 to to R1 R1

b

resv(b)resv(b)

H2H2

H1H1 H5H5H4H4

H3H3

R1R1R2R2

R3R3L1

L2

L3

L5

L7L6

b

•• R2 forwards R2 forwards rr11 over L5 & L7 over L5 & L7

L4

Simple Reservation ExampleSimple Reservation ExampleForwarding a reservationForwarding a reservation

Outbound

L1[H1], L2[H2], L6[R2] L5[H5], L6[R1], L7[R3] L3[H3], L4[H4], L7[R2]

R1 R2 R3

Inbound

Router State

L1(b) L6(b)

2727

Outbound

L1[H1], L2[H2], L6[R2] L5[H5], L6[R1], L7[R3] L3[H3], L4[H4], L7[R2]

R1 R2 R3

Inbound

Router State

L1(b) L6(b)

R3R3

•• R3 reserves R3 reserves bb units of bandwidth units of bandwidth fromfrom R3 R3 to to R2 R2

b

L7(b)

resv(b)resv(b)

b

H2H2

H1H1 H5H5H4H4

H3H3

R1R1R2R2

L1

L2

L3

L4L5

L7L6

b

•• Finally, Finally, bb units of bandwidth are reserved along units of bandwidth are reserved alongthe path from any host to H1the path from any host to H1

Simple Reservation ExampleSimple Reservation ExampleForwarding a reservationForwarding a reservation

2828

R3R3

Receiver-Initiated ReservationsReceiver-Initiated ReservationsSummarySummary

bb

H2H2

H1H1 H5H5H4H4

H3H3

R1R1R2R2

L1

L2

L3

L4L5

L7L6

b

• Resources are not reserved until actually needed• Reservations are aggregated on intermediate

links• Soft state ensures fault tolerance and provides

implicit integration with routing protocols

•• Resources are not reserved until actually neededResources are not reserved until actually needed•• Reservations are aggregated on intermediateReservations are aggregated on intermediate

linkslinks•• Soft state ensures fault tolerance and providesSoft state ensures fault tolerance and provides

implicit integration with routing protocolsimplicit integration with routing protocols

Page 8: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

2929

Classifier PacketSchedulerRouting

RoutingDatabase

Reservation & Traffic Control

DatabaseReservation

SetupAdmission

Control

Integrated Services ArchitectureIntegrated Services ArchitectureArchitectural componentsArchitectural components

•• Flow specificationsFlow specifications•• RoutingRouting

•• Resource reservationResource reservation•• Admission controlAdmission control•• Packet schedulingPacket scheduling

3030

P21P22P23

P11

Idealized Resource AllocationIdealized Resource AllocationFluid-flow resource allocationFluid-flow resource allocation

•• Generalized processor sharing (GPS)Generalized processor sharing (GPS)–– Service proceeds in Service proceeds in bit-by-bit roundsbit-by-bit rounds–– 1 bit is serviced from queue 1 bit is serviced from queue ii during each round during each round

•• Provides Provides fairfair allocation and provides allocation and provides isolationisolationfrom other connectionsfrom other connections

CPU

...

Connection q1

Connection q2

Connection qn

Pn1Pn2

OutputLink

3131

Fluid-Flow Resource AllocationFluid-Flow Resource AllocationGeneralized processor scheduling (GPS)Generalized processor scheduling (GPS)

•• Connections can be differentiated by integer weightsConnections can be differentiated by integer weights–– wwii bits transmitted from connection bits transmitted from connection ii during each round during each round–– Each connection receives a Each connection receives a shareshare of the link’s capacity equal to of the link’s capacity equal to

–– In an interval of length In an interval of length tt, connection , connection ii transmits transmits ffii xx tt xx CC bitsbitswhere where CC is the link capacity is the link capacity

∑ j wj

wifi =

P21P22P23

P11

CPU

...

Connection q1

Connection q2

Connection qn

Pn1Pn2

OutputLink

w1

w2

wn

C

3232

•• Consider 3 classes of multimedia connectionsConsider 3 classes of multimedia connectionssharing a 10sharing a 10 Mbps Mbps output link in a router output link in a router–– Assign each class a weight Assign each class a weight ww so that so that

–– In a round of length 10 In a round of length 10 µµs, connection s, connection ii transmits transmits wwii bitsbits

Generalized Processor SchedulingGeneralized Processor SchedulingExampleExample100, 32 kbps ADPCM

audio telephony streams

18, 128 kbps H.261 videoconf. streams

3, 1.5 Mbps MPEG video on demand streams

∑j wj

wifi =

C = 10Mbps

link bandwidthclass bandwidth

P21P22P23

P11

CPU

Pn1Pn2

w1 = 32

w2 = 23

w3 = 45

Page 9: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

3333

• In any interval, active connection Pi transmits wi bits•• In any interval, active connection In any interval, active connection PPii transmits transmits wwii bitsbits

Generalized Processor SchedulingBit-by-bit allocation v. packet-by-packetGeneralized Processor SchedulingGeneralized Processor SchedulingBit-by-bit allocation Bit-by-bit allocation vv. packet-by-packet. packet-by-packet

Time 0 1 2 3 4 5 6 7 8 9

w3 = 1

w2 = 1

w1 = 48 8

w4 = 1

w5 = 1

...

8

8

8

8

3434

• But packet scheduling is inherently non-preemptive!• Schedule packets by in order of their “finish number”

– Under “Packet-by-packet GPS” the deviation from trueGPS is bounded

•• But packet scheduling is inherently non-preemptive!But packet scheduling is inherently non-preemptive!•• Schedule packets by in order of their “finish number”Schedule packets by in order of their “finish number”

–– Under “Packet-by-packet GPS” the deviation from trueUnder “Packet-by-packet GPS” the deviation from trueGPS is boundedGPS is bounded

Generalized Processor SchedulingBit-by-bit allocation v. packet-by-packetGeneralized Processor SchedulingGeneralized Processor SchedulingBit-by-bit allocation Bit-by-bit allocation vv. packet-by-packet. packet-by-packet

Time 0 1 2 3 4 5 6 7 8 9

w3 = 1

w2 = 1

w1 = 48 8

w4 = 1

w5 = 1

...

8

8

8

8

3535

The Evolution of Quality-of-Serviceon the InternetThe Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

• The promise of the Internet for real-timecommunications

• The Integrated Service Architecture for the Internet– Reservations, admission control, and scheduling

• The non-deployment of INTSERV– What “service” do applications really need?

• The Differentiated Services Architecture for theInternet– Active Queue Management for congestion control and

quality-of-service

•• The promise of the Internet for real-timeThe promise of the Internet for real-timecommunicationscommunications

•• The Integrated Service Architecture for the InternetThe Integrated Service Architecture for the Internet–– Reservations, admission control, and schedulingReservations, admission control, and scheduling

•• The non-deployment of INTSERVThe non-deployment of INTSERV–– What “service” do applications really need?What “service” do applications really need?

•• The Differentiated Services Architecture for theThe Differentiated Services Architecture for theInternetInternet–– Active Queue Management for congestion control andActive Queue Management for congestion control and

quality-of-servicequality-of-service

OutlineOutlineOutline

3636

The Integrated Services ArchitectureAhead of its time or fatally flawed?The Integrated Services ArchitectureThe Integrated Services ArchitectureAhead of its time or fatally flawed?Ahead of its time or fatally flawed?

Inter-networkInter-Inter-

networknetworkISPISP

RouterRouterISPISP

RouterRouter

FCFSFCFSSchedulerScheduler

PacketPacketSchedulerSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

ReservationSetup

AdmissionControl

ClassifierClassifier

Page 10: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

3737

The Integrated Services ArchitectureAhead of its time or fatally flawed?The Integrated Services ArchitectureThe Integrated Services ArchitectureAhead of its time or fatally flawed?Ahead of its time or fatally flawed?

• Guarantees requires per-flow state in every routerand switch– And guarantees were only modulo route changes

•• Guarantees requires per-flow state in every routerGuarantees requires per-flow state in every routerand switchand switch–– And guarantees were only modulo route changesAnd guarantees were only modulo route changes

FCFSFCFSSchedulerScheduler

PacketPacketSchedulerSchedulerRoutingRouting

RoutingRoutingDatabaseDatabase

Reservation & Reservation & Traffic ControlTraffic Control

DatabaseDatabase

ReservationSetup

AdmissionControl

ClassifierClassifier

• Algorithmic complexity of reservations andscheduling is non-trivial

• Why would service providers implement this when(arguably) better services can be provided below IP?

•• Algorithmic complexity of reservations andAlgorithmic complexity of reservations andscheduling is non-trivialscheduling is non-trivial

•• Why would service providers implement this whenWhy would service providers implement this when(arguably) better services can be provided below IP?(arguably) better services can be provided below IP? 3838

Performance of MM transmissionPerformance of “raw” transmissionPerformance of MM transmissionPerformance of MM transmissionPerformance of “raw” transmissionPerformance of “raw” transmission

• “Out-of-the-box”ProShare performance

•• “Out-of-the-box”“Out-of-the-box”ProShare ProShare performanceperformance

Throughput (frames/sec)Throughput (frames/sec) Packet LossPacket Loss

Audio Latency (ms)Audio Latency (ms)

AudioAudio

VideoVideo

– Frozen, motionless video– Clipped, broken audio–– Frozen, motionless videoFrozen, motionless video–– Clipped, broken audioClipped, broken audio

3939

Performance of MM transmissionPerformance of adaptive transmissionPerformance of MM transmissionPerformance of MM transmissionPerformance of adaptive transmissionPerformance of adaptive transmission

Throughput (frames/sec)Throughput (frames/sec) Packet LossPacket Loss

Audio Latency (ms)Audio Latency (ms)

AudioAudio

VideoVideo

• End-system adaptation canameliorate many of the effectsof congestion

•• End-system adaptation canEnd-system adaptation canameliorate many of the effectsameliorate many of the effectsof congestionof congestion– But can it do so reliably or

predictably?– (And does it scale?)

–– But can it do so reliably orBut can it do so reliably orpredictably?predictably?

–– (And does it scale?)(And does it scale?)4040

1980

insufficientresources

1990 2000

Hardware resources in year X

Requirements(performance,

scale)

abundantresources

sufficientbut scarceresources

Real-time Services on the InternetReal-time Services on the InternetThe “Window of Scarcity” argumentThe “Window of Scarcity” argument

•• Do we need more bandwidth or just betterDo we need more bandwidth or just bettermanagement of the existing bandwidth?management of the existing bandwidth?

Page 11: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

4141

The Evolution of Quality-of-Serviceon the InternetThe Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

• The promise of the Internet for real-timecommunications

• The Integrated Service Architecture for the Internet– Reservations, admission control, and scheduling

• The non-deployment of INTSERV– What “service” do applications really need?

• The Differentiated Services Architecture for theInternet– Active Queue Management for congestion control and

quality-of-service

•• The promise of the Internet for real-timeThe promise of the Internet for real-timecommunicationscommunications

•• The Integrated Service Architecture for the InternetThe Integrated Service Architecture for the Internet–– Reservations, admission control, and schedulingReservations, admission control, and scheduling

•• The non-deployment of INTSERVThe non-deployment of INTSERV–– What “service” do applications really need?What “service” do applications really need?

•• The Differentiated Services Architecture for theThe Differentiated Services Architecture for theInternetInternet–– Active Queue Management for congestion control andActive Queue Management for congestion control and

quality-of-servicequality-of-service

OutlineOutlineOutline

4242

The Nature of CongestionQueueing delays in routersThe Nature of CongestionThe Nature of CongestionQueueing Queueing delays in routersdelays in routers

Inter-networkInter-Inter-

networknetwork

SwitchSwitchFabricFabric

SwitchSwitchFabricFabric

ISPISPRouterRouter

ISPISPRouterRouter

4343

Towards QoS NetworkingThe differentiated services architectureTowards QoS NetworkingTowards QoS NetworkingThe The differentiated services differentiated services architecturearchitecture

• ISPs allocate and sell capacity for a “premium”service

•• ISPs allocate and sell capacity for a “premium”ISPs allocate and sell capacity for a “premium”serviceservice

NetworkAccessPoint

NetworkNetworkAccessAccessPointPoint

FCFSFCFSSchedulerScheduler

ISPISPRouterRouter

ISPISPRouterRouter

4444

ISPISPRouterRouter

FCFSFCFSSchedulerScheduler

Towards QoS NetworkingThe differentiated services architectureTowards QoS NetworkingTowards QoS NetworkingThe The differentiated services differentiated services architecturearchitecture

• ISPs allocate and sell capacity for a “premium”service

•• ISPs allocate and sell capacity for a “premium”ISPs allocate and sell capacity for a “premium”serviceservice

NetworkAccessPoint

NetworkNetworkAccessAccessPointPoint

ProfileMeter

ClassifierClassifier

• Packets are markedaccording to“service profiles”

•• Packets are markedPackets are markedaccording toaccording to“service profiles”“service profiles”

PriorityPrioritySchedulerScheduler

ISPISPRouterRouter

Page 12: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

4545

ISPISPRouterRouter

Realizing Differentiated ServicesRealizing Differentiated ServicesActive queue managementActive queue management

• This is significant utility in realizing differentialservices with a single router queue

•• This is significant utility in realizing differentialThis is significant utility in realizing differentialservices with a single router queueservices with a single router queue

ProfileMeter

– In this model, a key technologyfor realizing differential servicesis a packet dropping policy

–– In this model, a key technologyIn this model, a key technologyfor realizing differential servicesfor realizing differential servicesis a packet dropping policyis a packet dropping policy FCFSFCFS

SchedulerSchedulerPacketPacketDropperDropper

NetworkAccessPoint

NetworkNetworkAccessAccessPointPointISPISP

RouterRouter4646

Realizing Differentiated ServicesRED active queue managementRealizing Differentiated ServicesRealizing Differentiated ServicesRED active queue managementRED active queue management

• Basic mechanism for realizing differentiatedservices is the random early detection (RED )congestion avoidance mechanism

•• Basic mechanism for realizing differentiatedBasic mechanism for realizing differentiatedservices is the services is the random early detectionrandom early detection (RED ) (RED )congestion avoidance mechanismcongestion avoidance mechanism

TimeTime

MaxMaxqueue lengthqueue length

Forced dropForced drop

MinMinthresholdthreshold

Drop probabilityDrop probability

No dropNo drop

MaxMaxthresholdthreshold ProbabilisticProbabilistic

early dropearly drop

Average router queue lengthAverage router queue length

4747

Realizing Differentiated ServicesRED active queue managementRealizing Differentiated ServicesRealizing Differentiated ServicesRED active queue managementRED active queue management

• Random drops avoid lock-out/synchronization effects– All flows see the same loss rate

• Early drops avoid full queues– Increases effective network utilization (“goodput”)– Decreases end-to-end latency by decreasing queuing delay

•• Random drops avoid lock-out/synchronization effectsRandom drops avoid lock-out/synchronization effects–– All flows see the same loss rateAll flows see the same loss rate

•• Early drops avoid full queuesEarly drops avoid full queues–– Increases effective network utilization (“Increases effective network utilization (“goodputgoodput”)”)–– Decreases end-to-end latency by decreasing queuing delayDecreases end-to-end latency by decreasing queuing delay

TimeTime

MaxMaxqueue lengthqueue length

Forced dropForced drop

MinMinthresholdthreshold

Drop probabilityDrop probability

No dropNo drop

MaxMaxthresholdthreshold ProbabilisticProbabilistic

early dropearly drop

Average router queue lengthAverage router queue length

4848

Realizing Differentiated ServicesRED & diffservRealizing Differentiated ServicesRealizing Differentiated ServicesRED & RED & diffservdiffserv

• Clark et al. RED with “In/Out” (RIO) scheme– Apply “harsh RED” to out-of-profile packets and

“lenient RED” to in-profile packets

•• Clark Clark et alet al. RED with “In/Out” (RIO) scheme. RED with “In/Out” (RIO) scheme–– Apply “harsh RED” to out-of-profile packets andApply “harsh RED” to out-of-profile packets and

“lenient RED” to in-profile packets“lenient RED” to in-profile packets

ISPISPISPISPRouterRouter RouterRouter

FCFSFCFSSchedulerScheduler

ProfileMeter

ClassifierClassifierLenientLenientREDRED

HarshHarshREDRED

NetworkAccessPoint

NetworkNetworkAccessAccessPointPoint

InIn

OutOut

Page 13: The Evolution of Quality-of-Service on the Internet › ~jeffay › talks › Maelardalen-QoS-Survey.pdf · The Evolution of Quality-of-Service on the Internet University of North

4949

Realizing QoS Through AQM“Class-based thresholds”Realizing Realizing QoSQoS Through AQM Through AQM“Class-based thresholds”“Class-based thresholds”

• Designate a set of traffic classes and allocate a fractionof a router’s buffer capacity to each class

•• Designate a set of traffic classes and allocate a fractionDesignate a set of traffic classes and allocate a fractionof a router’s buffer capacity to each classof a router’s buffer capacity to each class

ClassifierClassifier

ffnn ≤≤

ff11 ≤≤

ff22 ≤≤

... ...

FCFSFCFSSchedulerScheduler

• Once a class is occupying its (weighted average) limit ofqueue elements, discard all arriving packets

• Within a traffic class, further active queue managementmay be performed

•• Once a class is occupying its (weighted average) limit ofOnce a class is occupying its (weighted average) limit ofqueue elements, discard queue elements, discard allall arriving packets arriving packets

•• Within a traffic class, further active queue managementWithin a traffic class, further active queue managementmay be performedmay be performed

5050

The Evolution of Quality-of-Serviceon the InternetThe Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

• The Internet is evolving to support quality-of-service

•• The Internet is evolving to support quality-of-The Internet is evolving to support quality-of-serviceservice

Guaranteed Guaranteed QoSQoSPerfect CongestionPerfect Congestion

ControlControl

End-SystemEnd-SystemAdaptationAdaptation

to Congestionto Congestion

Advanced Advanced CongestionCongestion

ControlControl

Better-Than-Better-Than-Best-Effort Best-Effort ForwardingForwarding

FIFOFIFOGPSGPS CBTCBTRIORIO REDRED

• The current mechanisms for realizing QoS aremore about router queue management than virtualcircuits

•• The current mechanisms for realizingThe current mechanisms for realizing QoS QoS are aremore about router queue management than virtualmore about router queue management than virtualcircuitscircuits

– Capacity allocation & inter-flow protection are requiredfor QoS

–– Capacity allocation & inter-flow protection are requiredCapacity allocation & inter-flow protection are requiredfor for QoSQoS

5151

The Evolution of Quality-of-Serviceon the InternetThe Evolution of Quality-of-ServiceThe Evolution of Quality-of-Serviceon the Interneton the Internet

• Active Queue Management can provideperformance comparable to packet scheduling...– Lower state requirements and algorithmic complexity

•• Active Queue Management can provideActive Queue Management can provideperformance comparable to packet scheduling...performance comparable to packet scheduling...–– Lower state requirements and algorithmic complexityLower state requirements and algorithmic complexity

Guaranteed Guaranteed QoSQoSPerfect CongestionPerfect Congestion

ControlControl

End-SystemEnd-SystemAdaptationAdaptation

to Congestionto Congestion

Advanced Advanced CongestionCongestion

ControlControl

Better-Than-Better-Than-Best-Effort Best-Effort ForwardingForwarding

FIFOFIFOGPSGPS CBTCBTRIORIO REDRED

• The Internet of tomorrow will provide router“forwarding behaviors” rather than end-to-end“services”

•• The Internet of tomorrow will provide routerThe Internet of tomorrow will provide router“forwarding behaviors” rather than end-to-end“forwarding behaviors” rather than end-to-end“services”“services”

5252

Kevin JeffayDepartment of Computer Science

February 2001

Kevin Kevin JeffayJeffayDepartment of Computer ScienceDepartment of Computer Science

February 2001February 2001

The Evolution ofQuality-of-Service

on the Internet

The Evolution ofThe Evolution ofQuality-of-ServiceQuality-of-Service

on the Interneton the Internet

University of North Carolina atChapel HillUniversity of North Carolina atUniversity of North Carolina atChapel HillChapel Hill