Presentation is loading. Please wait.

Presentation is loading. Please wait.

7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Schedulers.

Similar presentations


Presentation on theme: "7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Schedulers."— Presentation transcript:

1 7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Schedulers

2 7/15/2015HY220: Ιάκωβος Μαυροειδής2 Scheduler SCHEDULERSCHEDULER Who to serve next? Examples : Traffic scheduler (switches, routers) Memory scheduler Task scheduler Bus Arbiter

3 7/15/2015HY220: Ιάκωβος Μαυροειδής3 Requirements of scheduling An ideal scheduling discipline  is easy to implement  is fair and protective  provides performance bounds Each scheduling discipline makes a different trade-off among these requirements Scheduling discipline has to make a decision once every few microseconds! Should be implementable in a few instructions or hardware  for hardware: critical constraint is VLSI space  Complexity of enqueue + dequeue processes Work per packet should scale less than linearly with number of active connections

4 7/15/2015HY220: Ιάκωβος Μαυροειδής4 1. FCFS / FIFO Queuing  Simplest Algorithm, widely used.  Scheduling is done using first-in first-out (FIFO) discipline  All requests are fed into the same queue

5 7/15/2015HY220: Ιάκωβος Μαυροειδής5 FIFO Queuing (cont ’ d) First-In First-Out (FIFO) queuing  First Arrival, First Transmission  Completely dependent on arrival time  No notion of priority or allocated buffers  No space in queue, packet discarded  Flows can interfere with each other; No isolation; malicious monopolization;  Various hacks for priority, random drops,...

6 7/15/2015HY220: Ιάκωβος Μαυροειδής6 2. Priority Queuing A priority index is assigned to each request upon arrival Requests transmitted in ascending order of priority index.  Priority 0 through n-1  Priority 0 is always serviced first Priority i is serviced only if 0 through i-1 are empty Highest priority has the  lowest delay,  highest throughput,  lowest loss Lower priority classes may be starved by higher priority Preemptive and non-preemptive versions.

7 7/15/2015HY220: Ιάκωβος Μαυροειδής7 Priority Queuing Transmission link Packet discard when full High-priority packets Low-priority packets Packet discard when full When high-priority queue empty

8 7/15/2015HY220: Ιάκωβος Μαυροειδής8 3. Round Robin: Architecture Flow 1 Flow 3 Flow 2 Transmission link Round robin Hardware requirement: Jump to next non-empty queue

9 7/15/2015HY220: Ιάκωβος Μαυροειδής9 Round Robin Scheduling Round Robin: scan class queues serving one from each class that has a non-empty queue

10 7/15/2015HY220: Ιάκωβος Μαυροειδής10 4. Weighted Fair Queueing Each flow i given a weight (importance) w i WFQ guarantees a minimum service rate to flow i  r i = R * w i / (w 1 + w 2 +... + w n )  Implies isolation among flows (one cannot mess up another) w1w1 w2w2 wnwn R flows

11 7/15/2015HY220: Ιάκωβος Μαυροειδής11 What is the intuition ? Fluid Flow w1w1 water pipes w2w2 w3w3 t1t1 t2t2 w2w2 w3w3 water buckets w1w1

12 7/15/2015HY220: Ιάκωβος Μαυροειδής12 WFQ : Implementation with counters c 1 = 2 2222 c 2 = 1 1111 3333 c 3 = 3 Global count 1:0 2 2 2 2 4 4 4 4 6 Global count 2:0 0 1 1 2 2 3 4 4 4 Global count 3:0 0 0 3 3 3 3 3 6 6 w 1 = 1/2 w 2 = 1 w 3 = 1/3 21 312 11 3 2 Serve the flow with minimum global counter.


Download ppt "7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Schedulers."

Similar presentations


Ads by Google