Hardware Accelerated Reconfigurable Processors for Database Query Offloading
Solution Overview
Problem
General purpose CPUs are inefficient for database applications due to inaccurate branch prediction, limited parallelism, and inadequate memory and I/O bandwidth, leading to performance bottlenecks in database systems.
Innovation Solution
A custom computing solution with hardware accelerated reconfigurable processors (HARPs) that offload repetitive database operations, utilizing a dataflow architecture and column-store format to optimize query processing across multiple layers of the database system, thereby enhancing performance for read-intensive applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If general purpose CPUs are used to execute database queries, then flexibility and universality are maintained, but processing performance deteriorates due to inaccurate branch prediction and limited parallelism
Solution Approach 1:
The system divides database query processing into two segments: a general purpose CPU layer for flexible query parsing and a dedicated hardware accelerator layer for performance-critical operations. This segmentation allows each component to be optimized for its specific function, resolving the contradiction between flexibility and processing performance.
Solution Approach 2:
A hardware accelerator acts as an intermediary between the general purpose CPU and the database storage system. The accelerator receives query operations from the CPU, executes them using specialized hardware circuits, and returns results. This intermediary resolves the contradiction by allowing the CPU to maintain flexibility while the hardware accelerator provides high processing performance.
2Ease of operation
If general purpose CPUs use instruction-flow architecture with pipelined instructions, then programming simplicity is maintained, but data processing efficiency deteriorates due to tiny register files and frequent memory accesses
Solution Approach 1:
The patent replaces the mechanical instruction-flow architecture with a data-flow architecture where data moves through pipelines of processing stages. This substitution eliminates the bottleneck of tiny register files by allowing data to flow through larger memory structures, significantly improving data processing efficiency while maintaining ease of operation through automated dataflow management.
Solution Approach 2:
The system transitions from a one-dimensional instruction sequence execution to a multi-dimensional dataflow architecture with parallel processing stages. This dimensional change allows simultaneous processing of multiple data items across different pipeline stages, dramatically improving data processing efficiency without complicating the programming interface.
3Speed
If on-chip cache is used to reduce memory access latency, then processing speed is improved, but cache capacity becomes insufficient for real database workloads requiring Gigabytes to Terabytes of data
Solution Approach 1:
The caching system is segmented into multiple levels: a small on-chip cache for frequently accessed data, an intermediate buffer memory layer, and the main database storage. This segmentation allows the system to maintain fast processing speeds through the small on-chip cache while providing sufficient total capacity through the hierarchical structure, resolving the contradiction between speed and capacity.
Solution Approach 2:
The patent adds a temporal dimension to the cache hierarchy by implementing prefetching and speculative loading mechanisms. This allows the system to proactively load data into cache before it is actually needed, effectively increasing the usable cache capacity without physically expanding the on-chip cache, thus maintaining both speed and capacity.
4Productivity
If manual process/thread parallelism is implemented for SMT or CMP CPUs, then processing throughput is improved, but implementation complexity increases significantly
Solution Approach 1:
The hardware accelerator implements self-service parallelism where the dedicated processing units automatically divide and execute query operations in parallel without requiring manual thread creation. The accelerator manages its own parallel processing internally, achieving high throughput while keeping the implementation complexity low at the application level.
Solution Approach 2:
The patent extracts the parallelism management functionality from the application layer and relocates it to the hardware accelerator. By taking out the complexity of process/thread parallelism implementation and embedding it in the dedicated hardware, the system achieves high throughput while maintaining simplicity at the software interface level.
Data Source
AI summary
Embodiments of the present invention provide a database system that is optimized by using hardware acceleration. The system may be implemented in several variations to accommodate a wide range of queries and database sizes. In some embodiments, the system may comprise a host system that is coupled to one or more hardware accelerator components. The host system may execute software or provide an interface for receiving queries. The host system analyzes and parses these queries into tasks. The host system may then select some of the tasks and translate them into machine code instructions, which are executed by one or more hardware accelerator components. The tasks executed by hardware accelerators are generally those tasks that may be repetitive or processing intensive. Such tasks may include, for example, indexing, searching, sorting, table scanning, record filtering, and the like.


