Hardware Load Balancer Using Random Number Sub-Range Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing methods face challenges in efficiently distributing tasks across resources, particularly when the number of resources is not a power of 2, leading to inefficiencies and bias in digital hardware implementation.

Innovation Solution

A system and method that divides a total range of numbers into contiguous, non-overlapping sub-ranges associated with each resource, using a pseudo-random number to select the resource based on its sub-range, and adjusting sub-range sizes to minimize bias, ensuring all resources carry a substantially equal load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a modulo operation is used to assign tasks to resources, then load balancing is achieved, but hardware implementation efficiency deteriorates when the number of resources is not a power of 2

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidhardware implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the range of possible task indices into multiple contiguous sub-ranges, where each sub-range corresponds to a specific resource. Instead of using a complex modulo operation, the system divides the total range into N sub-ranges (where N is the number of resources), and each sub-range test circuit checks whether the task index falls within its assigned sub-range. This segmentation approach replaces the complex modulo operation with simpler range comparison operations, achieving both load balancing and hardware efficiency.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If a long pseudo-random number is used to reduce bias, then load distribution uniformity improves, but digital logic complexity grows exponentially

Engineering Contradiction:
Improveload distribution uniformityVSAvoiddigital logic complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the necessary portion of the pseudo-random number for the load balancing operation. Instead of using the entire long pseudo-random number, the system extracts a sufficient number of most significant bits that provide adequate randomness and uniformity for the specific application. This extracted subset of bits is then used to determine which sub-range the task index falls into, achieving good load distribution without the exponential complexity of processing the full long random number.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of random number length from a fixed large value to a variable length that is adapted to the specific requirements of the load balancing operation. By analyzing the relationship between the number of resources and the required randomness, the system determines the optimal number of bits needed, which is typically much smaller than the full pseudo-random number. This parameter adjustment maintains load distribution uniformity while dramatically reducing digital logic complexity.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If sub-ranges are made equal size, then load distribution uniformity improves, but handling non-power-of-2 resource counts becomes more difficult

Engineering Contradiction:
Improveload distribution uniformityVSAvoidoperation simplicity
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent introduces asymmetry in the sub-range design by allowing the last sub-range to have a different size than the others when the total number of resources is not a power of 2. The first N-1 sub-ranges are made equal size, while the Nth sub-range absorbs the remaining range to ensure complete coverage. This asymmetric approach maintains simplicity in the hardware implementation while achieving uniform load distribution across all resources, as the slight size difference in the last sub-range does not significantly impact overall balance.

Inventive Principle:
Principle #4Asymmetry

Data Source

PatentUS10678599B2Hardware efficient system and method for load balancing using a random number
Publication Date: 2020.06.09 ROCKLEY PHOTONICS LTD
  • US10678599B2 patent drawing
  • US10678599B2 patent drawing
  • US10678599B2 patent drawing

AI summary

A system and method for selecting a resource from among a plurality of resources. A total range of numbers is divided into a plurality of sub-ranges, each associated with a respective one of the resources. An indexing number, e.g., a random number, is generated and, when it falls within the total range of numbers, the resource associated with the sub-range into which the indexing number falls is selected. When the indexing number falls outside of the total range, a resource associated with the difference between the indexing number and the greatest number in the total range is selected.