Asynchronous Buffer Control for Multi-Core Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core query processing, intermediate results in buffers can become full or empty due to mismatched write and read speeds, leading to inefficiencies and idle cores, as existing systems struggle to maintain optimal buffer content, resulting in reduced query processing speed and increased overhead from core switching.

Innovation Solution

A system with a buffer monitor, threshold manager, and speed controller that adjusts the number of write and read tasks by reassigned processing cores to maintain buffer content within defined thresholds, optimizing buffer usage and minimizing core switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the buffer content is not monitored and controlled, then the query processing can proceed without additional control mechanisms, but the buffer will become full or empty leading to idle cores and reduced processing speed

Engineering Contradiction:
Improvequery processing speedVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback control by monitoring buffer content levels and using this information to dynamically adjust the number of write and read tasks. The buffer monitor provides real-time feedback on buffer status, which the speed controller uses to modulate task execution, ensuring the buffer remains within optimal content thresholds and preventing idle cores.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the number of active write and read tasks based on real-time buffer content monitoring. Rather than using fixed task counts, the system adapts task numbers to maintain buffer content between thresholds, allowing flexible response to varying data production and consumption rates.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the number of write and read tasks is not adjusted, then the system structure remains simple, but buffer content will drift to thresholds causing excessive core switching

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidcore switching overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The buffer monitor provides continuous feedback on buffer content levels, enabling the speed controller to adjust task numbers proactively before the buffer reaches critical thresholds. This feedback mechanism prevents the need for reactive core switching and maintains stable buffer content within optimal ranges.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system takes preliminary action by monitoring buffer content and adjusting task numbers before the buffer becomes full or empty. This proactive adjustment prevents the need for corrective core switching and maintains continuous efficient processing without interruptions.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If buffer content is allowed to vary freely, then no control is needed and system complexity is minimized, but the buffer will become full or empty reducing processing speed

Engineering Contradiction:
Improvequery processing speedVSAvoidbuffer control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The buffer monitor provides real-time feedback on buffer content, enabling the speed controller to dynamically adjust task execution. This feedback loop ensures the buffer remains within optimal content thresholds, preventing both overflow and empty conditions that would reduce processing speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system uses dynamic adjustment of write and read task numbers based on real-time buffer content monitoring. This dynamic control allows the system to adapt to varying data rates and maintain optimal buffer content without requiring complex predetermined control rules.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8650340B2Multi-core query processing using asynchronous buffers
Publication Date: 2014.02.11 SAP SE
  • US8650340B2 patent drawing
  • US8650340B2 patent drawing
  • US8650340B2 patent drawing

AI summary

A system may include a buffer monitor configured to monitor buffer content of a buffer being used during processing of a query workflow in which write tasks of the query workflow write data to the buffer and read tasks of the query workflow read data from the buffer, the buffer having a buffer capacity. The system may include a threshold manager configured to compare the buffer content to a low threshold and to a high threshold that are defined relative to the buffer capacity, and a speed controller configured to control a number of the write tasks relative to a number of the read tasks that are currently executing the query workflow, to thereby maintain the buffer content between the low threshold and the high threshold.