Unified Task Queue for Multi-Threaded Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel computing methods face challenges in data synchronization and load balancing, especially when dealing with dynamic mixes of unordered and ordered tasks, leading to inefficient resource utilization and potential disruptions in IT services.
Innovation Solution
A method and system for dynamically managing processing units by determining the required number of processing units based on task rates and thresholds, allowing concurrent execution of ordered and unordered tasks in the same processing queue without the need for multiple queues or lock/delay mechanisms, thereby optimizing resource allocation and reducing idle time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple queues or lock/delay mechanisms are used to manage ordered and unordered tasks, then data synchronization is improved, but device complexity increases
Solution Approach 1:
The patent merges the management of ordered and unordered tasks into a single processing queue, eliminating the need for separate queues. This consolidation reduces structural complexity while maintaining synchronization through a unified processing mechanism that handles both task types appropriately.
Solution Approach 2:
The patent extracts the lock and delay mechanisms from the queue management structure, replacing them with a streamlined approach that uses processing unit coordination and task tagging. This removal reduces device complexity while preserving data synchronization through alternative means.
2Productivity
If fixed number of processing units are allocated, then resource allocation is simplified, but productivity decreases due to processor idle time
Solution Approach 1:
The patent implements dynamic allocation of processing units based on the current mix of ordered and unordered tasks in the queue. The system adjusts the number of active processing units in real-time, increasing them when unordered tasks are prevalent and reducing them when ordered tasks dominate, thereby optimizing productivity while adapting to changing workloads.
Solution Approach 2:
The patent changes the parameter of processing unit count from a fixed value to a dynamically adjustable parameter. This allows the system to optimize throughput by increasing processing units during high-demand periods and reducing them during low-demand periods, eliminating processor idle time while maintaining manageable complexity through automated adjustment.
3Reliability
If separate processing mechanisms are used for ordered and unordered tasks, then data synchronization is improved, but loss of time increases due to context switching
Solution Approach 1:
The patent combines the processing of ordered and unordered tasks into a single unified mechanism within the same processing queue. This merging eliminates the need for context switching between separate processing mechanisms, reducing time loss while maintaining task ordering through appropriate handling within the unified structure.
Solution Approach 2:
The patent creates a universal processing mechanism that can handle both ordered and unordered tasks within the same queue. This multi-functional approach allows the system to process different task types without switching contexts, reducing overhead time while preserving the ordering requirements through intelligent task management within the unified processor.
Data Source
AI summary
The present disclosure provides methods for concurrently executing ordered and unordered tasks using a plurality of processing units. Certain embodiments of the present disclosure may store the ordered and unordered tasks in the same processing queue. Further, processing tasks in the processing queue may comprise concurrently preprocessing ordered tasks, thereby reducing the amount of processing unit idle time and improving load balancing across processing units. Embodiments of the present disclosure may also dynamically manage the number of processing units based on a rate of unordered tasks being received in the processing queue, a processing rate of unordered tasks, a rate of ordered tasks being received in the processing queue, a processing rate of ordered tasks, and/or the number of sets of related ordered tasks in the processing queue. Also provided are related systems and non-transitory computer-readable media.


