Large Flow Pinning for Network Load-Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load-balancing methods in computer networks, which rely on hash algorithms, often fail to maintain uniform bandwidth distribution due to the presence of large and small flows, leading to congestion at network interfaces.
Innovation Solution
A method and apparatus that identify large flows, measure their bandwidth, and pin them to specific output interfaces, while using a conventional load-balancing process for remaining small flows, thereby ensuring uniform bandwidth distribution across interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional load-balancing using hash algorithms is applied to all flows, then the load-balancing process is simple and easy to implement, but uniform bandwidth distribution cannot be maintained due to large flows causing congestion
Solution Approach 1:
The patent segments flows into two categories: large flows and small flows. Large flows are handled separately through local placement and pinning to specific interfaces, while small flows continue to use conventional hash-based load balancing. This segmentation resolves the contradiction by applying different handling mechanisms to different flow types, achieving both simplicity for small flows and precision for large flows.
Solution Approach 2:
The patent applies local quality by treating large flows differently from small flows. Large flows are pinned to specific output interfaces based on their characteristics, while small flows use uniform hash-based distribution. This differential treatment ensures that large flows receive specialized handling for uniform bandwidth distribution, while small flows benefit from simple conventional load balancing.
2Manufacturing precision
If large flows are handled separately with local placement and pinning, then bandwidth distribution uniformity is improved, but device complexity increases
Solution Approach 1:
The patent extracts large flows from the conventional load-balancing process and handles them separately through local placement and pinning mechanisms. By taking out large flows from the general hash-based balancing, the system can apply specialized handling to achieve uniform bandwidth distribution without complicating the entire load-balancing mechanism.
Solution Approach 2:
The patent applies partial action by implementing local placement and pinning only for large flows, while leaving small flows with conventional load balancing. This partial application of advanced techniques only where needed (for large flows) achieves improved bandwidth distribution without excessively complicating the overall system.
3Speed
If all flows are load-balanced using hash algorithms, then processing speed is fast and simple, but congestion occurs at network interfaces due to large volume flows
Solution Approach 1:
The patent extracts large flows from the conventional hash-based load balancing process and handles them separately through local placement. This extraction prevents large flows from causing congestion in the standard load-balancing path, while small flows continue to be processed quickly through the simple hash algorithm, thus maintaining high processing speed while eliminating congestion.
Solution Approach 2:
The patent applies preliminary action by identifying and pinning large flows to specific interfaces before they can cause congestion. By proactively placing large flows on designated paths with available bandwidth, the system prevents interface congestion before it occurs, while maintaining fast processing for all flows.
Data Source
AI summary
In one embodiment, an apparatus generally comprises one or more input interfaces for receiving a plurality of flows, a plurality of output interfaces, and a processor operable to identify large flows and select one of the output interfaces for each of the large flows to load-balance the large flows over the output interfaces. The apparatus further includes memory for storing a list of the large flows, a pinning mechanism for pinning the large flows to the selected interfaces, and a load-balance mechanism for selecting one of the output interfaces for each of the remaining flows. A method for local placement of large flows to assist in load-balancing is also disclosed.


