Multi-Stage Packet Path Selection to Reduce Hash-Collision Drops
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network interface devices face challenges in load balancing packets due to collisions caused by hashing, leading to packet drops, especially in Clos networks, where elephant flows exacerbate the issue, and existing methods like ECMP and LAG fail to maintain even distribution of bytes across paths.
Innovation Solution
Implementing Deficit Round Robin (DRR) with overage monitoring and a binary tree structure in packet processing pipelines to dynamically select paths, ensuring even distribution of bytes across multiple paths by considering overages and underages in previous transmit windows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If hashing of packets is used for flow recognition, then packet classification and routing is simplified, but collisions occur causing packet drops due to insufficient networking resources
Solution Approach 1:
The patent segments the packet processing into multiple stages: hash-based flow recognition, path selection, and byte-level load balancing. By dividing the routing decision into hierarchical levels (flow level → path level → byte level), it maintains the simplicity of hashing while reducing collisions through multi-dimensional distribution
Solution Approach 2:
The patent introduces a new dimension for load balancing by tracking byte counts per path and using deficit round-robin scheduling. This transforms the traditional single-dimension hash-based routing into a multi-dimensional approach that considers both flow identity and cumulative byte distribution, thereby reducing hash collision impact
2Productivity
If ECMP and LAG are used for flow-based load balancing, then bandwidth utilization is improved, but even distribution of bytes across paths is not maintained
Solution Approach 1:
The patent implements feedback mechanisms by monitoring the number of bytes transmitted on each path and using this information to dynamically adjust path selection. The deficit round-robin algorithm uses cumulative byte counts as feedback to ensure balanced distribution, preventing any single path from being overloaded while maintaining high bandwidth utilization
Solution Approach 2:
The patent transforms static ECMP path selection into a dynamic system that adapts based on real-time byte transmission counts. The load balancing mechanism continuously adjusts path selection probabilities and deficit values based on observed traffic patterns, ensuring even byte distribution while maintaining flexibility and high utilization
3Productivity
If bandwidth speed up is used to tolerate packet drops, then network throughput is maintained, but device complexity increases
Solution Approach 1:
The patent enables the network system to self-regulate traffic distribution through automated byte-count tracking and dynamic path selection. The deficit round-robin mechanism automatically adjusts to traffic patterns without external intervention, maintaining throughput while avoiding the need for oversized links that would increase device complexity
Data Source
AI summary
Examples described herein relate to a network interface device comprising a multi-stage programmable packet processing pipeline circuitry to determine a path to transmit a packet based on relative network traffic transmitted via multiple paths. In some examples, determine a path to transmit a packet is based on Deficit Round Robin (DRR). In some examples, the programmable packet processing pipeline circuitry includes: a first stage to manage two or more paths, wherein a path of the two or more paths of the first stage is associated with two or more child nodes, a second stage to manage two or more paths, wherein a path of the two or more paths of the second stage is associated with two or more child nodes, and at least one child node is associated with the determined path.


