Affinity-Driven Distributed Scheduling for Deadlock-Free Parallel Computation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If distributed scheduling is implemented to improve performance, then productivity increases, but system complexity increases due to need for deadlock avoidance strategies
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.
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.
3Quantity of substance
If space is bounded in the system, then resource utilization improves, but cyclic dependencies and physical deadlocks become more likely
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.
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.
Data Source
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.


