Shared Memory Pool Fairness for Multicast Egress Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-speed packet networks, shared memory allocation among multiple queues leads to egress queue fairness issues, particularly with multicast packets that occupy a single slot in memory but are transmitted to multiple egress ports, resulting in inefficient memory use and potential congestion.
Innovation Solution
A combined unicast-multicast user-pool is implemented, where multicast packets are counted only once across multiple egress queues, and the occupancy of each queue is computed separately, allowing for fair admission policies based on available free-space and weighted random early detection (WRED) profiles to ensure efficient memory use and fairness between unicast and multicast queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If shared memory is allocated dynamically among multiple queues based on traffic load, then memory utilization efficiency is improved, but egress queue fairness deteriorates
Solution Approach 1:
The patent segments the shared memory into multiple virtual buffer pools, each associated with specific egress queues. This segmentation allows independent accounting and management of buffer resources for different queue groups, enabling fair allocation while maintaining high overall utilization. Each pool tracks its own occupancy separately, preventing one queue from monopolizing memory at the expense of others.
Solution Approach 2:
The patent introduces a buffer pool manager as an intermediary layer between the physical shared memory and the egress queues. This manager implements sophisticated accounting mechanisms that track buffer usage by individual queues and multicast packets, making fair allocation decisions based on configured policies. The intermediary translates physical memory availability into fair virtual buffer allocation across multiple queues.
2Quantity of substance
If multicast packets are stored once in shared memory for multiple egress ports, then memory space is saved, but accurate occupancy tracking for each queue becomes complex
Solution Approach 1:
The patent creates virtual copies of multicast packet references in the buffer occupancy accounting structure, rather than physical copies in memory. When a multicast packet is stored once, the system creates multiple reference entries in the virtual buffer pool accounting, each associated with a different egress queue. This allows accurate tracking of queue-specific occupancy while the actual packet data exists only once in physical memory.
Solution Approach 2:
The patent replaces the mechanical approach of storing physical packet copies in memory for each queue with a virtual accounting mechanism. The buffer pool manager maintains software-based occupancy records that reflect queue-specific buffer usage without requiring duplicate physical storage. This substitution of virtual accounting for physical duplication achieves both space efficiency and accurate tracking.
3Reliability
If buffer space is allocated per egress queue, then queue fairness is maintained, but overall memory utilization decreases
Solution Approach 1:
The patent merges multiple virtual buffer pools into a single physical shared memory pool while maintaining separate accounting for each. The buffer pool manager allows queues to borrow buffer space from other pools when available, effectively combining unused resources across queues. This merging enables fair individual allocation while capturing overall utilization benefits from shared physical memory.
Solution Approach 2:
The patent implements dynamic buffer allocation where queue assignments and pool memberships can change based on traffic conditions and configuration. The buffer pool manager dynamically adjusts which queues access which pools and how much space they can consume, allowing the system to adapt to changing fairness requirements and utilization patterns. This dynamic approach optimizes both fairness and utilization over time.
Data Source
AI summary
In one embodiment, a network device includes multiple ports to be connected to a packet data network so as to serve as both ingress and egress ports in receiving and forwarding of data packets including unicast and multicast data packets, a memory coupled to the ports and to contain a combined unicast-multicast user-pool storing the received unicast and multicast data packets, and packet processing logic to compute a combined unicast-multicast user-pool free-space based on counting only once at least some of the multicast packets stored once in the combined unicast-multicast user-pool, compute an occupancy of an egress queue by counting a space used by the data packets of the egress queue in the combined unicast-multicast user-pool, apply an admission policy to a received data packet for entry into the egress queue based on at least the computed occupancy of the egress queue and the computed combined unicast-multicast user-pool free-space.


