Dynamic FPGA Instantiation for Database Query Workload Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database query processing, programmable integrated circuits like FPGAs are underutilized or overutilized due to a static configuration, leading to inefficiencies in data processing, where each database operation processes varying numbers of data elements, causing bottlenecks and suboptimal performance.

Innovation Solution

The method involves estimating the workload for each database operation, selecting the number of instantiations based on the estimated workload, and configuring the programmable integrated circuit to execute database operations in parallel, optimizing the utilization of each operation by adapting the number of instantiations to match the workload, thereby forming a data processing pipeline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a static configuration of the programmable integrated circuit is used for all queries, then the device complexity is reduced and ease of operation is improved, but the productivity and resource utilization deteriorate due to underutilization or overutilization of database operations

Engineering Contradiction:
Improveease of operationVSAvoidproductivity
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic configuration of the programmable integrated circuit by determining the number of instantiations Ni for each database operation i based on estimated workload. This allows the system to adapt the circuit configuration to match the specific characteristics of each query, optimizing resource utilization and productivity while maintaining ease of operation through automated configuration.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the number of instantiations Ni of each database operation is adapted to the estimated workload, then the productivity and resource utilization are optimized, but the device complexity increases due to dynamic configuration requirements

Engineering Contradiction:
ImproveproductivityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of the programmable integrated circuit configuration by determining the number of instantiations Ni for each database operation i based on estimated workload. This parameter adaptation optimizes productivity by matching circuit resources to actual query requirements, while the complexity is managed through systematic workload estimation and configuration methods.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If database operations are executed in parallel with optimized instantiations, then the throughput and processing speed are improved, but the device complexity and buffer storage requirements increase

Engineering Contradiction:
ImprovethroughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the database processing workload into multiple instantiations Ni of each database operation i, allowing parallel execution to improve throughput. By dividing the processing into manageable segments that can be executed concurrently, the system achieves higher productivity while managing device complexity through structured segmentation of the data processing pipeline.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9934272B2Processing a database query in a database system
Publication Date: 2018.04.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9934272B2 patent drawing
  • US9934272B2 patent drawing
  • US9934272B2 patent drawing

AI summary

A method for processing a database query on a database system includes receiving the database query at the database system, determining a sequence of database operations for processing the database query, estimating a number of incoming data elements of the database system to be processed for each of the database operations, estimating a workload of a programmable integrated circuit of the database system for each of the database operations based on the estimated number of incoming data elements, assuming each of the database operations is performed in a single instantiation, selecting a number of instantiations Ni for a database operation i of the sequence of database operations based on the estimated workload of the programmable integrated circuit for the database operation i, and configuring the programmable integrated circuit to execute the determined sequence of database operations, the database operation i is instantiated Ni times.