Yaq Cluster Scheduler Task Queuing and Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cluster schedulers face inefficiencies in managing short-lived tasks, leading to low cluster utilization and increased job completion times due to centralized resource management and inadequate task placement strategies, which result in head-of-line blocking and sub-optimal resource allocation.
Innovation Solution
The introduction of Yaq, a centralized (Yaq-c) and distributed (Yaq-d) cluster scheduler that implements task queuing at worker nodes, employing queue management techniques such as bounding queue lengths, task prioritization, and per-queue scheduling to improve job completion times and cluster resource utilization, while avoiding the limitations of previous systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a centralized resource manager is used to schedule tasks, then resource allocation decisions can be made centrally, but job completion times increase and cluster utilization decreases due to the resource manager being in the critical path and resources remaining fallow between heartbeats
Solution Approach 1:
The patent segments the centralized scheduling function into distributed queue managers at each worker node. Each node maintains its own task queue and can independently allocate tasks to available resources without waiting for centralized approval, eliminating the critical path bottleneck while maintaining coordinated resource management through periodic heartbeats.
Solution Approach 2:
The patent implements preliminary action by pre-queuing tasks at worker nodes before they are needed for execution. This allows tasks to be ready and waiting in local queues when resources become available, eliminating idle time between heartbeats and ensuring immediate task execution when resources are freed.
2Speed
If tasks are queued at worker nodes in a distributed scheduler, then allocation latency is reduced, but head-of-line blocking occurs when tasks have heterogeneous resource demands and durations
Solution Approach 1:
The patent changes the ordering parameter in task queues from simple FIFO to priority-based ordering that considers task characteristics such as resource demands and duration. This allows short tasks to be prioritized over long tasks, reducing head-of-line blocking and improving overall job completion times while maintaining fast allocation latency.
3Productivity
If queue lengths are increased to reduce idle time, then cluster utilization improves, but job completion times increase due to longer queuing delays
Solution Approach 1:
The patent changes the queue management parameter from fixed-length queues to dynamically sized queues that adjust based on current cluster load and task characteristics. When the cluster is underutilized, queues can grow to reduce idle time. When queues become too long, the system adjusts to prevent excessive waiting, thus optimizing both utilization and completion time.
Data Source
AI summary
Embodiments for efficient queue management for cluster scheduling and managing task queues for tasks which are to be executed in a distributed computing environment. Both centralized and distributed scheduling is provided. Task queues may be bound by length-based bounding or delay-based bounding. Tasks may be prioritized and task queues may be dynamically reordered based on task priorities. Job completion times and cluster resource utilization may both be improved.


