Cloning Stream Processing Elements for Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face limitations in processing large amounts of data in real-time due to the rate at which they can receive and store incoming data, leading to underutilization of hardware resources in stream computing environments.

Innovation Solution

The method involves distributing processing elements or operators to take advantage of underutilized hardware resources by cloning and reassigning them to idle CPUs, creating parallel execution paths and un-fusing operators to utilize available resources efficiently, thereby increasing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored first then indexed and queried in database systems, then data storage reliability is improved, but real-time processing speed deteriorates

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidreal-time processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the monolithic database processing system into multiple independent processing elements (operators) that can execute in parallel. Each operator handles specific data processing tasks independently, allowing simultaneous data ingestion, processing, and querying operations. This segmentation enables the system to maintain reliable data storage while achieving real-time processing speeds through parallel execution of divided processing tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-dimensional processing to multi-dimensional parallel processing by distributing data flow across multiple processing elements operating simultaneously. The system creates multiple execution paths and parallel operator instances that process different portions of the data stream concurrently, adding a temporal parallelism dimension that resolves the contradiction between storage reliability and processing speed.

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

2Productivity

If processing elements are concentrated on limited hardware resources, then processing capacity is improved, but hardware resource utilization deteriorates

Engineering Contradiction:
Improveprocessing capacityVSAvoidhardware resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent designs processing elements with multi-functionality capabilities that allow them to dynamically adapt and execute different operator types based on available hardware resources. Processing elements can be replicated and distributed across multiple hardware platforms, including idle CPUs and underutilized servers, enabling the system to leverage diverse hardware resources efficiently while maintaining high processing capacity through flexible resource allocation.

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

Data Source

PatentUS10296386B2Processing element management in a streaming data system
Publication Date: 2019.05.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10296386B2 patent drawing
  • US10296386B2 patent drawing
  • US10296386B2 patent drawing

AI summary

Stream applications may inefficiently use the hardware resources that execute the processing elements of the data stream. For example, a compute node may host four processing elements and execute each using a CPU. However, other CPUs on the compute node may sit idle. To take advantage of these available hardware resources, a stream programmer may identify one or more processing elements that may be cloned. The cloned processing elements may be used to generate a different execution path that is parallel to the execution path that includes the original processing elements. Because the cloned processing elements contain the same operators as the original processing elements, the data stream that was previously flowing through only the original processing element may be split and sent through both the original and cloned processing elements. In this manner, the parallel execution path may use underutilized hardware resources to increase the throughput of the data stream.