Database Query Accelerator Offloading Multiple Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware accelerators, such as FPGAs, are inefficient when used to accelerate only one processing operation in a database query, as they do not significantly increase the overall processing speed and incur unnecessary overhead due to the interface between the accelerator and host.

Innovation Solution

Offloading multiple processing operations to a single accelerator and executing them in a parallel/pipelined fashion, allowing for improved end-to-end performance and better amortization of setup, teardown, and data transfer overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If only one processing operation is accelerated on an accelerator, then that specific operation's speed is improved, but the overall query processing speed does not significantly increase and interface overhead is incurred

Engineering Contradiction:
Improveprocessing speed of specific operationVSAvoidoverall query processing throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent combines multiple processing operations (sort, decompression, predicate evaluation, join) into a single integrated accelerator device. This merging allows the accelerator to process multiple operations in parallel without incurring repeated interface overhead between the host and accelerator, thereby significantly improving overall query processing throughput while maintaining the speed benefits of hardware acceleration.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple processing operations are offloaded to an accelerator, then overall query processing throughput is improved, but device complexity increases

Engineering Contradiction:
Improvequery processing throughputVSAvoidaccelerator configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal accelerator template that can be configured to perform multiple different processing operations (sort, decompression, predicate evaluation, join) through a single device. This multi-functionality allows the accelerator to handle various query processing tasks without requiring separate specialized hardware for each operation, thereby improving throughput while controlling device complexity through standardized architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of energy

If interface overhead between accelerator and host is reduced by accelerating multiple operations, then efficiency is improved, but the complexity of managing multiple operations on a single accelerator increases

Engineering Contradiction:
Improveinterface overheadVSAvoidoperation management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent segments the accelerator into distinct functional modules, each dedicated to a specific processing operation (sort module, decompression module, predicate evaluation module, join module). This segmentation allows multiple operations to be managed independently within the single accelerator device, reducing the complexity of coordinating multiple operations while minimizing interface overhead by keeping all modules integrated within one accelerator rather than requiring separate host-accelerator interfaces for each operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10133774B2Accelerating multiple query processing operations
Publication Date: 2018.11.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10133774B2 patent drawing
  • US10133774B2 patent drawing
  • US10133774B2 patent drawing

AI summary

Embodiments include methods, systems and computer program products a for offloading multiple processing operations to an accelerator includes receiving, by a processing device, a database query from an application. The method also includes performing analysis on the database query and selecting an accelerator template from a plurality of accelerator templates based on the analysis of the database query. The method further includes transmitting an indication of the accelerator template to the accelerator and executing at least a portion of the database query on the accelerator.