Task Coordination System for Priority-Based Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, lower priority tasks often starve for system resources, leading to potential system damage due to their critical aggregate nature, as higher priority tasks are prioritized for resource allocation.
Innovation Solution
A system that coordinates parallel task execution by establishing an ordered priority for each track and assigning tasks a native priority, allowing them to execute at tracks with equal or higher priority, and iteratively identifying next higher priority tracks if the initial track is unavailable, with tasks waiting if no suitable track is found.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If higher priority tasks are allocated system resources first, then higher priority tasks execute promptly, but lower priority tasks starve of system resources
Solution Approach 1:
The system dynamically adjusts task scheduling by allowing lower priority tasks to execute on tracks with lower priority than their native priority when higher priority tracks are unavailable. This dynamic adaptation prevents resource starvation while maintaining the primary advantage of priority-based scheduling for critical tasks.
Solution Approach 2:
The system changes the effective execution track priority parameter for lower priority tasks when their native priority track is unavailable. By allowing tasks to execute on tracks with lower priority than their native priority, the system prevents resource starvation and maintains stability while preserving the ability to execute higher priority tasks promptly.
2Reliability
If lower priority tasks are allowed to execute, then resource starvation is prevented, but higher priority tasks may be delayed
Solution Approach 1:
The system segments the execution environment into multiple tracks with different priorities. By organizing tasks and resources into distinct priority levels, the system can manage conflicts between higher and lower priority tasks, allowing lower priority tasks to execute on appropriate tracks without blocking higher priority task execution.
Solution Approach 2:
The track priority system acts as an intermediary mechanism between higher and lower priority tasks. By introducing tracks as intermediate execution levels, the system mediates resource allocation conflicts, allowing lower priority tasks to execute on lower priority tracks while preserving resource availability for higher priority tasks.
3Manufacturing precision
If strict priority matching is enforced, then task execution precision is maintained, but system resource utilization decreases
Solution Approach 1:
The system relaxes the strict priority matching parameter by allowing lower priority tasks to execute on tracks with lower priority than their native priority. This parameter change increases system resource utilization while maintaining sufficient precision for critical tasks that require strict priority matching.
Solution Approach 2:
The system dynamically adjusts the priority matching requirement based on track availability. When higher priority tracks are available, strict priority matching is enforced for precision. When unavailable, the system dynamically allows execution on lower priority tracks to improve resource utilization.
Data Source
AI summary
Embodiments are directed towards coordinating parallel execution of tasks. An ordered priority for each of a plurality of tracks may be established. Furthermore, each of a plurality of tasks may be assigned a native priority. A track for executing a task may be identified based on a match of the task native priority and a track priority. The task can execute at the identified track if the track is available. If the identified track is not available, then another track with a next higher priority than the previously identified track maybe iteratively identified. Next higher priority tracks may be iteratively identified until an available track is identified. If an available track is identified then the task can execute at the available track; otherwise, the task may be put into a wait mode before re-attempt to execute at the track with a priority that matches the task native priority.


