Dynamic Scaling of Concurrent Processing Threads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for processing large data sets often face underutilization or overutilization of resources due to fixed numbers of processing threads, leading to inefficiencies and the need for manual intervention to manage server loads and prevent system failures.
Innovation Solution
A system for dynamic scaling of concurrent processing threads that monitors performance metrics such as JVM, CPU, and disk utilization to adjust the number of processing threads based on real-time performance scores, allowing for automatic optimization of resource allocation across managed servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a fixed number of processing threads is defined for each server, then the system structure is simple and easy to manage, but the servers become under-utilized or over-utilized depending on performance conditions
Solution Approach 1:
The patent implements dynamic scaling of processing threads by continuously monitoring server performance metrics (CPU utilization, JVM memory usage, disk I/O) and automatically adjusting the number of active threads based on current workload conditions. This transforms the static thread configuration into a dynamic system that adapts to changing performance requirements, resolving the contradiction between structural simplicity and resource utilization efficiency.
Solution Approach 2:
The system changes the parameter of thread count based on monitored performance metrics. By establishing performance thresholds and dynamically adjusting thread allocation according to actual server conditions, the system optimizes resource utilization without requiring complex manual intervention, thus resolving the contradiction between simple management and efficient resource usage.
2Reliability
If manual monitoring is performed to validate data processing status and avoid system failures, then system reliability is maintained, but operational complexity increases and efficiency decreases
Solution Approach 1:
The patent implements self-service monitoring and automatic thread adjustment mechanisms that continuously track server performance metrics and autonomously scale thread counts without human intervention. The system validates its own operational status through automated health checks and performance threshold evaluations, maintaining reliability while eliminating manual monitoring requirements and associated operational complexities.
Solution Approach 2:
The system establishes continuous feedback loops that monitor performance metrics (CPU usage, memory consumption, disk I/O) and automatically adjust thread allocation based on real-time conditions. This feedback mechanism ensures system reliability by detecting and responding to performance degradation automatically, while eliminating the need for manual validation and reducing operational complexity.
3Productivity
If more processing threads are allocated to handle increased data volume, then processing speed increases, but server resource congestion and failure risk increase
Solution Approach 1:
The patent implements dynamic thread scaling that adjusts processing thread counts based on real-time server performance conditions. When performance metrics indicate healthy server status, the system increases thread allocation to accelerate data processing. When congestion signs appear (high CPU utilization, memory pressure, disk I/O saturation), the system automatically reduces thread counts, thus optimizing processing speed while preventing resource congestion and system failures.
Solution Approach 2:
The system uses feedback from performance monitoring to dynamically control thread allocation. By continuously measuring server health metrics and comparing them against predefined thresholds, the system intelligently adjusts thread counts to maximize processing throughput while maintaining safe operational margins that prevent resource exhaustion and system failures.
4Productivity
If the number of processing threads is increased to reduce underutilization, then resource utilization improves, but system complexity and risk of overutilization increase
Solution Approach 1:
The patent implements dynamic thread management that continuously adapts thread allocation to current server conditions. The system monitors multiple performance metrics simultaneously and adjusts thread counts based on composite health assessments, ensuring optimal resource utilization while maintaining system stability through automated response to changing conditions.
Solution Approach 2:
The system employs feedback mechanisms that monitor server performance metrics and automatically adjust thread allocation to maintain optimal utilization levels. By establishing performance thresholds and implementing automated response protocols, the system maximizes resource usage while preventing overutilization that could lead to system failures, thus resolving the contradiction between productivity and reliability.
Data Source
AI summary
A system and method for the dynamic scaling of concurrent processing threads are provided. The system may include a scheduler, a master controller, a thread controller, a process invoker, a reprocess validator, and a server cluster comprising various managed servers. The master controller may to generate processing thread messages during an initial processing run. Thereafter, the master controller may dynamically scale the processing thread messages based on process performance data and system performance data.


