Flexible Buffer Allocation in Network Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-speed packet networks, existing buffer management systems in switches fail to efficiently manage different packet types, leading to congestion and resource allocation inefficiencies, as they tightly couple queuing and buffering, affecting all packet types sharing the same transmit queue.
Innovation Solution
Implementing a system where packet processing logic maintains separate buffer allocations for different packet types, even when they share a common transmit queue, allowing for independent congestion avoidance mechanisms and flexible resource allocation based on packet types and egress interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If separate buffer allocations are implemented for different packet types, then network resource management efficiency is improved, but device complexity increases
Solution Approach 1:
The buffer memory is segmented into separate buffer allocations for different packet types (e.g., unicast and multicast packets). Each packet type has its own dedicated buffer allocation, allowing independent management and congestion avoidance mechanisms. This segmentation enables efficient resource allocation by preventing one packet type from monopolizing buffer space, thereby improving overall network resource management efficiency despite increased structural complexity.
2Device complexity
If multiple packet types share a common transmit queue, then device complexity is reduced, but congestion avoidance effectiveness deteriorates
Solution Approach 1:
While packet types share a common transmit queue for simplified management, the invention segments the buffer allocations associated with each packet type. This allows congestion avoidance mechanisms to operate independently on each buffer allocation, ensuring that congestion in one packet type does not adversely affect others. The segmentation occurs at the buffer level rather than the queue level, balancing complexity and effectiveness.
Solution Approach 2:
Different congestion avoidance mechanisms and parameters can be applied locally to each packet type's buffer allocation. For example, unicast packets may use one congestion control strategy while multicast packets use another, tailored to their specific traffic characteristics and requirements. This local quality approach enhances congestion avoidance effectiveness without requiring separate transmit queues for each packet type.
Data Source
AI summary
Communication apparatus includes multiple interfaces configured to be connected to a packet data network for receiving and forwarding of data packets of multiple types. A memory is coupled to the interfaces and configured as a buffer to contain packets received through the ingress interfaces while awaiting transmission to the network via the egress interfaces. Packet processing logic is configured to maintain multiple transmit queues, which are associated with respective ones of the egress interfaces, and to place both first and second queue entries, corresponding to first and second data packets of the first and second types, respectively, in a common transmit queue for transmission through a given egress interface, while allocating respective spaces in the buffer to store the first and second data packets against separate, first and second buffer allocations, which are respectively assigned to the first and second types of the data packets.


