Hardware Accelerator for In-Memory Database Select Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing select operations in column-oriented in-memory databases is inefficient due to high memory read bandwidth requirements, bottlenecking CPU performance.

Innovation Solution

Implementing Data Element Filter Logic as a hardware accelerator in a System on Chip (SoC) that offloads computation from the CPU core, utilizing a bit vector to selectively process data elements across various bit widths, and incorporating pre-processing and select logic to efficiently filter data elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If select operations are processed using traditional CPU cores, then data filtering can be performed, but memory read bandwidth requirements become excessively high and CPU performance is bottlenecked

Engineering Contradiction:
Improveselect operation throughputVSAvoidmemory read bandwidth
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the filter operation from the CPU core and implements it as a dedicated hardware accelerator unit within the memory controller. This separation allows the CPU to focus on higher-level tasks while the hardware accelerator handles the computationally intensive filtering operations directly at the memory interface, thereby reducing memory read bandwidth requirements and eliminating the CPU performance bottleneck.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The hardware accelerator acts as an intermediary component between the memory subsystem and the CPU. It receives filter operations from the CPU, performs the filtering directly on data as it is read from memory, and returns only the filtered results to the CPU. This intermediary approach eliminates the need for the CPU to process all memory data and significantly reduces memory bandwidth consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware accelerator is implemented to offload computation from CPU, then CPU load is reduced and throughput is improved, but device complexity increases

Engineering Contradiction:
Improvequery processing throughputVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The hardware accelerator is designed with a universal filter unit that can handle multiple types of filter operations (equality, inequality, range queries) using the same underlying hardware structure. The accelerator processes data elements of various bit widths (8-bit, 16-bit, 32-bit, 64-bit) through a single configurable pipeline, eliminating the need for separate hardware units for each operation type or data width, thus managing complexity while maintaining versatility.

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

Solution Approach 2:

The hardware accelerator uses configurable parameters such as bit width selection and filter operation type to adapt to different query requirements without changing the fundamental hardware architecture. By allowing dynamic parameter changes rather than requiring dedicated hardware for each scenario, the system achieves high productivity across diverse workloads while keeping the device complexity manageable through parameterization rather than structural multiplication.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10922079B2Method and apparatus to efficiently perform filter operations for an in-memory relational database
Publication Date: 2021.02.16 TAHOE RES LTD
  • US10922079B2 patent drawing
  • US10922079B2 patent drawing
  • US10922079B2 patent drawing

AI summary

Data element filter logic (“hardware accelerator”) in a processor that offloads computation for an in-memory database select/extract operation from a Central Processing Unit (CPU) core in the processor is provided. The Data element filter logic provides a balanced performance across an entire range of widths (number of bits) of data elements in a column-oriented Database Management System.