Unified Task Queue for Multi-Threaded Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata synchronizationVSAvoidqueue management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If fixed number of processing units are allocated, then resource allocation is simplified, but productivity decreases due to processor idle time

Engineering Contradiction:
Improveprocessing throughputVSAvoiddynamic resource management
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvetask orderingVSAvoidcontext switching overhead
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9600335B2Method and system for efficient execution of ordered and unordered tasks in multi-threaded and networked computing
Publication Date: 2017.03.21 WIPRO LTD
  • US9600335B2 patent drawing
  • US9600335B2 patent drawing
  • US9600335B2 patent drawing

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.