Multi-GPU Query Execution for GPU Memory Capacity Limits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database query acceleration using GPUs is limited by the smaller memory capacity of GPUs compared to main memory in modern servers, leading to decreased performance for larger datasets.

Innovation Solution

Utilizing multiple interconnected GPUs with high-bandwidth links to distribute and process data across them, employing primitives for data movement and parallel processing to optimize data distribution and execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is loaded into GPU memory for parallel processing, then query processing speed is improved, but memory capacity limitation reduces effectiveness for larger datasets

Engineering Contradiction:
Improvequery processing speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the dataset into multiple partitions that can be distributed across multiple GPUs. Each GPU processes a portion of the data independently in parallel, allowing the system to handle larger datasets than a single GPU could manage alone while maintaining high processing speeds through concurrent operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-GPU processing to multi-GPU processing by adding spatial dimensionality to the system architecture. Multiple GPUs are interconnected and work in parallel, effectively expanding the computational resources beyond the memory limitations of a single GPU while maintaining high processing throughput.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If computations are split with CPU to handle larger datasets, then memory capacity constraint is addressed, but processing speed decreases

Engineering Contradiction:
Improvedataset sizeVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system segments the computational workload across multiple GPUs rather than splitting between CPU and GPU. This allows the computationally intensive operations to remain on the GPU where they can execute in parallel at high speed, while still handling large datasets through the distributed architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the traditional CPU-GPU computation split with a multi-GPU parallel processing system. By substituting additional GPU resources instead of relying on CPU-GPU coordination, the system maintains high processing speeds while gaining the capacity to handle larger datasets through distributed memory and parallel computation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If multiple GPUs are used for parallel processing, then processing capacity is improved, but data movement overhead between GPUs increases

Engineering Contradiction:
Improveprocessing capacityVSAvoiddata movement overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary data partitioning and distribution across GPUs before the actual query processing begins. By pre-organizing the data in an optimal distribution pattern, the system minimizes the need for extensive data movement during processing, reducing overhead while maintaining high parallel processing capacity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary data movement mechanism that optimizes transfers between GPUs. This intermediary layer manages the data exchange efficiently, reducing the time overhead associated with moving data between GPUs while enabling the system to leverage multiple GPUs for increased processing capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250378077A1Techniques for accelerating queries using multiple graphics processing units
Publication Date: 2025.12.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250378077A1 patent drawing
  • US20250378077A1 patent drawing
  • US20250378077A1 patent drawing

AI summary

Described are examples for using multiple graphics processing units (GPUs) to accelerate a database query. Data for a database query can be loaded from the database into memories of multiple GPUs for parallel processing by the multiple GPUs. At least a portion of the data loaded into a memory for one of the multiple GPUs can be moved to a memory for a different one of the multiple GPUs. A compute process can be executed, via parallel processing on the multiple GPUs, for the query to perform data processing related to the database query.