Affinity-Driven Distributed Scheduling for Deadlock-Free Parallel Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling of parallel computations on many-core and massively parallel platforms faces challenges in achieving high productivity and performance due to physical deadlocks, especially in environments with bounded space, where cyclic dependencies can occur, and existing solutions fail to provide efficient space and time complexity while ensuring deadlock freedom.

Innovation Solution

The proposed solution involves an affinity-driven distributed scheduling process that ensures deadlock-free execution by using a novel distributed deadlock avoidance strategy, which manages space through estimated computation depth-based ordering of threads and employs randomized work stealing for load balancing, ensuring physical deadlock freedom in both unconstrained and bounded space scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional scheduling approaches are used on many-core platforms, then productivity and performance can be improved, but physical deadlocks occur due to cyclic dependencies in bounded space environments

Engineering Contradiction:
ImproveproductivityVSAvoiddeadlock freedom
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The scheduling algorithm performs preliminary actions by estimating computation depth and ordering threads accordingly before execution begins. This preliminary ordering prevents cyclic dependencies from forming in the first place, eliminating physical deadlocks while maintaining high productivity through efficient thread scheduling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a centralized scheduler that acts as a mediator between threads and processors. This scheduler manages resource allocation and thread scheduling to prevent cyclic dependencies, ensuring deadlock-free execution while optimizing productivity through intelligent scheduling decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If distributed scheduling is implemented to improve performance, then productivity increases, but system complexity increases due to need for deadlock avoidance strategies

Engineering Contradiction:
ImproveperformanceVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The algorithm changes key parameters including computation depth estimation and thread ordering criteria to simplify the scheduling process. By adjusting these parameters, the system achieves deadlock-free execution without requiring overly complex scheduling logic, thus improving performance while controlling complexity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduling problem is segmented into manageable components: depth estimation, thread ordering, and resource allocation. This segmentation allows each component to be handled independently with simpler logic, reducing overall system complexity while maintaining high performance through coordinated operation of these segments.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If space is bounded in the system, then resource utilization improves, but cyclic dependencies and physical deadlocks become more likely

Engineering Contradiction:
ImprovespaceVSAvoiddeadlock freedom
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary depth estimation and thread ordering before allocation begins. This preliminary action ensures that threads are assigned in a way that prevents cyclic dependencies from forming, allowing bounded space to be utilized efficiently without risking physical deadlocks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling algorithm incorporates feedback mechanisms that monitor space utilization and adjustment needs. By continuously feedback on the scheduling state and adjusting thread allocation accordingly, the system maintains deadlock-free execution while optimizing space utilization in bounded environments.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8959525B2Systems and methods for affinity driven distributed scheduling of parallel computations
Publication Date: 2015.02.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8959525B2 patent drawing
  • US8959525B2 patent drawing
  • US8959525B2 patent drawing

AI summary

Embodiments of the invention provide efficient scheduling of parallel computations for higher productivity and performance. Embodiments of the invention provide various methods effective for affinity driven and distributed scheduling of multi-place parallel computations with physical deadlock freedom.