scheduling

10
Scheduling • Determines which packet gets the resource. • Enforces resource allocation to each flows. • To be “Fair”, scheduling must: – Keep track of how many packets each flow has sent – Consider resources reserved for each flow.

Upload: malha

Post on 04-Jan-2016

41 views

Category:

Documents


1 download

DESCRIPTION

Scheduling. Determines which packet gets the resource. Enforces resource allocation to each flows. To be “Fair”, scheduling must: Keep track of how many packets each flow has sent Consider resources reserved for each flow. Basic requirements Isolation and sharing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Scheduling

Scheduling

• Determines which packet gets the resource.

• Enforces resource allocation to each flows.

• To be “Fair”, scheduling must:– Keep track of how many packets each flow has

sent– Consider resources reserved for each flow.

Page 2: Scheduling

• Basic requirements– Isolation and sharing

• All flows are isolated in circuit switched networks.• In the current Internet, all flows share all resources

at the packet level.• Ensuring QoS requires isolation• Too much isolation lower the resource utilization.• To support QoS in IP network, we need to be able to

emulate the traffic isolation while sharing resources at the packet level.

– Delay bounds:• IntServ requires scheduling to support delay bounds.• Delay bounds reflect the trade-off between isolation

and sharing.

Page 3: Scheduling

• Basic requirements– Bandwidth allocation.

• Fair-sharing policy. (What is fair?)

• Max-min fair sharing maximize the minimum share of a flow

– Resources are allocated in order of increasing demands

– No flow is allocated more than its demand

– Flows with unsatisfied demands get an equal share of the resource.

Page 4: Scheduling

• Basic requirements– Max-min fair sharing calculation

• Calculate the initial fair share = total capacity / no. of flows

• Flows that have a demand less than or equal to its fair share, allocate the flow’s demand

• Allocate the fair share to flows with a larger demand (than the fair share).

• Remove the satisfied flows and subtract the allocated capacities from the total capacity.

• Repeat until all demands are met or capacity run out.

– Can associate a weight with a flow– Example: Link speed 10Mbps to support 5

flows 1Mbps, 2Mbps, 3Mbps, 4Mbps, 5Mbps

Page 5: Scheduling

• Design choice:– Work-conserving versus non-work-conserving

schedulers• Is the scheduler always busy when a packet is

presented?

– Simple priority: not sufficient by itself– Approaches

• Fair-queuing: guaranteed to get its entitled bandwidth and may get more.

• Deadline-based schemes: earliest deadline-first

• Rate-based:

Page 6: Scheduling

• Weighted Fair Queuing (WFQ)– Supports bandwidth allocation and delay

bounds– Widely implemented in routers for supporting

QoS.– Fluid Model (Figure 2.19)

Page 7: Scheduling

• Generalized Processor Sharing (GPS)– An ideal fair-queuing algorithm based on the

fluid model that provide exact max-min weighted fair sharing

– Parameters:• N flows served by a server with service rate R

• Ith flow has a weight a Wi

• S(I, t1, t2) be the amount of data serviced for flow I during interval (t1, t2).

– For each backlogged flow I and any other flow J, S(I, t1, t2)/S(j, t1, t2) >= Wi / Wj

Page 8: Scheduling

• Generalized Processor Sharing (GPS)– For each backlogged flow I and any other flow

J, S(I, t1, t2)/S(j, t1, t2) >= Wi / Wj

– The minimum fair share: Wi/sum(W) * R– The service that a flow receives in a GPS

system is no worse than an equivalent dedicated link with a capacity of Wi/Sum(W) * R

Page 9: Scheduling

• Weighted Fair Queuing:– Packet by packet generalized processor sharing– Trying to emulated GPS

• Calculate the departure time of a packet (finish time)• Schedule packet based on the finish time

– Computing finish time is doable, but somewhat hard since flows can move between backlogged and nonbacklogged state. (See Figure 2.21)

– Worst case delay is larger than GPS due to the packetization, but still bounded – this is the theoretical fundation for IntServ.

Page 10: Scheduling

• Weighted Fair Queuing variations:• Make it more “fair”

• Deal with more situations

• Simplify the calculation

– Worst-case Fair WFQ (WF^2Q)– Hierarchical WFQ– Self-clocking Fair Queuing (SCFQ)– Weighted Round Robin (WRR)– Deficit Round Robin (DRR)