310 likes | 585 Views
Scheduling for QoS Management. Outline. What is Queue Management and Scheduling? Goals of scheduling Fairness (Conservation Law/Max-min fair share) Various scheduling techniques Research directions in scheduling. What is scheduling?.
E N D
Outline • What is Queue Management and Scheduling? • Goals of scheduling • Fairness (Conservation Law/Max-min fair share) • Various scheduling techniques • Research directions in scheduling Engineering Internet QoS
What is scheduling? • Packets from multiple flows compete for same outgoing link. • Which packets should be given preference? • How many packets should be transmitted from a flow? • Simple solution: First come best served • Complex solution: Provide QoS guarantees. Engineering Internet QoS
Scheduling Goals • Sharing bandwidth • Fairness to competing flows • Meeting bandwidth guarantees (max and min) • Meeting loss guarantees (multiple level) • Meeting delay guarantees (multiple level) • Reducing delay variations Engineering Internet QoS
Conservation law • Sum of the mean queuing delays received by the set of multiplexed connections, weighted by their share of link’s load is independent of the scheduling discipline – Kleinrock Engineering Internet QoS
Conservation Law Contd Engineering Internet QoS
Max-min fair share • Allocates the smallest of all demands from all flows • Distribute remaining resources equally competing of the flows • Guarantees fairness Engineering Internet QoS
Scheduling Disciplines • First come first serve (FCFS) • Priority (PQ) • Round Robin (RR)/Weighed round robin • Deficit round robin (DRR) • Weighted fair queuing (WFQ) • Class based queuing (CBQ) Engineering Internet QoS
First Come First Serve • Packets enqueued into a common buffer • Server serves packet from front of queue • No fair sharing of bandwidth • No flow isolation • No priority or QoS guarantee Engineering Internet QoS
FCFS example Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
Priority Queuing • Multiple queues with priority 0 to n-1 • Priority 0 served first • Priority i served only if 0 to i-1 empty • Highest priority – lowest delay/loss, highest bandwidth • Possible starvation of lower class Engineering Internet QoS
Priority Queue example Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
Generalized processor sharing • Ideal work conserving scheme • Flows kept in separate queue • Serve infinitesimal amount of data from each queue • Serve all active queues in finite time • Weight can be associated with each queue • Achieves max-min fair share Engineering Internet QoS
GPS Continued • In GPS terminology, a connection is called backlogged when it has data present in queue. • Lets assume that there are K flows to be served by a server implementing GPS with weights w(1), .. w(k) Service rate of ith flow in interval [τ, t] is represented as R(i, τ,t). For any backlogged flow i in interval [τ,t] and for another flow j, the following equation holds: Engineering Internet QoS
Round Robin • Flows kept in separate queue • Serve one packet from each active queue • Fair share but no bandwidth guarantee • What if packet size variable Engineering Internet QoS
Weighted Round Robin • Allows variable length packet • Serves n packet from a queue • n adjusted to specific fraction of link share • Fairness problem at small time scale • Needs to know packet size a priori • Assume 3 ATM sources (small cell size) with weights 0.75, 1.0 and 1.5. If these weights are normalised to integer values, each source will be served 3, 4 and 6 cells in each round. Engineering Internet QoS
Deficit Round Robin • No need to know packet size a priori • Initially serves each queue quantum worth of bits • If packet less than or equal to quantum, serve it • Else increment deficit_counter by quantum • If no more outstanding packet, reset deficit_counter (Why?) • Set quantum to minimum MTU of all incoming links • Fairness problem at smaller time scale Engineering Internet QoS
DRR Example 1 Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
DRR Example 2 Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
DRR Example 3 Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
DRR Example 4 Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
Weighted Fair Queuing • Packets tagged with a value identifying the time last bit of packet should be transmitted using GPS simulation • Packet with lowest tag value transmitted by scheduler • Uses complex finish time calculation • Hard to implement with variable packet size • QoS guarantees possible (gets bandwidth in proportion of weight) Engineering Internet QoS
WFQ Delay bounds • Delay can be bounded if flows can be policed (token bucket) • Flows regulated by token bucket are put in different queues • Each queue has assigned weight • With token bucket policing, assume that intially the token bucket is full and a brust of bipackets arrive for a flow of class i. Last packet to complete service will suffer a maximum delay of dmax given by equation Engineering Internet QoS
WFQ Delay with Token bucket Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
Finish Time Calculation • Following equation shows the finish time calcuation where R(t) is called round number. Pcm is the time required to transmit mth packet from cth connection and w(c) is the weight of connection c. Engineering Internet QoS
Round Number • This is the number a bit-by-bit round robing scheduler (in place of GPS’s non-implementable infinitesimal data) has completed at a given time. The round number is a variable that depends on number of active queues to be served (inversely proportional to the active queue number). The more queues to serve, the longer a round will take to complete (example and figure in section 3.2.7 of text) Engineering Internet QoS
Virtual Clock • Also known as Fair Queuing • WFQ finish time calculation is very complex • Virtual clock replaces round time with real time as per the following equation (here, Am is the real-arrival time of packet m): Engineering Internet QoS
VC Example Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
Class Based Queuing Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
CBQ Contd Reprinted with Permission from “Engineering Internet QoS - Jha & Hassan, Artech House Publishing, Norwood, MA, USA. www.artechhouse.com Engineering Internet QoS
Scheduling Research Directions • Worst-case fair weighted Fair queuing (WF2Q) • Self clocked fair queuing (SCFQ) • Start time fair queuing (SFQ) • Core state fair queuing (CSFQ) • Score others Engineering Internet QoS