Hardware Accelerators for Database Query Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
General-purpose CPUs are inefficient for database applications due to inaccurate branch prediction, limited register capacity, and high memory and disk I/O bottlenecks, which hinder performance optimization in relational database systems.
Innovation Solution
The implementation of a dataflow architecture with multiple hardware accelerators, such as Query Processing Modules (QPMs) and Query Software Modules (QSMs), that break down queries into tasks and execute them in parallel using custom hardware and software resources, optimizing database operations through pipelining and shared memory to reduce I/O and memory bottlenecks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If general-purpose CPUs are used to execute database queries, then flexibility and programming language compatibility are maintained, but processing efficiency and performance deteriorate due to inaccurate branch prediction and limited register capacity
Solution Approach 1:
The patent segments the query processing system into multiple specialized hardware accelerators (QPMs) that handle specific database operations independently. Each QPM is dedicated to particular tasks such as table scanning, joining, or aggregation, allowing specialized optimization for each function while maintaining overall system versatility through the ability to configure different QPM combinations for different query types.
Solution Approach 2:
The patent introduces a query processor as an intermediary component that translates high-level SQL queries into optimized hardware instructions for the QPMs. This intermediary layer maintains compatibility with standard SQL while enabling efficient execution on specialized hardware, bridging the gap between programming language flexibility and hardware performance optimization.
2Device complexity
If general-purpose CPUs with limited registers are used, then device complexity is reduced, but memory and disk I/O bottlenecks increase due to frequent data loading and reloading
Solution Approach 1:
The patent transitions from a single-CPU architecture to a distributed architecture where QPMs are organized in a dimensional array that can be configured in different topologies (linear, tree, mesh). This dimensional organization enables parallel processing of data across multiple QPMs, effectively increasing the processing capacity without requiring each individual QPM to have large registers, thus avoiding the complexity of a single powerful CPU.
Solution Approach 2:
The patent implements multiple copies of simplified QPM units that can process data in parallel. Instead of relying on a single CPU with large registers, the system uses multiple identical or similar QPM copies that share the burden of data processing, each with smaller, more manageable registers, thereby reducing individual complexity while maintaining overall throughput.
3Device complexity
If single-CPU architecture is used, then device complexity is minimized, but throughput and concurrency are limited due to sequential processing capability
Solution Approach 1:
The patent divides the single-CPU architecture into multiple segmented QPM units that can operate in parallel. Each QPM handles a specific portion of the query processing workload, such as different table scans or join operations, enabling concurrent execution that significantly improves throughput while keeping each individual QPM relatively simple.
Solution Approach 2:
The patent employs multiple QPMs that may not all be needed for every single query, allowing the system to over-provision processing capacity. This excessive action approach ensures that sufficient parallel processing resources are available for high-throughput workloads while maintaining the simplicity of individual QPM units, and allows the system to scale the number of active QPMs based on actual query requirements.
Data Source
AI summary
Embodiments of the present invention provide a hardware accelerator that assists a host database system in processing its queries. The hardware accelerator comprises special purpose processing elements that are capable of receiving database query/operation tasks in the form of machine code database instructions, execute them in hardware without software, and return the query/operation result back to the host system.


