Selective GPU Acceleration Routing for Database Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

GPU acceleration in database management is hindered by bottlenecks such as memory transfer, array size, and device initialization, leading to situations where CPU sequential computing can outperform GPU computing, especially when hardware has poor bandwidth or computations cannot be parallelized.

Innovation Solution

A method and system for selective GPU acceleration in database management, where the processing of database queries is routed to either GPU or CPU based on estimated completion times, considering performance profiles of the GPU, including processing cores, clock frequency, and memory bandwidth, as well as characteristics of the query like parallel threads and atomic operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If GPU accelerated computing is used for database queries, then processing speed is improved, but resource overhead and memory transfer bottlenecks increase

Engineering Contradiction:
Improvequery processing speedVSAvoidresource overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system dynamically changes operational parameters by estimating execution times for different computing approaches (GPU vs CPU) and selecting the optimal path based on query characteristics, array sizes, and current system state, thereby adapting to varying workload conditions

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements dynamic routing that adjusts computation path selection in real-time based on query analysis, allowing the database management system to flexibly switch between GPU and CPU execution paths depending on the specific query requirements and current performance conditions

Inventive Principle:
Principle #15Dynamics

2Productivity

If GPU computing is used for small array sizes or non-parallelizable computations, then processing is performed, but performance deteriorates compared to CPU sequential computing

Engineering Contradiction:
Improvecomputation throughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system analyzes query parameters including array size and parallelization potential, then dynamically changes the execution approach by selecting CPU or GPU based on whether the computation characteristics match GPU acceleration criteria

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system introduces an intermediary estimation and routing layer that evaluates query characteristics before execution, acting as a mediator that directs appropriate queries to GPU acceleration while routing unsuitable queries to CPU processing

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If memory bandwidth is increased to mitigate memory transfer time, then GPU computing performance is improved, but hardware cost and complexity increase

Engineering Contradiction:
Improvememory transfer timeVSAvoidhardware configuration
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system compensates for limited memory bandwidth by dynamically selecting CPU execution for queries where memory transfer would be a bottleneck, effectively changing the execution parameter based on system capabilities

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9727942B2Selective utilization of graphics processing unit (GPU) based acceleration in database management
Publication Date: 2017.08.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9727942B2 patent drawing
  • US9727942B2 patent drawing
  • US9727942B2 patent drawing

AI summary

A method for the selective utilization of graphics processing unit (GPU) acceleration of database queries in database management is provided. The method includes receiving a database query in a database management system executing in memory of a host computing system. The method also includes estimating a time to complete processing of one or more operations of the database query using GPU accelerated computing in a GPU and also a time to complete processing of the operations using central processor unit (CPU) sequential computing of a CPU. Finally, the method includes routing the operations for processing using GPU accelerated computing if the estimated time to complete processing of the operations using GPU accelerated computing is less than an estimated time to complete processing of the operations using CPU sequential computing, but otherwise routing the operations for processing using CPU sequential computing.