Hardware Accelerators for Database Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogramming language compatibilityVSAvoidquery processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImproveCPU architecture simplicityVSAvoidmemory access time
Core Design Contradiction:
Device complexityVSLoss of time

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #26Copying

3Device complexity

If single-CPU architecture is used, then device complexity is minimized, but throughput and concurrency are limited due to sequential processing capability

Engineering Contradiction:
Improvesystem architecture simplicityVSAvoidquery throughput
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10803066B2Methods and systems for hardware acceleration of database operations and queries for a versioned database based on multiple hardware accelerators
Publication Date: 2020.10.13 TERADATA US INC
  • US10803066B2 patent drawing
  • US10803066B2 patent drawing
  • US10803066B2 patent drawing

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.