SPSC Buffering for Parallel Database Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face limitations in processing speed due to hardware constraints and data storage methods, particularly in large-scale data processing networks, where the speed of data execution is hindered by hardware limitations and restricted co-processing options.

Innovation Solution

A parallelized database system architecture that utilizes multiple computing devices and processing core resources to execute operations independently, employing Single Producer Single Consumer (SPSC) buffers and tagged read operations to optimize data storage and retrieval, allowing for lock-free and parallel execution of administrative and configuration operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional database systems use conventional data storage and processing methods, then hardware constraints are accepted, but processing speed and execution efficiency are limited

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the database system into multiple independent processing nodes that can operate in parallel. Each node handles specific data partitions, allowing simultaneous processing of multiple queries. This segmentation enables the system to overcome hardware constraints by distributing the processing load across multiple units, thereby improving overall processing speed without requiring a single complex high-performance device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new architectural dimension by implementing a multi-node distributed system rather than relying solely on vertical scaling of a single device. This dimensional shift from single-node to multi-node architecture allows the system to achieve higher processing speeds by adding nodes horizontally, effectively bypassing the hardware constraints of individual devices.

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

2Loss of time

If parallel processing is implemented to improve execution speed, then processing time is reduced, but synchronization and coordination overhead increases

Engineering Contradiction:
Improvequery processing timeVSAvoidsynchronization complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization problem from the critical query processing path by using asynchronous communication mechanisms. Nodes can process queries independently without waiting for synchronization events, and coordination metadata is handled separately. This extraction allows parallel processing to proceed at full speed while synchronization overhead is minimized and decoupled from the main processing flow.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces intermediary components such as message queues and coordination metadata structures that facilitate parallel processing without direct node-to-node synchronization. These intermediaries act as buffers that allow nodes to operate independently while still maintaining system-wide consistency, thereby reducing the complexity of direct synchronization between processing nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If more co-processing options are added to overcome hardware limitations, then processing capability is enhanced, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improvedata processing capabilityVSAvoidresource management ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements universal processing nodes that can handle multiple types of operations and data formats through a standardized interface. Each node is designed to be multi-functional, capable of performing various co-processing tasks without requiring specialized components for each function. This universality enhances processing capability while simplifying resource management, as the system can dynamically allocate and manage identical node types rather than handling diverse specialized resources.

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

Data Source

PatentUS11249916B2Single producer single consumer buffering in database systems
Publication Date: 2022.02.15 OCIENT HOLDINGS LLC
  • US11249916B2 patent drawing
  • US11249916B2 patent drawing
  • US11249916B2 patent drawing

AI summary

A method for execution by a virtual machine core includes retrieving a first pointer by accessing a first buffer of a plurality of buffers stored in allocated memory of a main memory based on assignment of the virtual machine core as a single consumer of the first buffer. First intermediate data in the allocated memory is accessed by utilizing the first pointer. Second intermediate data is generated by executing one of an ordered set of operations on the first intermediate data. The second intermediate data is written to the allocated memory. A second pointer is written to a second buffer of the plurality of buffers based on assignment of the virtual machine core as a single producer of the second buffer.