Object Assignment Algorithm for Cluster Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-computing environments, existing methods fail to efficiently balance the distribution of objects across processing units, leading to suboptimal resource utilization and increased requirements for processing units, as they do not effectively account for varying object sizes and storage capacities.

Innovation Solution

A method that sorts objects by size and assigns them to processing units starting with the largest objects, iteratively adjusting the threshold and storage capacity calculations to minimize the number of units required, using a control unit to manage data processing tasks and optimize resource allocation across a cluster of single-board computers or blades.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If objects are assigned to processing units without considering size balancing, then the assignment process is simpler, but the resource utilization becomes suboptimal and more processing units are required

Engineering Contradiction:
Improveresource utilizationVSAvoidassignment process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by sorting all objects by size before the assignment process begins. This pre-processing step arranges objects in descending order of size, enabling the subsequent greedy assignment algorithm to efficiently pack objects into processing units without backtracking or complex optimization. The sorting is performed once before assignment, and the same sorted sequence is reused across multiple assignment iterations, reducing overall computational complexity while achieving optimal resource utilization.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If more processing units are used, then the load can be distributed more easily, but the cost and complexity of the system increases

Engineering Contradiction:
Improveload distributionVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the threshold parameter during the assignment process. The threshold is initially set to the storage capacity of processing units, and after each assignment iteration, it is reduced by the largest gap between actual and maximum storage capacity divided by the number of processing units. This adaptive threshold adjustment allows the system to achieve balanced load distribution across the minimum number of processing units, avoiding the need to increase system complexity or add more units.

Inventive Principle:
Principle #35Parameter changes

3Speed

If the first-fit assignment method is used, then the assignment is faster, but the gap between aggregated object sizes and maximum storage capacity is larger

Engineering Contradiction:
Improveassignment speedVSAvoidobject size balancing
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The patent applies feedback by calculating the gap between the aggregated size of objects assigned to each processing unit and its maximum storage capacity after each assignment iteration. The largest gap is identified and used to adjust the threshold for the next iteration by subtracting (largest gap / number of processing units). This feedback mechanism continuously refines the assignment, reducing the total gap across all processing units while maintaining the efficiency of the greedy first-fit approach, thus achieving both speed and precision.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7725900B2Method of assigning objects to processing units
Publication Date: 2010.05.25 SAP SE
  • US7725900B2 patent drawing
  • US7725900B2 patent drawing
  • US7725900B2 patent drawing

AI summary

Methods and systems for assigning objects to processing units of a cluster of processing units are provided. In one implementation, the objects to be assigned may be sorted by size, which provides a sequence of objects. Starting with the first processing unit, objects may then be assigned in sequential order. This way the loading of the processing units may be balanced.