Predictive Resource Allocation for Computing Cluster Latency Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing clusters face challenges in efficiently allocating resources to jobs with deadlines, as existing scheduling policies often lead to over-provisioning and inefficient resource utilization, particularly for high-priority jobs with service level agreements, where penalties for late completion can be significant.

Innovation Solution

A predictive resource allocation policy that builds a model relating time remaining to complete a job to resources allocated, accounting for task dependencies and failures, and adjusts resource allocation dynamically based on job progress using a utility function to ensure target completion times are met, thereby optimizing resource utilization and avoiding over-provisioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If more processing resources are allocated to a job to meet deadline guarantees, then the job completion time is reduced, but the resource utilization efficiency deteriorates due to over-provisioning

Engineering Contradiction:
Improvejob completion timeVSAvoidresource utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation by continuously monitoring job progress and adjusting resource allocation in real-time. The system transitions from static allocation policies to dynamic adjustment, where resources are allocated based on actual job status, progress rate, and time remaining, allowing the system to optimize between meeting deadlines and avoiding over-provisioning.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where job progress is continuously monitored and fed back into the allocation decision process. The scheduler uses feedback about actual execution speed, task completion rates, and time remaining to adjust resource allocation, creating a closed-loop system that adapts to actual job behavior rather than relying on static estimates.

Inventive Principle:
Principle #23Feedback

2Reliability

If a dedicated compute cluster is allocated to a high priority job, then the job can meet its deadline guarantee, but the overall cluster performance and resource availability deteriorate

Engineering Contradiction:
Improvedeadline guarantee fulfillmentVSAvoidcluster resource availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by providing enhanced resource allocation specifically to high-priority jobs that require it, while maintaining normal allocation policies for other jobs. Rather than dedicating entire clusters to single jobs, the system applies localized resource boosts to specific jobs based on their priority level and deadline requirements, preserving overall cluster resource availability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial action by allocating only the necessary additional resources needed to meet deadline guarantees, rather than over-allocating to ensure safety margins. The scheduler calculates the minimum additional resources required based on job progress and time remaining, avoiding excessive allocation while still meeting guarantees.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If manual intervention is used to track job progress and adjust resources, then resource allocation can be optimized, but the operational complexity and labor requirements increase

Engineering Contradiction:
Improveresource allocation optimizationVSAvoidoperational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by enabling the scheduler to automatically monitor job progress and adjust resource allocation without manual intervention. The automated system continuously evaluates job status, compares it against deadline requirements, and makes allocation decisions autonomously, eliminating the need for manual tracking while maintaining optimization capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes with automated computational systems. Instead of operators manually tracking progress and making decisions, the system uses computational algorithms that automatically process job status information, calculate optimal allocations, and execute resource adjustments, substituting human operational complexity with automated computational logic.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9262216B2Computing cluster with latency control
Publication Date: 2016.02.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9262216B2 patent drawing
  • US9262216B2 patent drawing
  • US9262216B2 patent drawing

AI summary

A computing cluster operated according to a resource allocation policy based on a predictive model of completion time. The predictive model may be applied in a resource control loop that iteratively updates resources assigned to an executing job. At each iteration, the amount of resources allocated to the job may be updated based on of the predictive model so that the job will be scheduled to complete execution at a target completion time. The target completion time may be derived from a utility function determined for the job. The utility function, in turn, may be derived from a service level agreement with service guarantees and penalties for late completion of a job. Allocating resources in this way may maximize utility for an operator of the computing cluster while minimizing disruption to other jobs that may be concurrently executing.