Cloning Stream Processing Elements for Parallel Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If processing elements are concentrated on limited hardware resources, then processing capacity is improved, but hardware resource utilization deteriorates
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.
Data Source
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.


