1 / 7

Link Sharing or CBQ

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

galia
Download Presentation

Link Sharing or CBQ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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: a class can continue unregulated if - the class is not overlimit, OR - 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

More Related