Presentation is loading. Please wait.

Presentation is loading. Please wait.

Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.

Similar presentations


Presentation on theme: "Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and."— Presentation transcript:

1 Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776

2 Katz, Stoica F04 2 Today’s Lecture: 15 Network (IP) Application Transport Link Physical 2 7, 8, 9 10,11 17, 18, 19 14, 15, 16 21, 22, 23 25 6

3 Katz, Stoica F04 3 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface of a router 1 2 Scheduler flow 1 flow 2 flow n Classifier Buffer management

4 Katz, Stoica F04 4 Goals of Packet Scheduling  Provide per flow/aggregate QoS guarantees in terms of delay and bandwidth  Provide per flow/aggregate protection  Flow/Aggregate identified by a subset of following fields in the packet header -source/destination IP address (32 bits) -source/destination port number (16 bits) -protocol type (8 bits) -type of service (8 bits)  Examples: -All packets from machine A to machine B -All packets from Berkeley -All packets between Berkeley and MIT -All TCP packets from EECS-Berkeley

5 Katz, Stoica F04 5 Outline  QoS guarantees  Link sharing  Service curve (short)

6 Katz, Stoica F04 6 Recap: Token Bucket and Arrival Curve  Parameters -r – average rate, i.e., rate at which tokens fill the bucket -b – bucket depth -R – maximum link capacity or peak rate (optional parameter)  A bit is transmitted only when there is an available token  Arrival curve – maximum number of bits transmitted within an interval of time of size t r bps b bits <= R bps regulator time bits b*R/(R-r) slope R slope r Arrival curve

7 Katz, Stoica F04 7 How Is the Token Bucket Used?  Can be enforced by -End-hosts (e.g., cable modems) -Routers (e.g., ingress routers in a Diffserv domain)  Can be used to characterize the traffic sent by an end-host

8 Katz, Stoica F04 8 Source Traffic Characterization  Arrival curve – maximum amount of bits transmitted during an interval of time Δt  Use token bucket to bound the arrival curve ΔtΔt bits Arrival curve time bps

9 Katz, Stoica F04 9 Source Traffic Characterization: Example  Arrival curve – maximum amount of bits transmitted during an interval of time Δt  Use token bucket to bound the arrival curve bits Arrival curve time bps 0 12345 1 2 12345 1 2 3 4 (R=2,b=1,r=1) ΔtΔt

10 Katz, Stoica F04 10 QoS Guarantees: Per-hop Reservation  End-host: specify -the arrival rate characterized by token-bucket with parameters (b,r,R) -the maximum maximum admissible delay D  Router: allocate bandwidth r a and buffer space B a such that -no packet is dropped -no packet experiences a delay larger than D bits b*R/(R-r) slope r Arrival curve D BaBa slope r a

11 Katz, Stoica F04 11 Packet Scheduling  Make sure that at any time the flow receives at least the allocated rate r a  The canonical example of such scheduler: Weighted Fair Queueing (WFQ)

12 Katz, Stoica F04 12 Recap: Fair Queueing  Implements max-min fairness: each flow receives min ( r i, f ), where -r i – flow arrival rate -f – link fair rate (see next slide)  Weighted Fair Queueing (WFQ) – associate a weight with each flow

13 Katz, Stoica F04 13 Fair Rate Computation: Example 1  If link congested, compute f such that 8 6 2 4 4 2 f = 4 : min(8, 4) = 4 min(6, 4) = 4 min(2, 4) = 2 10

14 Katz, Stoica F04 14 Fair Rate Computation: Example 2  Associate a weight w i with each flow i  If link congested, compute f such that 8 6 2 4 4 2 f = 2 : min(8, 2*3) = 6 min(6, 2*1) = 2 min(2, 2*1) = 2 10 ( w 1 = 3) ( w 2 = 1) ( w 3 = 1) If Σ k w k = w i Flow i is guaranteed to be allocated a rate >= wi *C/( Σ k w k )

15 Katz, Stoica F04 15 Fluid Flow System  Flows can be served one bit at a time  WFQ can be implemented using bit-by-bit weighted round robin -During each round from each flow that has data to send, send a number of bits equal to the flow’s weight

16 Katz, Stoica F04 16 Fluid Flow System: Example 1 12 3 45 1234 12 3 12 4 34 5 56 56 Flow 2 (arrival traffic) Flow 1 (arrival traffic) Service in fluid flow system time time (ms) Packet Size (bits) Packet inter-arrival time (ms) Rate (Kbps) Flow 1100010100 Flow 25001050 100 Kbps Flow 1 ( w 1 = 1) Flow 2 ( w 2 = 1) 01020304050607080

17 Katz, Stoica F04 17 Fluid Flow System: Example 2 015210468 511111  Red flow has packets backlogged between time 0 and 10 -Backlogged flow  flow’s queue not empty  Other flows have packets continuously backlogged  All packets have the same size flows link weights

18 Katz, Stoica F04 18 Implementation In Packet System  Packet (Real) system: packet transmission cannot be preempted. Why?  Solution: serve packets in the order in which they would have finished being transmitted in the fluid flow system

19 Katz, Stoica F04 19 Packet System: Example 1 12132344556 Packet system time 12 3 12 4 34 5 56 Service in fluid flow system time (ms)  Select the first packet that finishes in the fluid flow system

20 Katz, Stoica F04 20 Packet System: Example 2 0210468 02 468  Select the first packet that finishes in the fluid flow system Service in fluid flow system Packet system

21 Katz, Stoica F04 21 Implementation Challenge  Need to compute the finish time of a packet in the fluid flow system…  … but the finish time may change as new packets arrive!  Need to update the finish times of all packets that are in service in the fluid flow system when a new packet arrives -But this is very expensive; a high speed router may need to handle hundred of thousands of flows!

22 Katz, Stoica F04 22 Example  Four flows, each with weight 1 Flow 1 time ε Flow 2 Flow 3 Flow 4 0123 Finish times computed at time 0 time Finish times re-computed at time ε 01234

23 Katz, Stoica F04 23 Solution: Virtual Time  Key Observation: while the finish times of packets may change when a new packet arrives, the order in which packets finish doesn’t! -Only the order is important for scheduling  Solution: instead of the packet finish time maintain the number of rounds needed to send the remaining bits of the packet (virtual finishing time) -Virtual finishing time doesn’t change when the packet arrives  System virtual time – index of the round in the bit-by-bit round robin scheme

24 Katz, Stoica F04 24 System Virtual Time: V(t)  Measure service, instead of time  V(t) slope – normalized rate at which every backlogged flow receives service in the fluid flow system -C – link capacity -N(t) – total weight of backlogged flows in fluid flow system at time t 12 3 12 4 34 5 56 Service in fluid flow system time V(t)

25 Katz, Stoica F04 25 System Virtual Time (V(t)): Example 1  V(t) increases inversely proportionally to the sum of the weights of the backlogged flows 12 3 12 4 34 5 56 Flow 2 (w2 = 1) Flow 1 (w1 = 1) time C C/2V(t)

26 Katz, Stoica F04 26 System Virtual Time: Example 0412816 w1 = 4 w2 = 1 w3 = 1 w4 = 1 w5 = 1 C/4 C/8 C/4 V(t)

27 Katz, Stoica F04 27 Fair Queueing Implementation  Define - - virtual finishing time of packet k of flow i - - arrival time of packet k of flow i - - length of packet k of flow i -w i – weight of flow i  The finishing time of packet k+1 of flow i is / w i

28 Katz, Stoica F04 28 Properties of WFQ  Guarantee that any packet is transmitted within packet_lengt/link_capacity of its transmission time in the fluid flow system -Can be used to provide guaranteed services  Achieve max-min fair allocation -Can be used to protect well-behaved flows against malicious flows

29 Katz, Stoica F04 29 Outline  QoS guarantees  Link sharing  Service curve (short)

30 Katz, Stoica F04 30 Hierarchical Link Sharing  Resource contention/sharing at different levels  Resource management policies should be set at different levels, by different entities -Resource owner -Service providers -Organizations -Applications Link Provider 1 seminar video Math Stanford.Berkeley Provider 2 WEB 155 Mbps 50 Mbps 10 Mbps 20 Mbps 100 Mbps 55 Mbps Campus seminar audio EECS

31 Katz, Stoica F04 31 Hierarchical WFQ (H-WFQ) Example 41 1 111  Red session has packets backlogged at time 5  Other sessions have packets continuously backlogged 5 0 10 20 10 1 First red packet arrives at 5…and it is served at 7.5 Service in fluid flow system

32 Katz, Stoica F04 32 Packet Approximation of H-WFQ  Idea 1 -Select packet finishing first in H-WFQ assuming there are no future arrivals -Problem: Finish order in system dependent on future arrivals Virtual time implementation won’t work  Idea 2 -Use a hierarchy of WFQ to approximate H-WFQ 64 3 2 1 WFQ 10 Packetized H-WFQ Fluid Flow H-WFQ 64 3 2 1 WFQ 10

33 Katz, Stoica F04 33 Problems with Idea 1  The order of the 4 th blue packet finish time and of the first green packet finish time changes as a result of a red packet arrival Make decision here Blue packet finish first Green packet finish first 41 1 111 5 10 1

34 Katz, Stoica F04 34 Problem with Idea 2  A packet on the second level can miss its deadline (finish time) 41 1 111 5 10 1 First red packet arrives at 5 …but it is served at 11 ! First level packet schedule Second level packet schedule

35 Katz, Stoica F04 35 Solution  Hierarchical-WFQ with a better implementation of WFQ, called Worst-Case Weighted Fair Queueing (WF2Q)  Main idea of WF2Q -Consider for scheduling only eligible packets -Eligible packet at time t: a packet that has started being serviced in the fluid flow system at time t

36 Katz, Stoica F04 36 Example Fluid-Flow System WFQ (smallest finish time first) WF2Q (smallest eligible finish time first)

37 Katz, Stoica F04 37 Hierarchical-WF2Q Example  In WF2Q, all packets meet their deadlines modulo time to transmit a packet (at the line speed) at each level 41 1 111 5 10 1 First red packet arrives at 5..and it is served at 7 First level packet schedule Second level packet schedule

38 Katz, Stoica F04 38 Outline  QoS guarantees  Link sharing  Service curve (short)

39 Katz, Stoica F04 39 Bandwidth-Delay Coupling  Assume -An arrival curve specified by token bucket (R, r, b) -A reservation request (r min, D), where r min – minimum bandwidth, D – maximum delay  WFQ can be inefficient: to satisfy delay D, the allocated rate r a may need to be much higher than r ! bits b*R/(R-r) slope r Arrival curve slope r a D

40 Katz, Stoica F04 40 Example  End-host: request a worst-case delay D=10ms for a flow characterized by token bucket (R=1Mbps, b=10Kb, r=100Kbps)  Router: allocate rate r a, where  Thus, the router needs to allocate to the flow more than 5 times its average rate r ! r a = b*R / (D*(R-r) + b) = 0.52Mbps

41 Katz, Stoica F04 41 Solution: Service Curve  Generalize the service allocated to a flow -Assume a flow that is idle at time s and it is backlogged during the interval ( s, t ) -Service curve: the minimum service received by the flow during the interval ( s, t ) t S (t) = service curve Arrival Curve D B bits WFQ implements a linear service curve

42 Katz, Stoica F04 42 Linear Service Curves: Example t bits t t Arrival traffic t bits tt Service curves Arrival process Service Video FTP t Video packets have to wait after ftp packets

43 Katz, Stoica F04 43 Non-Linear Service Curves: Example t bits t t Arrival traffic t bits tt Service curves Arrival process Service t Video FTP Video packets transmitted as soon as they arrive

44 Katz, Stoica F04 44 What You Need to Know  Basic concepts -Arrival & service curve -Token-bucket specification -System virtual time / finish virtual time -WFQ properties -Link sharing requirements and challenges -Bandwidth-delay coupling problem  Mechanisms: -WFQ implementation in the fluid flow & packet system  You don’t need to know -Details of WF2Q -How service curve works


Download ppt "Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and."

Similar presentations


Ads by Google