Branch-Aware Queue Deployment for Stream Processing Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing stream processing methods experience throughput delays and bottlenecks due to branch instructions, particularly in high-load processing, which affect real-time data visualization and other critical operations.
Innovation Solution
A data processing management system and method that deploys queues strategically to prioritize and optimize throughput by measuring branch proportions and computing deployment costs, ensuring efficient processing even with branch instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a queue is deployed before the unit instruction string for temporary storage, then data can be buffered and processed, but throughput delay occurs due to transfer and reading operations to and from the queue system
Solution Approach 1:
The patent segments the processing flow by identifying branch instructions as delimiters, creating separate processing units between branch points. This segmentation allows critical branch processing to be isolated from queue operations, enabling throughput-optimized paths for time-sensitive operations while maintaining buffering capability for non-critical data.
Solution Approach 2:
The patent introduces a queue deployment determination unit that acts as an intermediary between the branch instruction and the processing elements. This intermediary intelligently decides whether to deploy a queue based on processing load and criticality, mediating between the need for data buffering and the requirement for low-latency throughput in real-time visualization functions.
2Productivity
If more processing elements are added to increase throughput, then processing capacity increases, but queue deployment complexity increases and may cause bottlenecks
Solution Approach 1:
The processing elements perform self-service by autonomously determining whether to deploy queues based on their own processing load and the criticality of their functions. Each processing element evaluates its own throughput requirements and makes local decisions about queue deployment, eliminating the need for centralized queue management complexity while maintaining optimal throughput.
Solution Approach 2:
The patent changes the deployment parameter from a static, system-wide queue configuration to a dynamic, localized decision based on processing load and function criticality. This parameter change allows the system to adapt queue deployment to actual runtime conditions, simplifying overall system complexity while maintaining high throughput for critical operations.
3Loss of time
If queues are deployed to all branch destinations to prevent throughput decrease, then throughput of prioritized processing is maintained, but system complexity and resource overhead increase
Solution Approach 1:
The patent applies local quality by making queue deployment characteristics specific to each processing element's local requirements. Instead of uniformly deploying queues system-wide, each processing element independently determines its own queue deployment needs based on its specific processing load and function criticality, reducing overall system complexity while maintaining throughput where necessary.
Solution Approach 2:
The patent implements partial action by deploying queues only to the extent necessary for maintaining throughput in critical processing paths. Rather than deploying queues to all branch destinations unconditionally, the system selectively deploys queues only where throughput maintenance is critical, avoiding unnecessary complexity in non-critical paths.
Data Source
AI summary
The data processing management system includes a queue deployment system that deploys a queue with a processing description of stream processing having a branch instruction being an input. The queue deployment system designates processing to be preferentially executed for the processing description, measures throughputs in respective processing after the branch instruction, and obtains branch proportions that at which the respective processing after the branch instruction is executed. The queue deployment system then computes deployment costs in a case of deploying a queue between the branch instruction and the respective processing after the branch instruction, for combinations of the respective processing after the branch instruction using the throughputs and the branch proportions, and outputs a queue deployment pattern for preventing a decrease in a throughput of the processing to be preferentially executed among the respective processing after the branch instruction.


