Remote Cache Module for MPP Database Memory Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Massively parallel processing (MPP) database systems face inefficiencies due to memory constraints and data skew, leading to time-consuming and expensive operations during hash join or aggregation processes, where tables are spilled to disk and load is unevenly distributed among processing nodes.

Innovation Solution

A remote cache module is implemented across processing nodes to monitor and manage memory usage, allowing data pages to be dynamically distributed to nodes with sufficient space, thereby optimizing memory allocation and balancing the load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is spilled to disk from memory during hash join or aggregation operations, then memory constraints are addressed, but processing time increases and operation cost increases

Engineering Contradiction:
Improvememory capacityVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent merges memory resources across multiple processing nodes by implementing a distributed caching system. When one node experiences memory constraints, data can be cached in the memory of other nodes in the cluster, effectively combining the total memory capacity of all nodes to prevent disk spilling and reduce processing time.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a memory manager as an intermediary component that coordinates memory usage across processing nodes. The memory manager monitors memory usage, identifies available cache space on remote nodes, and facilitates data transfer between nodes, acting as a mediator to optimize memory utilization and prevent time-consuming disk operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If data is spilled to disk due to insufficient memory, then memory constraints are resolved, but operation expense increases

Engineering Contradiction:
Improvememory capacityVSAvoidoperation expense
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent combines memory resources across the distributed cluster to create a virtual shared memory space. By pooling memory capacity from multiple nodes, the system avoids disk spilling operations that are both time-consuming and expensive, thereby reducing overall operation expense while maintaining sufficient memory capacity for data processing.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If data pages are distributed unevenly due to data skew, then processing can proceed, but load balance deteriorates

Engineering Contradiction:
Improveprocessing throughputVSAvoidload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements a feedback mechanism where the memory manager continuously monitors memory usage and data distribution across processing nodes. Based on this feedback, the system dynamically identifies nodes with available memory capacity and redistributes data pages to achieve better load balance, ensuring that nodes with excess memory can handle additional processing load from nodes experiencing data skew.

Inventive Principle:
Principle #23Feedback

4Quantity of substance

If remote memory management is implemented to balance load, then system complexity increases, but memory utilization improves

Engineering Contradiction:
Improvememory utilizationVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a universal memory manager component that handles multiple functions: monitoring memory usage, identifying available cache space, coordinating data transfer between nodes, and managing load balance. This multi-functional approach consolidates complex remote memory management tasks into a single standardized interface, improving memory utilization without proportionally increasing system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9875186B2System and method for data caching in processing nodes of a massively parallel processing (MPP) database system
Publication Date: 2018.01.23 FUTUREWEI TECHNOLOGIES INC
  • US9875186B2 patent drawing
  • US9875186B2 patent drawing
  • US9875186B2 patent drawing

AI summary

The present technology relates to managing data caching in processing nodes of a massively parallel processing (MPP) database system. A directory is maintained that includes a list and a storage location of the data pages in the MPP database system. Memory usage is monitored in processing nodes by exchanging memory usage information with each other. Each of the processing nodes manages a list and a corresponding amount of available memory in each of the processing nodes based on the memory usage information. Data pages are read from a memory of the processing nodes in response to receiving a request to fetch the data pages, and a remote memory manager is queried for available memory in each of the processing nodes in response to receiving the request. The data pages are distributed to the memory of the processing nodes having sufficient space available for storage during data processing.