Distributed CPU Load Balancing via Neighborhood State Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multiprocessor systems face load imbalances due to uneven task distribution, leading to underutilization of CPUs, and centralized load balancing solutions are unreliable due to single points of failure.

Innovation Solution

A distributed state-based load balancing technique where each CPU conditionally requests and transfers tasks from neighboring CPUs based on load information, ensuring balanced loads across the neighborhood without a centralized entity, using a state-based policy that adjusts task transfers according to latency and processing rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a centralized load balancer is used to monitor and assign tasks, then load balancing performance is improved, but system reliability deteriorates due to single point of failure

Engineering Contradiction:
Improveload balancing performanceVSAvoidsystem reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the centralized load balancing function into distributed segments, where each CPU independently performs load balancing decisions based on local state information from neighboring CPUs. This segmentation eliminates the single point of failure while maintaining load balancing effectiveness through decentralized autonomous decision-making.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each CPU autonomously monitors its own load state and independently requests tasks from neighboring CPUs without requiring a centralized controller. This self-service mechanism allows the system to maintain reliability while achieving load balancing through distributed self-organization.

Inventive Principle:
Principle #25Self-service

2Productivity

If tasks are assigned to CPUs at the same rate, then initial load distribution is balanced, but load balance deteriorates over time due to task splitting

Engineering Contradiction:
Improveinitial load distributionVSAvoidload balance stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements continuous feedback loops where CPUs periodically exchange state information about their current load with neighboring CPUs. This feedback mechanism enables dynamic adjustment of task distribution to counteract load imbalances caused by task splitting, maintaining stability over time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing system transitions from static initial distribution to dynamic continuous adjustment. CPUs adaptively request and transfer tasks based on real-time load conditions, allowing the system to maintain load balance stability despite ongoing task creation and splitting activities.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If frequent load information requests are made between CPUs, then load balancing accuracy is improved, but communication overhead increases

Engineering Contradiction:
Improveload information accuracyVSAvoidcommunication overhead
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent restricts load information exchange to local neighboring CPUs rather than all CPUs in the system. This local quality approach reduces communication overhead by limiting the scope of interactions while maintaining sufficient load balancing accuracy through localized state information.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs load balancing requests conditionally based on specific triggers such as load thresholds or time intervals, rather than continuously. This partial action approach reduces unnecessary communication overhead while maintaining adequate load balancing precision through targeted information exchange.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7665092B1Method and apparatus for distributed state-based load balancing between task queues
Publication Date: 2010.02.16 ORACLE AMERICAN INC
  • US7665092B1 patent drawing
  • US7665092B1 patent drawing
  • US7665092B1 patent drawing

AI summary

One embodiment of the present invention provides a system that performs load balancing between task queues in a multiprocessor system. During operation, the system conditionally requests load information from a number of neighboring CPUs in a neighborhood of a requesting CPU. In response to the request, the system receives load information from one or more neighboring CPUs. Next, the system conditionally requests one or more neighboring CPUs to transfer tasks to the requesting CPU based on the received load information, thereby balancing load between the CPUs in the neighborhood.