Hierarchical Buffer Management for Switch Congestion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy network switch architectures face challenges in managing buffer space efficiently due to fixed allocation per queue, which becomes inadequate in large-scale virtual output queuing (VOQ) systems with tens of thousands of queues, leading to difficulties in fair usage of shared buffer resources and increased packet dropping.
Innovation Solution
The buffer management system adapts to the current congestion state by dynamically adjusting the buffer space each queue can utilize, considering both the queue's actual usage and the overall buffer utilization, using a hierarchical accounting structure and lookup tables to determine adaptive utilization based on base and parent utilization, along with a bias value.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fixed buffer allocation per queue is used, then queue isolation is improved, but buffer efficiency deteriorates and packet dropping increases under congestion
Solution Approach 1:
The buffer management system is segmented into hierarchical levels: global buffer pool, queue-level sub-buffers, and packet-level allocation. This segmentation allows independent control at each level, enabling both queue isolation through dedicated sub-buffers and overall buffer efficiency through global pool management and dynamic reallocation based on congestion state.
2Reliability
If fixed buffer allocation per queue is used, then queue isolation is improved, but device complexity increases in large-scale VOQ systems
Solution Approach 1:
Multiple queue-specific buffer management functions are merged into a unified hierarchical buffer management system. The global buffer pool serves all queues, and a centralized control mechanism manages allocation and reallocation across queues based on congestion state, reducing the complexity of managing thousands of independent queue buffers while maintaining isolation through logical separation and priority schemes.
3Productivity
If dynamic buffer adjustment based on congestion state is implemented, then buffer efficiency is improved, but measurement precision requirements increase
Solution Approach 1:
The buffer management system implements feedback mechanisms that continuously monitor queue length, buffer utilization, and packet drop rates. This feedback is used to dynamically adjust buffer allocation and admission control decisions. The feedback loop operates at multiple levels (global and queue-specific) and uses threshold-based triggers to initiate buffer reallocation, reducing the need for ultra-precise continuous measurement while maintaining effective congestion response.
Data Source
AI summary
One aspect of the instant application provides a system and method for managing a switch buffer. During operation, the system establishes a hierarchical accounting structure to determine utilizations of different elements of a buffer on the switch. The hierarchical accounting structure comprises one or more parent elements, and each parent element is associated with one or more child elements. The system determines a base utilization of a child element based on an amount of buffer space allocated to the child element and an amount of buffer space used by the child element, and determines an adaptive utilization of the child element based at least on the base utilization of the child element and a congestion state of a corresponding parent element. Determining the adaptive utilization of the child element comprises performing a table lookup operation. The system then stores a received packet associated with the child element in the buffer in response to the adaptive utilization of the child element being less than a predetermined threshold.


