Selective GPU Acceleration Routing for Database Query Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


