Iterative Pipeline for Parallel Data Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing large-scale data processing systems face challenges in maximizing throughput for network-intensive processing jobs, leading to system overload, underutilization of resources, and high costs due to peak usage allocation and sequential processing limitations.
Innovation Solution
Implementing an iterative pipelining approach where records are partitioned and processed in parallel through multiple stages, allowing concurrent processing and merging of partitions, optimized for cloud-based systems like Hadoop and MapReduce, to control request rates and enhance overall throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cloud services are provisioned for peak capacity to handle large-scale processing jobs, then system reliability is improved, but resource utilization deteriorates as services remain underutilized for most of the day
Solution Approach 1:
The system dynamically adjusts the number of processing nodes and resource allocation based on real-time workload conditions. During peak periods, additional nodes are activated to handle large-scale jobs reliably; during off-peak periods, nodes are deactivated or placed in low-power states, optimizing resource utilization while maintaining reliability when needed
Solution Approach 2:
Instead of provisioning for full peak capacity continuously, the system activates only the necessary portion of resources based on current demand. This partial action approach ensures reliability during peak loads while avoiding the waste of keeping excessive resources idle during off-peak periods
2Stability of the object's composition
If sequential processing is used in existing data processing systems, then service stability is improved, but throughput deteriorates as only one service may be utilized at a time
Solution Approach 1:
The processing system is segmented into independent, modular services that can operate concurrently. Each service handles specific processing tasks independently, allowing multiple services to run in parallel without interfering with each other, thereby increasing throughput while maintaining individual service stability
Solution Approach 2:
The system transitions from single-dimensional sequential processing to multi-dimensional parallel processing by introducing additional processing dimensions through iterative pipelines. Multiple partitions of data can be processed simultaneously through different stages, effectively adding temporal and spatial dimensions to the processing architecture
3Quantity of substance
If large input size is processed in existing systems, then data completeness is improved, but system overload occurs generating a large number of map tasks
Solution Approach 1:
Large input datasets are automatically segmented into multiple manageable partitions before processing. Each partition is handled by dedicated processing nodes in the iterative pipeline, preventing any single node from being overwhelmed while ensuring complete data processing through coordinated merging of partition results
Solution Approach 2:
The system introduces intermediary buffering and coordination layers between data input and processing stages. These intermediaries manage the flow of large datasets, regulating input rates and distributing workload evenly across processing nodes, thereby preventing system overload while maintaining data completeness
4Productivity
If iterative pipelining with parallel processing is implemented, then throughput is improved, but system complexity increases
Solution Approach 1:
The iterative pipeline framework is designed as a universal, reusable architecture that can handle various processing workloads through configuration rather than custom implementation. Standardized components and conventions reduce the complexity burden despite the parallel processing capabilities, allowing the same framework to serve multiple functions across different data processing scenarios
Data Source
AI summary
Method, system, and programs for data processing. In one example, a record is received. The record is separated into multiple partitions. Each partition is submitted to an iterative pipeline, wherein the iterative pipeline comprises two or more processing stages that are run in parallel and one of the multiple partitions passes through one of the two or more processing stages in one iteration. The multiple partitions are passed through two or more processing stages. The partitions that have passed through each of the two or more processing stages are merged.


