Parallel Database Query Execution on CPUs and Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database query processing is limited by the relatively low number of cores in CPUs, preventing effective parallel execution of database queries, which results in inefficient performance improvement and high resource consumption, especially for large datasets.

Innovation Solution

A system that utilizes both Central Processing Units (CPUs) and Multi Core Processors (MCPs) for parallel query execution, employing a query analyzer to divide queries into sub-queries, a query compiler to generate OpenCL primitives, and a virtual machine to coordinate the execution of these sub-queries across CPUs and MCPs, allowing for efficient distribution and combination of results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If parallel processing is employed to improve query performance, then query execution speed is improved, but resource consumption and power usage increase excessively

Engineering Contradiction:
Improvequery execution speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent segments the database query into multiple sub-queries that can be executed in parallel across multiple CPU cores. The query compiler divides the original query into sub-queries, each assigned to different CPU cores, enabling parallel execution while maintaining efficient resource utilization through selective parallelism based on query characteristics.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more CPUs are utilized for parallel queries, then processing capacity is improved, but the number of available CPUs is limited by hardware constraints and Moore's law

Engineering Contradiction:
Improveprocessing capacityVSAvoidnumber of CPUs
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple CPU cores into a unified parallel processing system coordinated by a virtual machine. Instead of adding more separate physical CPUs, the system combines the processing power of existing multi-core CPUs and manages them as an integrated resource pool, thereby increasing processing capacity without proportionally increasing device complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If parallel queries are executed across multiple CPUs, then query processing throughput is improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvequery processing throughputVSAvoidsystem coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a virtual machine as an intermediary layer between the query compiler and the CPU cores. This virtual machine manages the parallel execution of sub-queries, handling task distribution, coordination, and result aggregation across multiple CPU cores, thereby simplifying the overall system architecture and reducing coordination overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If traditional CPU-only systems are used, then system simplicity is maintained, but query performance improvement is limited due to low number of cores

Engineering Contradiction:
Improvequery performanceVSAvoidprocessing architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal query execution system that can operate effectively on traditional CPU-only systems while also being capable of utilizing multi-core processors when available. The system adapts to the underlying hardware architecture, providing enhanced performance on multi-core systems while maintaining compatibility and acceptable performance on traditional single-core or dual-core CPU systems.

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

Data Source

PatentEP2596430B1A system and method for the parallel execution of database queries over cpus and multi core processors
Publication Date: 2019.06.19 SQREAM TECH
  • EP2596430B1 patent drawingFigure 1a
  • EP2596430B1 patent drawingFigure 1b
  • EP2596430B1 patent drawingFigure 2

AI summary

The invention relates to a system for parallel execution of database queries over one or more Central Processing Units (CPUs), and one or more Multi Core Processors, (MCPs), the system comprises: (a) a query analyzer for dividing the query to plurality of sub- queries, and for computing and assigning to each sub-query a target address of either a CPU of an MCP; (b) a query compiler for creating an Abstract Syntax Tree (AST) and OpenCL primitives only for those sub-queries that are targeted to an MCP, and for conveying both the remaining sub-queries, and the AST and the OpenCL code to a virtual machine, and (A) a Virtual Machine (VM) which comprises: a task bank, a buffers; a scheduler. The virtual machine combines said sub-query results by the CPUs and said primitive results by said MCPs to a final query result.