Shared and Dedicated Buffer Memory Pools on ACX Series Routers
The ACX5048 and ACX5096 router has 12 megabytes of Packet Forwarding Engine (PFE) wide common packet buffer memory that is used to store packets on interface queues. The buffer memory is divided into two pools, shared buffers and dedicated buffers or reserved buffers.
Shared buffers are a global memory pool that the router allocates
dynamically to ports as needed, so the buffers are shared among the
ports. To configure a maximum amount of shared buffer that the multicast
packets can consume, include the multicast percentage
CLI statement at the [edit class-of-service schedulers scheduler-name shared-buffer maximum
] hierarchy
level. The value that you can specify for multicast percentage
CLI command can be from 0 through 100
percent. If the multicast percentage
CLI statement is not added, then the value defined by the shared-buffer
maximum percent percentage
is used for
multicast packets as well.
Dedicated buffers or reserved buffers are a memory pool divided
equally among the router ports. Each port receives a minimum guaranteed
amount of buffer space, dedicated to each port, not shared among ports.
To configure a dedicated buffer for multicast packets, include the buffer-partition multicast percentage
CLI
statement at the [edit class-of-service schedulers scheduler-name
buffer-size
] hierarchy level. The value that you can specify
for buffer-partition multicast percentage
CLI command can be from 0 through 100 percent. If the buffer-partition multicast percentage
CLI
statement is not configured, then a default value of 25% is reserved
for multicast packets.
The total amount of actual queue buffer is defined using
the buffer-size
CLI command.
The ACX5448 router supports delay bandwidth buffer (DBB) for virtual output queues (VOQs). ACX5448 router supports an external DRAM memory, as well as an on-chip buffer (OCB) for storing packet data. A packet is either fully stored in the DRAM or fully stored in the OCB and can consume one or more buffers (upto 40 buffers) depending on the packet size versus the buffer size. A buffer contains a single packet or a part of a single packet.
The ACX5448 router does not support buffering for IRB multicast traffic and therefore CLIs for configuring multicast is not supported.
The ACX5448 router does not support buffer-partition multicast
percent
percentage option for buffer-size
and multicast percentage
option
for shared-buffer-maximum
.
To configure shared and dedicated buffers, include the multicast percentage
and buffer-partition
multicast percentage
CLI statements at
the [edit class-of-service]
hierarchy level:
[edit class-of-service] schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds | buffer-partition multicast percent percentage ); shared-buffer maximum (percent percentage | multicast percentage); } }
The following is a sample configuration for shared and dedicated buffers in ACX5048 and ACX5096 routers:
[edit class-of-service] schedulers schd1{ buffer-size percent 80; buffer-partition { multicast { percent 30; } } shared-buffer { maximum { 20; multicast { 10; } } } }
The port gets 50 microseconds worth of reserved buffer. For a 10 Gigabyte port without any shaper, this translates to 62500 Bytes.
In the above sample configuration, the total buffer size allotted for the queue is 80 percent.
Under buffer-partition, the multicast packets get 30 percent of the total buffer-size, which translates to about 24 percent of port-buffer. The unicast packets get the remaining 70 percent of 80 percent of the port buffer, which translates to 56 percent of port buffer.
Under shared-buffer, the multicast packets get up to 10 percent of the total shared buffer. Unicast packets use up to 20 percent of the total shared buffer.
The following is a sample configuration for shared and dedicated buffers in ACX5448 router:
[edit class-of-service] schedulers schd1{ buffer-size percent 80; shared-buffer { maximum { 20; } } }
The ACX5448 router has OCB size of 16MB and DRAM size of 6GB. The default buffer size per port is 100 microseconds. The total buffer size for 48X10GE + 4X100GE comes to 11MB. The ACX5448 router supports deep buffering of oversubscribed traffic using external DRAM to queue traffic to oversubscribed ports. The ACX5448 router uses the DRAM-Mix mode by default, which uses DRAM buffers during oversubscription cases. The ACX5448 router supports configuring buffer size (dedicated buffers) per egress queue, which is similar to ACX5000 line of routers.
The ACX6360 routerhas a 39 MB total switch buffer pool. By default, 15 percent of the total buffer pool is allocated to the dedicated buffer pool and the remaining is allocated to the shared buffer pool. If you configure the shared buffer pool as less than 100 percent of the available buffer pool, the remaining buffer space is added to the dedicated buffer pool. You can distribute the shared buffer pool among lossless, lossy, and multicast queues with the following configuration:
[edit class-of-service shared-buffer] user@router# set egress percent 100 user@router# set egress buffer-partition lossless percent percent-value user@router# set egress buffer-partition lossy percent percent-value user@router# set egress buffer-partition multicast percent percent-value