Switch Packet Prioritization With Early NACK Drop Notification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In RoCE networks, packet loss leads to degraded throughput due to the NIC's go-back-n retransmission mechanism, and existing lossy networks fail to prioritize packet importance, causing head-of-line blocking and delayed feedback, especially for small messages.
Innovation Solution
A method and apparatus that determine packet priority and buffer occupancy to selectively drop low-priority packets, providing early notification to the sender through a negative acknowledgement (NACK) message, reducing feedback delay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If priority flow control is used to prevent packet loss, then packet loss is reduced, but head-of-line blocking occurs and network throughput degrades
Solution Approach 1:
The invention segments the network traffic into multiple priority queues (e.g., high priority and low priority queues). Packets are classified into different priority levels and handled separately. This segmentation allows the system to prevent packet loss for high-priority traffic while allowing low-priority traffic to be dropped under congestion, thereby resolving the contradiction between reliability and throughput.
Solution Approach 2:
The invention applies different quality of service (QoS) policies to different packets based on their priority. High-priority packets receive preferential treatment with guaranteed buffer space and transmission opportunities, while low-priority packets are subject to standard drop policies. This local differentiation resolves the contradiction by ensuring reliability where needed while maintaining overall network efficiency.
2Productivity
If all packets are treated equally in lossy networks, then network availability is maintained, but important packets may be dropped and performance significantly affected
Solution Approach 1:
The invention implements differentiated treatment of packets based on their importance and priority. Critical packets (such as control messages, small messages, and high-priority data) are identified and given preferential handling with lower drop probabilities. Less critical packets are allowed to be dropped under congestion. This resolves the contradiction by maintaining network availability through selective dropping while protecting application performance for important traffic.
Solution Approach 2:
The invention changes the drop probability parameter dynamically based on packet priority and buffer conditions. High-priority packets have lower drop probabilities assigned to them, while low-priority packets have higher drop probabilities. This parameter differentiation resolves the contradiction between maintaining network availability and protecting application performance.
3Device complexity
If packet drop notification is delayed until receiver detects loss, then feedback path is simple, but sender waits one round trip time and flow completion is delayed
Solution Approach 1:
The invention implements preliminary action by having the switch notify the sender of a packet drop immediately when the decision to drop is made, rather than waiting for the receiver to detect the loss and send a negative acknowledgment. This preliminary notification eliminates the need for the sender to wait for the round trip time, thereby resolving the contradiction between feedback path simplicity and flow completion time.
Solution Approach 2:
The invention introduces an intermediary role for the switch in the feedback mechanism. Instead of the receiver directly notifying the sender of packet loss, the switch acts as an intermediary that proactively notifies the sender when it drops a packet. This intermediary approach resolves the contradiction by simplifying the overall feedback path while dramatically reducing notification delay.
Data Source
AI summary
A method and a network device are provided for transferring data packets to a port according to the priority of the packets and, when a packet is dropped, providing, to the sender of the packets, an early notification that the packet was dropped. The priority of a packet can be determined according to data contained in the packet, e.g., an operation code of the packet, or according to a marking of the packet by the sender, e.g., a marking resulting from a weighted random early detection template. The early notification that the packet was dropped is in the form of message generated at the network device and sent by the network device to the sender of the packet. The network device obtains, from the packet to be dropped or from a connection table, the information required for the message to arrive at the sender.


