Task Partitioning for Multiprocessors Using Resource Sharing Awareness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional task allocation algorithms in multi-processor systems fail to maximize aggregate performance due to task dependencies, leading to increased blocking times and suboptimal execution, as they do not consider the interactions between tasks when distributing them across processors.
Innovation Solution
A novel task allocation method that analyzes and minimizes the worst-case blocking time by assigning dependent tasks to the same processor, utilizing the Multi-processor Priority Ceiling Protocol (MPCP) to prevent deadlocks and prioritize resource access, and employing MPCP-suspend and MPCP-spinning policies to manage shared resource access, while also balancing processor utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tasks are allocated to different processors to balance load, then processor utilization is improved, but blocking time increases due to resource sharing conflicts
Solution Approach 1:
The patent merges tasks that share common resources into the same processor partition. By analyzing resource access patterns and identifying tasks with overlapping resource requirements, the system combines these tasks within single partitions to eliminate inter-partition resource conflicts. This merging strategy reduces blocking time caused by remote resource access while maintaining balanced processor utilization through optimized partition formation.
Solution Approach 2:
The patent segments the set of tasks into distinct partitions based on their resource sharing characteristics. By dividing tasks into groups that share resources internally but minimize external resource access, the system creates partitions that can execute with reduced blocking. The segmentation approach allows independent optimization of each partition while considering overall system performance.
2Device complexity
If tasks are allocated statically without considering dependencies, then allocation simplicity is maintained, but aggregate performance decreases due to task blocking
Solution Approach 1:
The patent performs preliminary analysis of task dependencies and resource access patterns during the partitioning phase. By pre-identifying tasks that share resources or have dependency relationships, the system proactively assigns them to the same partitions before execution begins. This preliminary action eliminates the need for dynamic task migration or complex runtime dependency management, maintaining allocation simplicity while improving performance.
Solution Approach 2:
The patent incorporates feedback mechanisms that analyze task execution patterns and resource access behavior to optimize partition formation. By monitoring which tasks frequently access shared resources and how blocking occurs, the system refines its partitioning strategy to better group dependent tasks together, thereby reducing aggregate blocking time while maintaining manageable allocation complexity.
Data Source
AI summary
A multi processor task allocation method is described that considers task dependencies while performing task allocation in order to avoid blocking of a task's execution while waiting for the resolution of the dependency. While allocating the tasks to the processors the potential blocking time is considered, and the best allocation that will have the least amount of blocking time is found.


