# US 11,113,171 B2 · Early-convergence detection for online resource allocation policies for iterative workloads

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,171 B2
- Document ID: US11113171B2
- Status: Granted
- Kind: B2
- Application number: 16/554,910
- Filed: 2019-08-29
- Published: 2021-03-04
- Granted: 2021-09-07
- Earliest claimed: 2019-08-29
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Tiago Salviano Calmon; Eduardo Vera Sousa; Vinícius Michel Gottin
- Web page: https://patentgrep.com/patent/US11113171B2

## CPC

- G06F 11/301: {where the computing system is a virtual computing platform, e.g. logically partitioned systems (virtual machines G06F9/45533; logical partitioning of resources G06F9/5077)}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 11/3452: {Performance evaluation by statistical analysis}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 2201/815: Virtual
- G06F 2209/5022: Workload threshold
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are provided for adaptive resource allocation for workloads with early-convergence detection. One method comprises obtaining a dynamic system model based on a relation between an amount of a resource for multiple workloads and a predefined service metric; obtaining an instantaneous value of the predefined service metric; obtaining an adjustment to the amount of the resource for a given workload based on a difference between the instantaneous value and a target value of the predefined service metric; determining whether the given workload has converged based on an evaluation of one or more predefined convergence criteria; and removing the given workload from a controlled workload list when the given workload has converged. The given workload can be reinserted in the controlled workload list when the given one of the plurality of workloads fails to satisfy a predefined divergence threshold.

## Claims

### Claim 1

A method, comprising:
obtaining a dynamic system model based on a relation between an amount of at least one resource for a plurality of workloads in a controlled workload list and at least one predefined service metric, wherein the plurality of workloads in the controlled workload list participate in an adaptation cycle;
obtaining an instantaneous value of the at least one predefined service metric;
obtaining an adjustment to the amount of the at least one resource for a given one of the plurality of workloads in the controlled workload list based at least in part on a difference between the instantaneous value of the at least one predefined service metric and a target value for the at least one predefined service metric;
determining whether the given one of the plurality of workloads has converged based on an evaluation of one or more predefined convergence criteria;
removing the given one of the plurality of workloads from the controlled workload list when the given one of the plurality of workloads has converged; and
initiating an application of the determined adjustment to the amount of the at least one resource to the given one of the plurality of workloads,
wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the adjustment to the amount of the at least one resource for the given one of the plurality of workloads is further based on the dynamic system model, and an interference effect of one or more additional workloads of the plurality of workloads on the given one of the plurality of workloads.

### Claim 3 (depends on 1)

The method of claim 1, further comprising reinserting the given one of the plurality of workloads in the controlled workload list when the given one of the plurality of workloads fails to satisfy a predefined divergence threshold.

### Claim 4 (depends on 3)

The method of claim 3, wherein one more of the workloads removed from the controlled workload list are listed in a monitored workload list following the removal for evaluation of a performance of the one more workloads in the monitored workload list, and wherein the given one of the plurality of workloads is reinserted in the controlled workload list from the monitored workload list.

### Claim 5 (depends on 1)

The method of claim 1, wherein one of the plurality of workloads that finished processing is removed from one or more of the controlled workload list and a monitored workload list.

### Claim 6 (depends on 1)

The method of claim 1, wherein the evaluation of the predefined convergence criteria evaluates one or more of (i) the at least one predefined service metric with respect to a predefined set point; and (ii) a number of controlled workloads.

### Claim 7 (depends on 6)

The method of claim 6, wherein the evaluation of the at least one predefined service metric with respect to the predefined set point evaluates a predefined error metric relative to a predefined convergence threshold.

### Claim 8 (depends on 1)

The method of claim 1, wherein a determination of the adjustment to the amount of the at least one resource for the given one of the plurality of workloads is performed substantially in parallel with an execution of the plurality of workloads.

### Claim 9

A computer program product, comprising a tangible non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:
obtaining a dynamic system model based on a relation between an amount of at least one resource for a plurality of workloads in a controlled workload list and at least one predefined service metric, wherein the plurality of workloads in the controlled workload list participate in an adaptation cycle;
obtaining an instantaneous value of the at least one predefined service metric;
obtaining an adjustment to the amount of the at least one resource for a given one of the plurality of workloads in the controlled workload list based at least in part on a difference between the instantaneous value of the at least one predefined service metric and a target value for the at least one predefined service metric;
determining whether the given one of the plurality of workloads has converged based on an evaluation of one or more predefined convergence criteria;
removing the given one of the plurality of workloads from the controlled workload list when the given one of the plurality of workloads has converged; and
initiating an application of the determined adjustment to the amount of the at least one resource to the given one of the plurality of workloads.

### Claim 10 (depends on 9)

The computer program product of claim 9, further comprising reinserting the given one of the plurality of workloads in the controlled workload list when the given one of the plurality of workloads fails to satisfy a predefined divergence threshold.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein one of the plurality of workloads that finished processing is removed from one or more of the controlled workload list and a monitored workload list.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the evaluation of the predefined convergence criteria evaluates one or more of (i) the at least one predefined service metric with respect to a predefined set point; and (ii) a number of controlled workloads.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein a determination of the adjustment to the amount of the at least one resource for the given one of the plurality of workloads is performed substantially in parallel with an execution of the plurality of workloads.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the adjustment to the amount of the at least one resource for the given one of the plurality of workloads is further based on the dynamic system model, and an interference effect of one or more additional workloads of the plurality of workloads on the given one of the plurality of workloads.

### Claim 15

An apparatus, comprising:
a memory; and
at least one processing device, coupled to the memory, operative to implement the following steps:
obtaining a dynamic system model based on a relation between an amount of at least one resource for a plurality of workloads in a controlled workload list and at least one predefined service metric, wherein the plurality of workloads in the controlled workload list participate in an adaptation cycle;
obtaining an instantaneous value of the at least one predefined service metric;
obtaining an adjustment to the amount of the at least one resource for a given one of the plurality of workloads in the controlled workload list based at least in part on a difference between the instantaneous value of the at least one predefined service metric and a target value for the at least one predefined service metric;
determining whether the given one of the plurality of workloads has converged based on an evaluation of one or more predefined convergence criteria;
removing the given one of the plurality of workloads from the controlled workload list when the given one of the plurality of workloads has converged; and
initiating an application of the determined adjustment to the amount of the at least one resource to the given one of the plurality of workloads.

### Claim 16 (depends on 15)

The apparatus of claim 15, further comprising reinserting the given one of the plurality of workloads in the controlled workload list when the given one of the plurality of workloads fails to satisfy a predefined divergence threshold.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein one of the plurality of workloads that finished processing is removed from one or more of the controlled workload list and a monitored workload list.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the evaluation of the predefined convergence criteria evaluates one or more of (i) the at least one predefined service metric with respect to a predefined set point; and (ii) a number of controlled workloads.

### Claim 19 (depends on 15)

The apparatus of claim 15, wherein a determination of the adjustment to the amount of the at least one resource for the given one of the plurality of workloads is performed substantially in parallel with an execution of the plurality of workloads.

### Claim 20 (depends on 15)

The apparatus of claim 15, wherein the adjustment to the amount of the at least one resource for the given one of the plurality of workloads is further based on the dynamic system model, and an interference effect of one or more additional workloads of the plurality of workloads on the given one of the plurality of workloads.
