Resource Health Based Workload Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data centers face service disruptions due to resource unavailability, impacting user experience and organizational perception, as existing systems lack effective workload prioritization and resource health monitoring to manage resource overload and recovery.

Innovation Solution

A computer-implemented method and system for resource health-based scheduling that allocates threads to workloads based on classification and priority, throttles workloads during resource overload, and reallocates threads when resources recover, using a workload classification module, thread pool module, resource health module, and resource monitor module to manage resource health and workload execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If threads are allocated to multiple workloads simultaneously, then resource utilization increases, but service reliability deteriorates when resources become overloaded

Engineering Contradiction:
Improveresource utilizationVSAvoidservice reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts thread allocation based on real-time resource health status. When resources are healthy, more threads are allocated to increase productivity. When resources become overloaded or unhealthy, the system reduces thread allocation to maintain reliability. This dynamic adaptation resolves the contradiction by making thread allocation flexible rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of thread allocation based on resource health conditions. By monitoring resource status and adjusting the number of allocated threads accordingly, the system optimizes both productivity and reliability. When resources are underutilized, thread allocation increases; when overloaded, allocation decreases, thus resolving the trade-off between these two parameters.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If workload priority differentiation is implemented, then service reliability improves during overload, but system complexity increases

Engineering Contradiction:
Improveservice reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments workloads into different priority levels (high priority and low priority). During resource overload, high priority workloads continue to receive thread allocation while low priority workloads are throttled. This segmentation allows the system to maintain reliability by protecting critical services while managing complexity through clear categorization rules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The resource health module acts as an intermediary that monitors resource status and mediates thread allocation decisions between competing workloads. It evaluates resource health and workload priorities, then determines appropriate thread allocation without requiring complex direct interactions between all workload components, thus managing system complexity while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If resource health monitoring is continuously performed, then service reliability improves, but energy consumption increases

Engineering Contradiction:
Improveservice reliabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs resource health monitoring periodically rather than continuously. The resource health module checks resource status at intervals and adjusts thread allocation based on these periodic assessments. This approach maintains service reliability by detecting resource degradation while reducing energy consumption compared to continuous monitoring, thus resolving the contradiction between these two parameters.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9645856B2Resource health based scheduling of workload tasks
Publication Date: 2017.05.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9645856B2 patent drawing
  • US9645856B2 patent drawing
  • US9645856B2 patent drawing

AI summary

Allocation of computing threads can include receiving a registration of a workload, the registration including a workload classification and a workload priority; monitoring statuses of a plurality of resources; identifying, by a computing device, a thread of a resource from the plurality of resources, the thread being programmed to execute a task associated with the workload; evaluating, by the computing device, the workload classification and the workload priority of the workload with workload classifications and workload priorities of other workloads requesting the thread; and allocating the thread to one of the workloads based on evaluation of the workload classification and the workload priority.