Parallel Database Load Balancing via Multi-Reordering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If load balancing operations are performed frequently, then data distribution balance improves, but load balance thrashing occurs
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.
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.
3Ease of operation
If balancing operations are tightly coupled with database operations, then coordination is simplified, but query response times increase
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.
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.
Data Source
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.


