Yaq Cluster Scheduler Task Queuing and Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvejob completion timeVSAvoidcentralized resource management
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveallocation latencyVSAvoidhead-of-line blocking
Core Design Contradiction:
SpeedVSLoss of time

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.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If queue lengths are increased to reduce idle time, then cluster utilization improves, but job completion times increase due to longer queuing delays

Engineering Contradiction:
Improvecluster utilizationVSAvoidqueuing delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11010193B2Efficient queue management for cluster scheduling
Publication Date: 2021.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11010193B2 patent drawing
  • US11010193B2 patent drawing
  • US11010193B2 patent drawing

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.