Presentation is loading. Please wait.

Presentation is loading. Please wait.

Link Sharing or CBQ Link sharing controls the distribution of bandwidth on “local” links Each class receives a guaranteed share during congestion Aggregate.

Similar presentations


Presentation on theme: "Link Sharing or CBQ Link sharing controls the distribution of bandwidth on “local” links Each class receives a guaranteed share during congestion Aggregate."— Presentation transcript:

1 Link Sharing or CBQ Link sharing controls the distribution of bandwidth on “local” links Each class receives a guaranteed share during congestion Aggregate “similar” connections in the same class Hierarchical link sharing A unified set of mechanisms to satisfy link sharing (organizational) and real-time (application) service requirements General scheduler + link-sharing scheduler General scheduler could be a priority-based scheduler During congestion, the link-sharing scheduler is invoked to rate-limit the “overlimit” class to its allocated bandwidth Explicitly prevents starvation of lower-priority traffic Distribution of “excess” bandwidth is a function of general scheduler Classes and bandwidth allocations could be static or dynamic

2 Goals and Formal Guidelines
Main goal: each interior or leaf class should receive roughly its allocated bandwidth over appropriate time intervals, given sufficient demand Distribution of “excess” bandwidth should not be arbitrary, e.g. to higher priority classes in proportion to their allocations Within each class, congestion control for its queue can be done using TCP, admission control, RED, etc. Packets from a “regulated” class are scheduled by the link-sharing scheduler, from an “unregulated” class by the general scheduler Link-sharing scheduler rate-limits a regulated class, for example by decreasing its priority so that the general scheduler sends packets from that class less frequently The “estimator” estimates the bandwidth used by each class over a time interval

3 Formal Guidelines A leaf class is “unsatisfied” if it is “underlimit” and has a persistent backlog A non-leaf class is unsatisfied if it is underlimit and has some descendant class with a persistent backlog A class can continue unregulated if - the class is not overlimit, OR - the class has a not-overlimit ancestor al level i, and there are no unsatisfied classes at levels lower than i. Otherwise, the class will be regulated This check can be done by the general scheduler before transmitting a packet from that class, or less frequently

4 Approximations Avoid checking the “satisfied” status of other classes
Ancestors-Only approximation: a class can continue unregulated if - the class is not overlimit, OR - the class has an underlimit ancestor A class can be regulated unnecessarily An overlimit class can continue unregulated until its parent is labeled not underlimit, even if a sibling class is unsatisfied Top-Level approximation: - the class has an underlimit ancestor whose level is at most Top-Level Top-Level indicates the highest level from which a class can borrow (infinity in Ancestors-Only, 1 means parent status not checked)

5 Simulations General scheduler uses strict priority
For classes of same priority, the general scheduler uses a variant of weighted round robin with number of bytes served at each round proportional to bandwidth allocations The estimator updates the limit status for a class and its ancestor classes after a packet from that class is transmitted EWMA of inter-packet departure times (the reciprocal is the average rate) t = measured time since the departure of previous packet f = s/b, s is packet size and b the allocated rate diff = t - f is negative if class exceeds its allocated rate avg = (1-w) * avg + w * diff Limit avg to a maximum (positive value) so not to accumulate credits

6 Simulations (cont’d) Each class has a “time-to-send” field
If a class has avg negative (i.e. overlimit), the estimator sets time-to-send to a time x seconds ahead of current time to bring avg to zero If time-to-send is zero, the class is at-limit or underlimit, and the general scheduler is allowed to send a packet from that class If time-to-send is greater than current time, then the class is overlimit. The general scheduler can only send a packet from that class if permitted by the link-sharing rules Each class is getting its allocated rate The excess is given to higher priority classes; divided in proportion of allocations among classes of same priority The approximations are good, with Ancestors-Only sometimes slightly imprecise

7 Comments Link sharing can protect non-real-time traffic
E.g. when prediction of future traffic is incorrect and the predictive service class becomes oversubscribed Group compatible connections into classes (e.g. TCP connections, rate-adaptive video connections) and protect them from each other


Download ppt "Link Sharing or CBQ Link sharing controls the distribution of bandwidth on “local” links Each class receives a guaranteed share during congestion Aggregate."

Similar presentations


Ads by Google