18
Quality of service, Queueing Martin Heusse

Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

Quality of service, Queueing

Martin Heusse

Page 2: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 2

Packet delay and loss1. Processing tr

✓ Error detection&correction(de-interleaving—important on DSL!),Reassembly

✓ Routing table lookup, system latency✓ Head of line queueing maybe?

2. Queueing (→ losses)

tq =Q(t)C

3. Transmission

tt =LC

4. Propagation tp✓ Speed of light, or maybe less…

Page 3: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 3

Quality of service requirements may vary!

• TCP bulk data transfer

✓ No loss✓ Uses whole available bandwidth

(but happy to share, this goes with avoiding losses…)✓ Will most probably fill the buffer, cause (∼ periodic) overflows

• VoIP call

✓ Does not like long delays✓ Does not like losses✓ Low data rate… but no congestion control

• Video stream

✓ Does not like jitter✓ Layered Codecs?

Page 4: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 4

Absolute priorities

• One queue / class of service

• Packet identification(applies to all QoS differentiationschemes)

✓ Access list✓ Packet marking: ToS field

• Starvation possible!

✓ TCP connection timeout…

Page 5: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 5

Packet marking

• Formerly: Packet priority (RFC 791)

• Now: DIffServ (RFC2474 2475)Simple task in the core, complex treatment at edge devices(or hosts)

✓ 6 bits for packet class (DSCP: Differentiated Services CodePoint) + 2 bits ECN (explicit congestion notification)

✓ Prec. level: 0 = best effort✓ Prec. level: 1x (e.g. DSCP=10,12, 14), 2x (e.g. DSCP=18, 20,

22…), 3x (…), 4x (…)AF (Assured Forwarding) classes (x=1, 2, 3 is drop probability)

I Traffic in excess of “contract” is more likely to be dropped

✓ Prec. level: 5: Expedited forwarding (DSCP=46, VoIP…)✓ Routing, control: DSCP=48, 56

Page 6: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 6

Token bucket

�� ��Limit burst size and average rate

Token arrival rate r

• Bucket size limits burst size

• Arrival rate bounds average rate

• May be used for marking packets

Page 7: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 7

Fair queueing

�� ��Objective: (weighted) max min fairness

a.k.a Generalised processor sharing (GPS)

• Not implementable (infinitely small quanta)

• Fluid flow model

• work conserving: it serves bits as soon as some data needsservice

• Reference scheme

Page 8: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 8

Exemple

Arrival:19

Raj JainThe Ohio State University

GPS Example: ArrivalsGPS Example: Arrivals! Eleven Sources. First source gets 0.5.

Other 10 sources get 0.05 each. First

source sends 10 cells. 2-11 send one each at t=0.S1S2S3S4S5S6S7S8S9S10S11

Time0 10 20

GPS:20

Raj JainThe Ohio State University

GPS Example: ServiceGPS Example: Service! Each cell of the first source takes 2 units

of time. Sources 2-11 take 20 units each.

S1S2S3S4S5S6S7S8S9S10S11

Time0 10 20

Source 1: weight 0.5 others: 0.05source: http://www.cse.wustl.edu/~jain/talks/ftp/sched.pdf

Page 9: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 9

Why is (weighted) fair queueing a goodthing?

• TCP connections protection against UDP

• With FIFO, a greedier flow gets larger share

• Low rate flows are served quickly (voice…)• Lowers impact of other causes of unfairness

✓ TCP cx w/ different RTTs✓ ACK prioritization in uplink of asymmetric link

• No (less) short term unfairness With 2 connection entering a bottleneck, there is no reason that losses are

fairly distributed: on connection can always find a full buffer!

Page 10: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 10

Coarse grain fairness

• Round robin: pick on packet in each queue, repeat

✓ fair if all packets are of same size

• DRR (Deficit round robin)

✓ Gives quantum q ton queue Q✓ if deficit counter d+ q > p (packet size) then send and

d← d− p+ q

✓ Otherwise d← d+ q

✓ reset d when Q is empty!

Page 11: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 11

WFQ: Weighted Fair Queueing

• Runs a “simulation” of GPS… round robin bit-by-bit

• 1 FIFO per queue

• Packet tagged with finish time

• Smallest tag (across queues) leaves first• When a packet arrives:

✓ Q not empty: add size of packet to last tag in this queue✓ Q empty: “round number” (computed at time of packet arrival)

+ packet size

• If packet arrives into full queue, drop packet(s) with highestfinish time

(S. Keshav, an engineering approach to computer networking)

Page 12: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 12

Round number calculation

• Round rate depends on number of active cx

• Active cx: a Q with tag > current round

• round rate # CNcx

Page 13: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 13

Example — WFQ

Arrival:19

Raj JainThe Ohio State University

GPS Example: ArrivalsGPS Example: Arrivals! Eleven Sources. First source gets 0.5.

Other 10 sources get 0.05 each. First

source sends 10 cells. 2-11 send one each at t=0.S1S2S3S4S5S6S7S8S9S10S11

Time0 10 20

WFQ:21

Raj JainThe Ohio State University

Weighted Fair QueueingWeighted Fair Queueing! Approximates bit-by-bit round robin.

Compute GPS finish time and schedule

the packet with the smallest finish time.S1S2S3S4S5S6S7S8S9S10S11

Time0 10 20

Page 14: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 14

Example 2 — WFQ

Arrival:24

Raj JainThe Ohio State University

GPS Example 2: ArrivalsGPS Example 2: Arrivals! Eleven Sources. First source gets 0.5.

Other 10 sources get 0.05 each. First

source sends 11 cells. 2-11 send one each at t=0.S1S2S3S4S5S6S7S8S9S10S11

Time0 10 20

p111

WFQ:26

Raj JainThe Ohio State University

WFQ: ServiceWFQ: Service! Packets finish at the same time or earlier

than GPS. Some packets finish much earlier.

Long period of no service ! Unfair.S1S2S3S4S5S6S7S8S9S10S11

Time0 10 20

p111

Page 15: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 15

SCFQ

• Similar to WFQ

• No round number: if queue empty, use tag of packet beingserved

Page 16: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 16

RED — Random Early Detection RFC2309

�� ��Drop packets before queue actually overflows

• Benefits of AQM (active Q. mngt)✓ Avoids consistently full queue, so bursts may be accommodated

into the buffer→ less losses

✓ Lower delay✓ Prevents lock-out of other connection by a greedy connection

• Principle

✓ Monitor average queue length l

✓ when queue length between l andqueue size Drop packets with linearly increasingprobability queue size

max. queue size

1

Dro

p pr

ob.

Page 17: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 17

ECN — RFC2481

• ECN bits: 00=Not ECN; 11=congestion experienced (CE);01 and 10= ECN-Capable Transport

• The CE code is set by router instead of dropping packet Same as a single packet drop ( cwnd← cwnd

2 )do this only once per window

• TCP

✓ Negotiation between end-hosts of ECN-capability✓ Upon reception of segment with CE codepoint, set ECN-Echo

(ECE) flag in the TCP header✓ Sender reacts to this

Congestion!

CE in IP header

ECE in TCP header

Page 18: Quality of service,Queueing - imag.frlig-membres.imag.fr/heusse/RICM4/queueing_Slides.pdfQuality of service requirements may vary! • TCPbulk data transfer No loss Uses wholeavailablebandwidth

CSE / QoS 18

LAS

40CHAPITRE 3. UNE NOUVELLE APPROCHE POUR LA QUALITE DE SERVICE : L’AMELIORATION DU SERVICE

BEST-EFFORT

3.4.4 LAS et SRPT

SRPT est une politique optimale au sens ou elle minimise le temps de reponse moyen.Il est donc important de comparer LAS a SRPT pour evaluer de combien elles di!erentet voir si la di!erence est fonction de la variabilite de la loi. Nous avons tout d’abordcompare le temps moyen conditionnel de reponse de LAS et SRPT :

Theoreme 6 Soit !(x) ! "(x)+x#F c(x). Alors, pour toute distribution c.m.f.v.f et pourtoute charge " < 1,

T (x)SRPT ! T (x)LAS !!1" "(x)

1" !(x)

"2

T (x)SRPT (3.9)

Les resultats numeriques deduits du theoreme precedent montre que LAS o!re un tempsde reponse similaire a SRPT quand la distribution de la taille des clients est fortementvariable. Pour la distribution exponentielle, LAS o!re des temps de reponse notablementplus eleves que SRPT.Nous avons aussi analyse LAS en surcharge et compare les resultats obtenus avec ceux deSRPT. Nous avons tout d’abord prouve que LAS peut servir des clients meme en cas desurcharge ; puis, nous avons determine le temps de reponse conditionnel moyen sous LASen surcharge :

T (x)LAS =

#!(m2(x)+x2(1!F (x)))

2(1!"(x)!!x(1!F (x)))2 + x1!"(x)!!x(1!F (x)) si x < xLAS(#)

+# si x $ xLAS(#)

0 0.5 1 1.5 2100

101

102

Load !

Mea

n sl

owdo

wn

PS LAS SRPT

Fig. 3.5 – Temps moyen de reponse normalize pour le 99eme percentile pour la distributionBP (322, 1010, 1.1) en fonction de la charge.

Pour rappel, le temps de reponse de PS est non borne lorsque " > 1. Ce n’est pas lecas pour SRPT comme prouve dans [12]. La figure 3.5 montre qu’au contraire de PS,LAS et SRPT sont stables en surcharge pour certaines tailles de clients. On observeegalement que LAS devient instable avant SRPT, ce qui etait previsible car SRPT possededes informations precises sur le futur d’un temps de service alors que LAS ne peut quel’estimer a partir du passe.

Heavy tail distribution, 99th percentile normalized response time (HDR G. Urvoy-Keller)

• The magic of LAS: giving more priority to the smallest flowhelps everyone!

• Unbounded lock-out of connections

• Requires one state / ongoing flow (not per active (e.g. withpackets in the queue) flow!)