Shared Buffer Memory Reserve for Fair Network Queue Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing shared memory buffer management techniques in network switches fail to prevent any single queue from occupying the entire memory, leading to buffer access denial for other queues, especially during data bursts, resulting in dropped packets and reduced throughput.
Innovation Solution
Implement a memory management system that enqueues packets based on dynamic and static queue thresholds, ensuring a global reserve for victim queues by reserving a portion of the shared buffer memory, thereby maintaining continuous availability for low-throughput queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single queue is permitted to occupy the entire shared buffer memory during data bursts, then the throughput for that queue is improved, but other queues are denied buffer access resulting in packet drops
Solution Approach 1:
The shared buffer memory is segmented into multiple regions, each assigned to a specific queue. This segmentation prevents any single queue from monopolizing the entire buffer while ensuring each queue has guaranteed access to its designated memory region, thereby maintaining both high throughput for active queues and buffer access availability for victim queues
Solution Approach 2:
Different regions of the shared buffer memory are allocated with different access permissions and priorities tailored to specific queue requirements. Aggressor queues can dynamically utilize their allocated regions during bursts, while victim queues maintain guaranteed access to their reserved regions, creating localized quality variations that resolve the contradiction between throughput and availability
2Adaptability or versatility
If dynamic memory allocation is used to permit queues to take more than their share during bursts, then handling of incoming packet bursts is improved, but fair allocation is compromised when the buffer is oversubscribed
Solution Approach 1:
The memory allocation system operates dynamically with two modes: during undersubscription, queues can expand beyond their baseline allocation to handle bursts; during oversubscription, the system enforces strict boundaries to maintain fair allocation. This dynamic behavior adapts to traffic conditions while preserving fairness through the segmented architecture that prevents any queue from exceeding its allocated region
Solution Approach 2:
The segmented buffer architecture preemptively establishes memory boundaries for each queue before conflicts occur. This preliminary structuring prevents aggressor queues from encroaching on victim queue territories during oversubscription scenarios, maintaining fair allocation while still allowing dynamic utilization within allocated regions during bursts
Data Source
AI summary
The subject technology relates to the management of a shared buffer memory in a network switch. Systems, methods, and machine readable media are provided for receiving a data packet at a first network queue from among a plurality of network queues, determining if a fill level of a queue in a shared buffer of the network switch exceeds a dynamic queue threshold, and in an event that the fill level of the shared buffer exceeds the dynamic queue threshold, determining if a fill level of the first network queue is less than a static queue minimum threshold.


