118
Link Scheduler Configuration
Note:
The SmartWare link scheduler before any other bandwidth sharing method always serves the
priority scheme first.
Weighted Fair Queuing
With other traffic sources you do not know as well, you would normally want to specify that for
example class A gets three times the bandwidth of class B and that-no matter how many class A
packets arrive-B packets will still be served. This is called weighted fair queuing: each class is
assigned a
relative
weight, which determines how much more A bytes will be carried than B bytes. It
would be possible to assign A the weight 3 and B the weight 1, but it is better using values that can
be read as percentage, e.g. A is set to 75 and B is set to 25, which represents 75% for A and 25% for B
of the whole bandwidth.
There is one thing to remember about weighted fair queuing (wfq), if in our example no class A
packets are waiting in their queue-class B packets will get all the available bandwidth. In addition if
three or more classes share the full bandwidth and one class is not active for a while, the remaining
classes share the full bandwidth among each other-thereby getting a higher relative weight-if they
are active at this time. The following example illustrates this behavior. Assume that relative weights
are set, with A = 25%, B = 25%, and C = 50%. Under the circumstances, that C is not active for a while,
A and B will each get half the bandwidth if they are both active at this moment.
Shaping
There is another commonly used way to assign bandwidth. It is called
shaping
and it makes sure that
each class will get just as much bandwidth as assigned and not more. This is useful if some
bandwidth is reserved for other applications in the network, which promises to deliver the packets
within a guaranteed time. But in turn the network will insist that no more data is sent than reserved
and paid for. When connecting the SmartNode to a
DiffServ
network an arbitration technique using
shaping is recommended.
Burst Tolerance
For weighted fair queuing and shaping there is a variation of the scheduler that allows to specify if a
traffic class may temporarily receive a higher rate as long as the average stays below the limit. This
burstiness measure allows the network to explicitly assign buffers to bursty sources such that they
may try their luck and send out bursts, which arrive with less delay when no one else uses the
bandwidth. But this usage does not apply to access links.
When you use shaping on the access link the shaper sometimes has the problem that multiple
sources are scheduled for the same time-and therefore some of them will be served too late. If the
rate of every source had to strictly obey its limit, all following packets would also have to be delayed
by the same amount, and further
collisions
would reduce the achieved rate even further. To avoid this
effect the SmartWare shaper assumes that the burstiness needed for sources to catch up after
collisions is implicitly allowed. SmartWare allows setting the burst rate and bursting size if more
control over its behavior, which will rarely be the case, is considered necessary.
Burst tolerance has a different effect when used with
weighted fair queuing
. Think of it as a higher
initial rate when a source device starts transmitting data packets. This allows giving a higher
priority
to short data transfers. This feature is sometimes referred to as a
service curve
.
Hierarchy
So far you get introduced into different ways for assign bandwidth, you could think of it as different
methods to decide whose packet have to be served next. Having more flexibility is available with
SmartWare by cascading such bandwidth decisions one by the next. This is handled by means of
setting up a decision tree where in each stage the branch to be served is chosen until at the level of a
leaf the respective class is chosen. This procedure is called
hierarchical scheduling
.
The hierarchical notation has two advantages:
Software Configuration Guide, Revision 1.03
Summary of Contents for SmartWare R2.00
Page 2: ......