Database Execution Plan Tree Hardware Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database technologies face challenges in matching the execution plan tree with the execution functions and capabilities of hardware accelerators, leading to inefficient hardware utilization due to resource limitations and complexity, especially in scenarios involving subqueries.
Innovation Solution
A method that processes the initial execution plan tree to generate a new plan tree based on the basic operations and accelerated resources supported by the hardware accelerator, optimizing nodes and output target columns to match the hardware's capabilities, and distributing the new plan tree for execution if it results in lower computational costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the initial execution plan tree is directly executed by the hardware accelerator, then the hardware accelerator can perform basic operations, but the execution plan does not match the hardware accelerator's execution functions and capabilities, leading to inefficient hardware utilization
Solution Approach 1:
The patent segments the initial execution plan tree into multiple sub-trees based on operation types, identifying which parts can be executed by the hardware accelerator. This segmentation allows the system to selectively offload only the suitable operations to the hardware accelerator, improving hardware utilization without requiring the entire complex plan to be hardware-executable.
Solution Approach 2:
The patent introduces an execution plan conversion module as an intermediary between the database management system and the hardware accelerator. This module transforms the initial execution plan tree into a hardware-accelerator-compatible execution plan, resolving the mismatch between software-generated plans and hardware capabilities while maintaining system architecture integrity.
2Productivity
If more execution functions are offloaded to the hardware accelerator, then database processing performance improves, but the hardware accelerator's resource limitations and complexity constraints are exceeded
Solution Approach 1:
The patent applies local quality by making different parts of the execution plan have different execution locations. Specifically, it identifies operations suitable for hardware acceleration (such as selection, projection, and basic relational algebra operations) and offloads only those to the hardware accelerator, while keeping complex operations on the software side. This selective approach optimizes performance without overwhelming the hardware accelerator's limited resources.
3Productivity
If the execution plan tree is optimized to match hardware accelerator capabilities, then hardware acceleration capability is fully utilized, but the optimization process increases system complexity
Solution Approach 1:
The patent implements dynamic adaptability in the execution plan conversion module, which can adjust the conversion strategy based on the specific hardware accelerator capabilities and the characteristics of the incoming execution plan. The module dynamically identifies suitable operations for offloading and handles various scenarios (such as subqueries and complex joins) flexibly, achieving high hardware utilization without requiring rigid, complex pre-programming for every possible case.
Data Source
AI summary
A method and device for accelerating database operation, applied to a database connected with a hardware accelerator is provided, the method includes: when receiving an initial execution plan tree sent by the database that needs to be accelerated, processing the initial execution plan tree and generating a new execution plan tree and a new execution cost based on the basic operation and accelerated resource supported by the hardware accelerator; if the new execution cost of the new execution plan tree is less than the initial execution cost of the initial execution plan tree, distributing the new execution plan tree to the hardware accelerator for execution based on the organization approach and the operation approach of the hardware accelerator; the execution result returned by the hardware accelerator to complete the accelerated operation of the database operation; determining the result data after the hardware accelerator accelerates the database operation based on the execution results returned by the hardware accelerator, so that the execution plan tree of the database matches the execution function and capability of the hardware accelerator that performs the acceleration and maintains a reasonable complexity.


