Toeplitz Hash Key Matrix Rank Evaluation for Multi-Core Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, receive-side scaling methods often result in uneven packet distribution due to hashing functions, leading to inefficiencies and the need for computationally intensive load rebalancing and inter-core packet transfers.

Innovation Solution

A method that involves creating matrices from random number keys and determining their rank to ensure equal distribution of packet flows by using a Toeplitz hash, with the ability to generate new keys if the initial distribution is uneven, and converting matrices to echelon form or performing forward elimination algorithms to identify pivot rows for optimal distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a random hash key is used in the hashing function for receive-side scaling, then packet distribution across cores may be achieved, but uneven distribution occurs leading to unused table entries and system inefficiency

Engineering Contradiction:
Improvepacket distribution efficiencyVSAvoiddistribution uniformity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by evaluating the rank of the matrix constructed from the hash key before deploying it for packet distribution. This pre-evaluation ensures that only hash keys capable of producing uniform distribution (rank equal to number of cores) are selected, preventing uneven distribution issues before they occur. The system proactively checks potential hash keys using matrix operations to predict their distribution quality, rather than reacting to uneven distribution after it has occurred.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If computationally intensive load rebalancing and inter-core packet transfers are implemented to correct uneven distribution, then packet flow balance may be improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improveload balanceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary anti-action by preventing uneven distribution from occurring in the first place, rather than implementing corrective measures after unevenness develops. By using matrix rank evaluation to select only suitable hash keys before deployment, the system eliminates the need for subsequent load rebalancing operations and inter-core packet transfers. This proactive approach avoids the complexity and overhead of corrective mechanisms while maintaining reliable load balance.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS8082359B2Systems and methods for determining a good RSS key
Publication Date: 2011.12.20 CITRIX SYSTEMS INC
  • US8082359B2 patent drawing
  • US8082359B2 patent drawing
  • US8082359B2 patent drawing

AI summary

The present application is directed towards systems and methods for ensuring equal distribution of packet flows among a plurality of cores in a multi-core system by identifying a rank of a matrix created from a hash key. If the rank of the matrix is equal to or greater than a divisor of a modulo operation applied to the results of the hash function, then the hash key may be used to ensure equal distribution of packet flows.