Buffer pool allocation - per node MBS pool (7210 SAS-T)

In the per node MBS pool mode, each of the queue on a port, is allocated a CBS amount of committed buffers. The remaining amount of buffers is allocated toward the MBS pool that is available for sharing among all the queues across all the ports of the node. The queue’s CBS portion of buffers guarantees that the queue does not starve because of lack of buffers.

The buffers allocated toward the node’s MBS pool, allows each port to handle some amount of burst. Per port MBS pool of buffers is shared by all the queues of the port and allows any queue or a group of queues across multiple ports to absorb larger bursts, assuming that not all the queues on all the ports receive burst simultaneously. In a typical network, the router/switch in the ingress traffic is usually a mix of packets of different sizes and different flows burst at different time intervals, which allows for better burst absorption capability per queue using shared resources.

The hardware implements an algorithm to handle requests for allocation of buffers from the MBS pool (in both models) assuming that not all the ports and queues burst at the same time. This allows some queues to use a larger portion of the buffers when it is available, allowing them to handle larger bursts. At the same time, the algorithm ensures that all the queues get fair share of the buffers, so that the throughput on those ports is not affected.

When hardware receives a packet, before it decides to queue up the packet on the egress queue of the destination port, it determines the discard threshold for the queue based on the oversubscription factor and the total amount of free buffers available at that point of time.

The queue’s discard threshold is higher if the amount of free buffers available is larger (which indicates other queues on the node have lesser congestion), allowing the queue to absorb larger bursts. The queue’s discard threshold is lower if there are fewer free buffers available (which indicates that other queues are heavily congested on the node), which results in the packet being dropped. At the same time, algorithm allocates the available free buffers to queues which are using lesser amount of buffers or not using any buffers. This allows equal sharing of available buffers and maintains a good throughput for less congested queues.

On 7210 SAS-T (in both access-uplink and network mode), 2MB of buffers are available and by default per node MBS pool is used and an option is available to user to change it to per port MBS pool.

Note: