Global Work Sorting for Parallel Processing Deadlock Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Parallel computing systems face deadlocks when scheduling group work items across multiple processing units due to differences in processing unit availability and resource consumption, leading to inefficiencies and priority mismanagement.

Innovation Solution

The Global Work Sorting (GWS) technique allows parallel processing units to sort incoming group work items while avoiding deadlocks by implementing a system-wide approach that limits sorting based on the amount of sorting that can be done by individual units, using a messaging sequence to determine the optimal placement of new work items in prioritized queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If group work items are sorted across multiple processing units based on priority and local resource consumption, then scheduling flexibility and priority management are improved, but deadlocks occur due to inconsistent sorting decisions across processing units

Engineering Contradiction:
Improvescheduling flexibilityVSAvoiddeadlock prevention
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the sorting decision-making process by introducing a coordinator processing unit that centralizes the sorting logic for group work items. Individual processing units no longer independently sort items, which causes inconsistent decisions and deadlocks. Instead, the coordinator receives work items, determines their final sorted position based on global priority information, and distributes them appropriately, ensuring consistent sorting across all units without deadlocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The coordinator processing unit acts as an intermediary between work item sources and individual processing units. It mediates the sorting function by receiving work items, consulting priority information, determining the correct sorted position, and then distributing items to appropriate queues. This intermediary role prevents the deadlock that would occur if each processing unit independently made sorting decisions based on local information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If work items are placed in prioritized queues based on global priority information, then high-priority items are executed before low-priority ones, but processing units may become idle waiting for work while others have work available

Engineering Contradiction:
Improvepriority-based execution efficiencyVSAvoidprocessing unit idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements dynamic work distribution through the coordinator, which continuously monitors the state of all processing units and their queues. When a processing unit completes work or its queue becomes empty, the coordinator dynamically assigns new work items from its sorted queue, ensuring that processing units remain active. This dynamic allocation prevents idle time while maintaining priority-based execution order.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The coordinator implements a feedback mechanism where processing units report their work queue status and completion state back to the coordinator. Based on this feedback, the coordinator adjusts its work distribution strategy, assigning items to units that are ready and have capacity. This feedback loop ensures optimal utilization of processing units while preserving the prioritized execution order established by the coordinator.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8505015B2Placing a group work item into every prioritized work queue of multiple parallel processing units based on preferred placement of the work queues
Publication Date: 2013.08.06 TERADATA CORP
  • US8505015B2 patent drawing
  • US8505015B2 patent drawing
  • US8505015B2 patent drawing

AI summary

A “group work sorting” technique is used in a parallel computing system that executes multiple items of work across multiple parallel processing units, where each parallel processing unit processes one or more of the work items according to their positions in a prioritized work queue that corresponds to the parallel processing unit. When implementing the technique, one or more of the parallel processing units receives a new work item to be placed into a first work queue that corresponds to the parallel processing unit and receives data that indicates where one or more other parallel processing units would prefer to place the new work item in the prioritized work queues that correspond to the other parallel processing units. The parallel processing unit uses the received data as a guide in placing the new work item into the first work queue.