Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.