Parallel Database Load Balancing via Multi-Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing methods in parallel database systems, such as the GBG Procedure, face issues like unsuitable imbalance measures, load balance thrashing, and increased query response times due to tightly coupled balancing operations with database operations.

Innovation Solution

The Global Balance procedure addresses these issues by performing load balancing as a parallel database operation, utilizing concurrent data movement, multiple dimensions of parallelism, and idle cycle utilization to achieve balanced distribution with reduced overhead and improved query performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional load balancing procedures are used, then data skew can be addressed, but query response times increase due to tightly coupled balancing operations with database operations

Engineering Contradiction:
Improveload balance consistencyVSAvoidquery response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The load balancing operation is segmented from database operations, allowing them to execute independently. The balancing operation is performed as a separate parallel database operation rather than being tightly coupled with normal database operations, enabling concurrent execution and reducing query response time while maintaining load balance consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load balancing operation is performed in advance or independently before query execution, using idle cycles of the system. This preliminary action allows the system to achieve balanced data distribution without blocking normal database operations, thereby reducing query response time while ensuring reliable load balancing.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If load balancing operations are performed frequently, then data distribution balance improves, but load balance thrashing occurs

Engineering Contradiction:
Improvedata distribution balanceVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses feedback mechanisms to monitor data distribution balance and determine when load balancing operations are needed. By implementing feedback loops that track skew metrics and trigger balancing only when necessary, the system achieves reliable data distribution balance while avoiding excessive operations that cause thrashing and reduce system throughput.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing strategy is made dynamic, adapting to changing data distribution conditions. The system dynamically adjusts balancing thresholds and operation frequency based on current system state, allowing it to maintain data distribution balance while avoiding rigid frequent operations that cause thrashing and harm productivity.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If balancing operations are tightly coupled with database operations, then coordination is simplified, but query response times increase

Engineering Contradiction:
Improveoperation coordinationVSAvoidquery response time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The coordination complexity is segmented by separating balancing operations from database operations. Instead of tightly coupling them, the system uses independent parallel operations with well-defined interfaces, maintaining ease of coordination through standardized communication while eliminating the performance penalty of tight coupling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mechanism is introduced between database operations and balancing operations, allowing coordination without direct tight coupling. This intermediary layer manages the interaction between operations, simplifying coordination while enabling concurrent execution that reduces query response time.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8849749B2Load balancing in parallel database systems using multi-reordering
Publication Date: 2014.09.30 ORACLE INT CORP
  • US8849749B2 patent drawing
  • US8849749B2 patent drawing
  • US8849749B2 patent drawing

AI summary

Load balancing in a parallel database system is performed using multi-reordering, in which a sequence of multiple processors (two, three, or more) that have small average load (for example, the smallest of any such sequence) is selected to participate in load balancing. In the case of three adjacent low-load processors, the load of all three is evenly distributed over two of them, and the remaining processor becomes a free processor. The free processor is moved adjacent to a high-load processor, the load of which is then shared with the free processor. Data is moved in a “transaction” so that the view of data is always consistent. The database continues to service requests from a former location while data undergoes a transfer.