IP Library › Granted Patent US 11,366,697
Granted Patent B2
US 11,366,697 · App. 16/400,289 · Granted Jun 21, 2022

Adaptive controller for online adaptation of resource allocation policies for iterative workloads using reinforcement learning

Inventor: Tiago Salviano Calmon (Rio de Janeiro, BR)
Assignee: EMC IP Holding Company LLC
G06F9/5038G06F9/505G06F9/5033G06N3/08G06N20/00
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,366,697
App. No.
16/400,289
Granted
Jun 21, 2022
Kind
B2
Abstract

Techniques are provided for adaptive resource allocation for workloads. One method comprises obtaining a dynamic system model based on a relation between an amount of at least one resource for one or more iterative workloads and at least one predefined service metric; obtaining, from a resource allocation correction module, an instantaneous value of the at least one predefined service metric; and applying to a controller: (i) instantaneous parameters of the dynamic system model, and (ii) 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 controller determines an adjustment to the amount of the at least one resource for the one or more iterative workloads. The obtained system model is optionally updated over time based on an amount of at least one resource added and the one or more predefined service metrics.

Claims (32)

1. A method, comprising:

obtaining a dynamic system model that relates (i) an amount of at least one resource provided by an execution environment that executes one or more iterative workloads and (ii) at least one predefined service metric indicating a level of service provided by the execution environment for the one or more iterative workloads, wherein at least a first parameter and a second parameter of a plurality of parameters of the obtained dynamic system model are learned for a plurality of iterations of the one or more iterative workloads, wherein the learned first parameter represents an effect, on a value of the at least one predefined service metric, of an adjustment to the amount of the at least one resource provided by the execution environment and wherein the learned second parameter represents an obtained instantaneous value of the at least one predefined service metric;

and

applying to a controller: (i) the dynamic system model for a given iteration of the plurality of iterations of the one or more iterative workloads, and (ii) a difference between the instantaneous value for the given iteration of the at least one predefined service metric and a target value for the at least one predefined service metric, wherein the controller determines an adjustment, based at least in part on the difference and using the first parameter to modify one or more dynamics of a feedback loop that determines the difference, to the amount of the at least one resource to be applied in the execution environment for the one or more iterative workloads;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 , wherein the obtained dynamic system model is one or more of: (a) derived from a relation between (i) an amount of at least one resource added in the execution environment in a given iteration and (ii) the predefined service level metric and (b) predefined based at least in part on the relation between the amount of the at least one resource added in the execution environment and the predefined service level metric.

3. The method of claim 1 , wherein the obtained dynamic system model is updated over time based on an amount of at least one resource added in the execution environment in a given iteration and the one or more predefined service metrics for the given iteration.

4. The method of claim 1 , wherein the iterative workload comprises a training of a Deep Neural Network.

5. The method of claim 1 , further comprising the step of applying the adjustment to the amount of at least one resource to a saturation model that bounds the difference between the instantaneous value of the at least one predefined service metric and one or more of the minimum and maximum values for the at least one predefined service metric.

6. The method of claim 1 , further comprising the step of applying the adjustment to the amount of at least one resource to an integrator that generates a cumulative resource allocation based on the adjustment to the amount of at least one resource for the one or more iterative workloads.

7. The method of claim 6 , further comprising the step of applying the cumulative resource allocation to a saturation model that bounds an applied resource allocation within an available amount of at least one resource.

8. The method of claim 1 , wherein the at least one resource comprises one or more of a number of processing cores, an amount of memory and an amount of network bandwidth.

9. 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 that relates (i) an amount of at least one resource provided by an execution environment that executes one or more iterative workloads and (ii) at least one predefined service metric indicating a level of service provided by the execution environment for the one or more iterative workloads, wherein at least a first parameter and a second parameter of a plurality of parameters of the obtained dynamic system model are learned for a plurality of iterations of the one or more iterative workloads, wherein the learned first parameter represents an effect, on a value of the at least one predefined service metric, of an adjustment to the amount of the at least one resource provided by the execution environment and wherein the learned second parameter represents an obtained instantaneous value of the at least one predefined service metric;

and

applying to a controller: (i) the dynamic system model for a given iteration of the plurality of iterations of the one or more iterative workloads, and (ii) a difference between the instantaneous value for the given iteration of the at least one predefined service metric and a target value for the at least one predefined service metric, wherein the controller determines an adjustment, based at least in part on the difference and using the first parameter to modify one or more dynamics of a feedback loop that determines the difference, to the amount of the at least one resource to be applied in the execution environment for the one or more iterative workloads.

10. The computer program product of claim 9 , wherein the obtained dynamic system model is one or more of: (a) derived from a relation between (i) an amount of at least one resource added in the execution environment in a given iteration and (ii) the predefined service level metric and (b) predefined based at least in part on the relation between the amount of the at least one resource added in the execution environment and the predefined service level metric.

11. The computer program product of claim 9 , wherein the obtained dynamic system model is updated over time based on an amount of at least one resource added in the execution environment in a given iteration and the one or more predefined service metrics for the given iteration.

12. The computer program product of claim 9 , wherein the iterative workload comprises a training of a Deep Neural Network.

13. The computer program product of claim 9 , further comprising the step of applying the adjustment to the amount of at least one resource to one or more of: (i) a saturation model that bounds the difference between the instantaneous value of the at least one predefined service metric and one or more of the minimum and maximum values for the at least one predefined service metric; and (ii) an integrator that generates a cumulative resource allocation based on the adjustment to the amount of at least one resource for the one or more iterative workloads.

14. The computer program product of claim 9 , wherein the at least one resource comprises one or more of a number of processing cores, an amount of memory and an amount of network bandwidth.

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 that relates (i) an amount of at least one resource provided by an execution environment that executes one or more iterative workloads and (ii) at least one predefined service metric indicating a level of service provided by the execution environment for the one or more iterative workloads, wherein at least a first parameter and a second parameter of a plurality of parameters of the obtained dynamic system model are learned for a plurality of iterations of the one or more iterative workloads, wherein the learned first parameter represents an effect, on a value of the at least one predefined service metric, of an adjustment to the amount of the at least one resource provided by the execution environment and wherein the learned second parameter represents an obtained instantaneous value of the at least one predefined service metric;

and

applying to a controller: (i) the dynamic system model for a given iteration of the plurality of iterations of the one or more iterative workloads, and (ii) a difference between the instantaneous value for the given iteration of the at least one predefined service metric and a target value for the at least one predefined service metric, wherein the controller determines an adjustment, based at least in part on the difference and using the first parameter to modify one or more dynamics of a feedback loop that determines the difference, to the amount of the at least one resource to be applied in the execution environment for the one or more iterative workloads.

16. The apparatus of claim 15 , wherein the obtained dynamic system model is one or more of: (a) derived from a relation between (i) an amount of at least one resource added in the execution environment in a given iteration and (ii) the predefined service level metric and (b) predefined based at least in part on the relation between the amount of the at least one resource added in the execution environment and the predefined service level metric.

17. The apparatus of claim 15 , wherein the obtained dynamic system model is updated over time based on an amount of at least one resource added in the execution environment in a given iteration and the one or more predefined service metrics for the given iteration.

18. The apparatus of claim 15 , further comprising the step of applying the adjustment to the amount of at least one resource to one or more of: (i) a saturation model that bounds the difference between the instantaneous value of the at least one predefined service metric and one or more of the minimum and maximum values for the at least one predefined service metric; and (ii) an integrator that generates a cumulative resource allocation based on the adjustment to the amount of at least one resource for the one or more iterative workloads.

19. The apparatus of claim 15 , wherein the at least one resource comprises one or more of a number of processing cores, an amount of memory and an amount of network bandwidth.

20. The apparatus of claim 15 , wherein the iterative workload comprises a training of a Deep Neural Network.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
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; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2019
From: CALMON, TIAGO SALVIANO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049050/0146 →
Continuity (1)
Related Publication 20200348979A1 · Nov 5, 2020