
PXB 4330 E
Semiconductor Group
36
Application Note 11.98
1.8
Buffer Partitioning Examples
Two global buffers exist, one in the upstream direction and one in the downstream
direction. Each one has a maximum size of 64k cells, depending on RAM configuration
(see [
1
], page 42). The usage of the global buffer by each traffic class, scheduler and
queue is controlled via thresholds.
For global buffer usage due to rt- and nrt-traffic classes the following basic approach is
suggested:
The absolute thresholds (= all global buffer thresholds in
Table 2
) BufNrtMax/BufNrtEPD
are intended to be used for partitioning the global buffer of an ABM core per traffic class,
in a manner that a shared buffer behavior is possible. The global buffer space between
BufNrtMax/BufNrtEPD of a traffic class i and the BufNrtMax/BufNrtEPD of the next lower
traffic class (= lower priority traffic class) can exclusively be used by traffic class i and all
traffic classes with a higher BufNrtMax/BufNrtEPD than traffic class i (= higher priority
traffic classes).
This mechanism allows:
a) For rt-traffic a minimum guaranteed buffer space reservation per global buffer is
possible, e.g. 256 cells. It is determined by the following equation:
guaranteed buffer space for rt-traffic (e.g. 256 cells) = total buffer size (maximum
64k cells) - highest BufNrtMax threshold.
b) Assignment of guaranteed global buffer space to the nrt-traffic class with the
highest BufNrtMax, e.g. assigning the highest BufNrtMax to VBR-nrt reserves
guaranteed global buffer space to meet the QoS requirements of this traffic class.
The relative thresholds per traffic class (=TrafClassMax) are intended to control the
sharing of buffer among different traffic classes. Within each individual traffic class
sharing of buffer space is possible anyway, limited by relative thresholds per queue
(=QmaxEPD). The relative threshold per scheduler (=SbMaxEpdCi) is additionally
provided to protect the buffer being totally occupied by cells of a single scheduler. E.g.
in case a scheduler is not served because of failure of the associated PHY.
In summary any degree of overbooking can be adjusted by the usage of the relative
thresholds at total buffer, scheduler and queue level. Two possible extreme cases are at
one hand the total sharing of the whole buffer by all queues and on the other hand the
complete segmentation of the buffer space into dedicated portions for schedulers, traffic
classes and queues.
Buffer sharing within a traffic class is outlined for the case of GFR traffic. Usually the sum
of all QmaxEPD thresholds of all GFR queues would exceed the value of TrafClassMax
and even BufNrtMax/BufNrtEPD, as for GFR the value of QmaxEPD will be chosen
considerably higher than the demanded MBS. As most of the time GFR queues are
almost empty, the remaining global buffer space for GFR can be used by the active GFR
queues (which use queue buffer space far above MBS).
The following two examples make use of buffer sharing.