IP Library Granted Patent US 11,586,474
Granted Patent B2
US 11,586,474 · App. 16/456,551 · Granted Feb 21, 2023

Adaptation of resource allocation for multiple workloads using interference effect of resource allocation of additional workloads on performance

Inventors: Tiago Salviano Calmon (Rio de Janeiro, BR); Vinícius Michel Gottin (Rio de Janeiro, BR); Eduardo Vera Sousa (Niterói, BR)
Assignee: EMC IP Holding Company LLC
G06F9/505G06F9/52G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,586,474
App. No.
16/456,551
Granted
Feb 21, 2023
Kind
B2
Abstract

Techniques are provided for adaptive resource allocation for multiple workloads. One method comprises obtaining a dynamic system model based on a relation between an amount of a resource for multiple iterative workloads and a predefined service metric; obtaining an instantaneous value of the predefined service metric; applying to a given controller associated with a given iterative workload of the multiple iterative workloads: (i) the dynamic system model, (ii) an interference effect of one or more additional iterative workloads on the given iterative workload, and (iii) a difference between the instantaneous value and a target value for the predefined service metric. The given controller applies an adjustment to the amount of the resource for the given iterative workload based at least in part on the difference. The resource allocation for the multiple iterative workloads can be performed in a sequence substantially in parallel with an execution of the iterative workloads.

Claims (35)

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 iterative workloads and at least one predefined service metric;

obtaining an instantaneous value of the at least one predefined service metric;

applying to a given controller associated with a given one of the plurality of iterative workloads: (i) the dynamic system model, (ii) an interference effect that aggregates an amount of an allocation of resources to one or more additional iterative workloads of the plurality of iterative workloads on a performance of the given one of the plurality of iterative workloads, (iii) a self-allocation effect of the given one of the plurality of iterative workloads on the given one of the plurality of iterative workloads with respect to the at least one predefined service metric, wherein the self-allocation effect is determined separately from the interference effect of the one or more additional iterative workloads of the plurality of iterative workloads on the given one of the plurality of iterative workloads with respect to the at least one predefined service metric, and (iv) 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, wherein the given controller determines an adjustment to the amount of the at least one resource for the given one of the plurality of iterative workloads based at least in part on the difference and the interference effect; and

initiating, by the given controller, an application of the determined adjustment to the amount of the at least one resource to the given one of the plurality of iterative workloads;

wherein the method is performed by at least one processing device of the given controller, wherein the at least one processing device comprises a processor coupled to a memory.

2. 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 iterative workloads is determined by substantially minimizing the difference.

3. The method of claim 1 , wherein the obtained system model is one or more of: derived from a relation between an amount of at least one resource added and the predefined service level metric and predefined based on the relation between the amount of the at least one resource added.

4. The method of claim 1 , wherein the obtained system model is updated over time based on an amount of at least one resource added and the one or more predefined service metrics.

5. The method of claim 1 , wherein the given one of the plurality of iterative workloads comprises a training of a Deep Neural Network.

6. The method of claim 1 , wherein the at least one resource comprises one or more of a number of processing cores in a computer processor, a number of processing cores in a graphics processing unit, an amount of memory and an amount of network bandwidth.

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

8. The method of claim 7 , wherein the interference effect of the one or more of the plurality of iterative workloads on the given one of the plurality of iterative workloads is determined in a sequence.

9. The method of claim 8 , wherein one of the plurality of iterative workloads that one or more of finished processing and failed processing is removed from the sequence.

10. The method of claim 8 , wherein a newly deployed workload is added to the sequence.

11. The method of claim 1 , wherein a larger number of the processing steps of the given controller are employed to adapt the self-allocation effect than a number of the processing steps of the given controller employed to adapt the interference effect.

12. A computer program product, comprising a 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 iterative workloads and at least one predefined service metric;

obtaining an instantaneous value of the at least one predefined service metric;

applying to a given controller associated with a given one of the plurality of iterative workloads: (i) the dynamic system model, (ii) an interference effect that aggregates an amount of an allocation of resources to one or more additional iterative workloads of the plurality of iterative workloads on a performance of the given one of the plurality of iterative workloads, (iii) a self-allocation effect of the given one of the plurality of iterative workloads on the given one of the plurality of iterative workloads with respect to the at least one predefined service metric, wherein the self-allocation effect is determined separately from the interference effect of the one or more additional iterative workloads of the plurality of iterative workloads on the given one of the plurality of iterative workloads with respect to the at least one predefined service metric, and (iv) 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, wherein the given controller determines an adjustment to the amount of the at least one resource for the given one of the plurality of iterative workloads based at least in part on the difference and the interference effect; and

initiating, by the given controller, an application of the determined adjustment to the amount of the at least one resource to the given one of the plurality of iterative workloads.

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

14. The computer program product of claim 13 , wherein the interference effect of the one or more of the plurality of iterative workloads on the given one of the plurality of iterative workloads is determined in a sequence.

15. The computer program product of claim 14 , wherein one of the plurality of iterative workloads that one or more of finished processing and failed processing is removed from the sequence.

16. The computer program product of claim 14 , wherein a newly deployed workload is added to the sequence.

17. The computer program product of claim 12 , wherein a larger number of the processing steps of the given controller are employed to adapt the self-allocation effect than a number of the processing steps of the given controller employed to adapt the interference effect.

18. 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 iterative workloads and at least one predefined service metric;

obtaining an instantaneous value of the at least one predefined service metric;

applying to a given controller associated with a given one of the plurality of iterative workloads: (i) the dynamic system model, (ii) an interference effect that aggregates an amount of an allocation of resources to one or more additional iterative workloads of the plurality of iterative workloads on a performance of the given one of the plurality of iterative workloads, (iii) a self-allocation effect of the given one of the plurality of iterative workloads on the given one of the plurality of iterative workloads with respect to the at least one predefined service metric, wherein the self-allocation effect is determined separately from the interference effect of the one or more additional iterative workloads of the plurality of iterative workloads on the given one of the plurality of iterative workloads with respect to the at least one predefined service metric, and (iv) 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, wherein the given controller determines an adjustment to the amount of the at least one resource for the given one of the plurality of iterative workloads based at least in part on the difference and the interference effect; and

initiating, by the given controller, an application of the determined adjustment to the amount of the at least one resource to the given one of the plurality of iterative workloads.

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

20. The apparatus of claim 18 , wherein a larger number of the processing steps of the given controller are employed to adapt the self-allocation effect than a number of the processing steps of the given controller employed to adapt the interference effect.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: EMC CORPORATION; DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2019
From: CALMON, TIAGO SALVIANO; GOTTIN, VINICIUS MICHEL; SOUSA, EDUARDO VERA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049623/0728 →
Continuity (1)
Related Publication 20200409758A1 · Dec 31, 2020