IP Library Granted Patent US 11,614,978
Granted Patent B2
US 11,614,978 · App. 15/961,035 · Granted Mar 28, 2023

Deep reinforcement learning for workflow optimization using provenance-based simulation

Inventors: Vinícius Michel Göttin (Rio de Janeiro, BR); Daniel Sadoc Menasché (Rio de Janeiro, BR); Alex Laier Bordignon (Niterói, BR)
Assignee: EMC IP Holding Company LLC
G06F9/5083G06F9/45558G06N3/04G06N3/08G06F2009/4557
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,614,978
App. No.
15/961,035
Granted
Mar 28, 2023
Kind
B2
Abstract

Deep reinforcement learning techniques and provenance-based simulation are employed for resource allocation in a shared computing environment. One method comprises: obtaining a specification of a workflow of concurrent workflows in a shared computing environment, wherein the specification comprises workflow states and one or more control variables for the workflow in the shared computing environment; obtaining a simulation model of the workflow representing different configurations of the control variables; evaluating the control variables for the concurrent workflows using a reinforcement learning (RL) agent by observing the states and obtaining an expected utility score for control variable combinations for the execution of the concurrent workflows given an allocation of resources of the shared computing environment, wherein the RL agent performs, using the simulation model, the evaluating, the obtaining the expected utility score, and/or a training of an RL model; and providing an allocation of the resources based on the expected utility score.

Claims (34)

1. A method, comprising:

obtaining a specification of at least one workflow of a plurality of concurrent workflows in a shared computing environment, wherein the specification comprises a plurality of states of the at least one workflow and one or more control variables indicating an allocation of one or more resources for the at least one workflow in the shared computing environment;

obtaining a simulation model that simulates the at least one workflow of the plurality of concurrent workflows representing a plurality of different configurations of the one or more control variables of the at least one workflow of the concurrent workflows by mapping the states of the at least one workflow based on a similarity given by one or more state similarity functions;

evaluating, using at least one processing device, a plurality of values of the one or more control variables for an execution of said plurality of concurrent workflows using at least one reinforcement learning agent, wherein said evaluating comprises observing said plurality of states, including a current state comprising a current configuration of said plurality of concurrent workflows and said shared computing environment, and obtaining an expected utility score for a plurality of combinations of said control variables for the execution of said plurality of concurrent workflows given an allocation of the one or more resources of the shared computing environment corresponding to said combination of said control variables in said current state, wherein the at least one reinforcement learning agent, using one or more training samples from one or more simulations of the at least one workflow by the simulation model, trains a reinforcement learning model used by the at least one reinforcement learning agent; and

providing an allocation of the one or more resources of the shared computing environment reflecting the combination of the control variables having the expected utility score that satisfies one or more predefined score criteria.

2. The method of claim 1 , wherein the evaluating the plurality of values of the one or more control variables for the execution of said plurality of concurrent workflows using the at least one reinforcement learning agent further comprises observing the current state and selecting an action based on a path in the simulation model that substantially maximizes at least one utility function for one or more nodes in the simulation model.

3. The method of claim 2 , wherein the action is selected based on the path in the simulation model when a configurable threshold satisfies one or more predefined value criteria.

4. The method of claim 1 , wherein estimated values of the expected utility score are given by observing the current state and the estimated values of the expected utility score are estimated based on a path in the simulation model that substantially maximizes at least one utility function for one or more nodes in the simulation model for a predefined number of training epochs.

5. The method of claim 1 , wherein the reinforcement learning model used by the at least one reinforcement learning agent is trained using the training samples, wherein the training samples comprise input/output training pairs generated from the simulation model as a training batch for a predefined number of training epochs.

6. The method of claim 1 , wherein said expected utility score further comprises an expected cost depending on one or more of an execution time of the at least one workflow and a consumption of resources in said shared computing environment.

7. The method of claim 1 , wherein said at least one reinforcement learning agent comprises a Deep Q-Learning agent using a Q-Deep Neural Network (QDNN) as a representation of a Q-Function, and wherein said obtaining the expected utility score for the plurality of combinations of said control variables comprises selecting an action at random and computing a cost-to-go from the expected utility score of the selected action updated by an observation of the current state, and wherein an updating of the at least one reinforcement learning agent comprises a training of the QDNN given new samples in iterative epochs.

8. The method of claim 1 , wherein the one or more control variables comprise one or more of a number of processing cores allocated to a given workflow and an amount of memory allocated to the given workflow.

9. A system, comprising:

a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

obtaining a specification of at least one workflow of a plurality of concurrent workflows in a shared computing environment, wherein the specification comprises a plurality of states of the at least one workflow and one or more control variables indicating an allocation of one or more resources for the at least one workflow in the shared computing environment;

obtaining a simulation model that simulates the at least one workflow of the plurality of concurrent workflows representing a plurality of different configurations of the one or more control variables of the at least one workflow of the concurrent workflows by mapping the states of the at least one workflow based on a similarity given by one or more state similarity functions;

evaluating, using at least one processing device, a plurality of values of the one or more control variables for an execution of said plurality of concurrent workflows using at least one reinforcement learning agent, wherein said evaluating comprises observing said plurality of states, including a current state comprising a current configuration of said plurality of concurrent workflows and said shared computing environment, and obtaining an expected utility score for a plurality of combinations of said control variables for the execution of said plurality of concurrent workflows given an allocation of the one or more resources of the shared computing environment corresponding to said combination of said control variables in said current state, wherein the at least one reinforcement learning agent, using one or more training samples from one or more simulations of the at least one workflow by the simulation model, trains a reinforcement learning model used by the at least one reinforcement learning agent; and

providing an allocation of the one or more resources of the shared computing environment reflecting the combination of the control variables having the expected utility score that satisfies one or more predefined score criteria.

10. The system of claim 9 , wherein the evaluating the plurality of values of the one or more control variables for the execution of said plurality of concurrent workflows using the at least one reinforcement learning agent further comprises observing the current state and selecting an action based on a path in the simulation model that substantially maximizes at least one utility function for one or more nodes in the simulation model.

11. The system of claim 9 , wherein estimated values of the expected utility score are given by observing the current state and the estimated values of the expected utility score are estimated based on a path in the simulation model that substantially maximizes at least one utility function for one or more nodes in the simulation model for a predefined number of training epochs.

12. The system of claim 9 , wherein the reinforcement learning model used by the at least one reinforcement learning agent is trained using the training samples, wherein the training samples comprise input/output training pairs generated from the simulation model as a training batch for a predefined number of training epochs.

13. The system of claim 9 , wherein said expected utility score further comprises an expected cost depending on one or more of an execution time of the at least one workflow and a consumption of resources in said shared computing environment.

14. The system of claim 9 , wherein said at least one reinforcement learning agent comprises a Deep Q-Learning agent using a Q-Deep Neural Network (QDNN) as a representation of a Q-Function, and wherein said obtaining the expected utility score for the plurality of combinations of said control variables comprises selecting an action at random and computing a cost-to-go from the expected utility score of the selected action updated by an observation of the current state, and wherein an updating of the at least one reinforcement learning agent comprises a training of the QDNN given new samples in iterative epochs.

15. 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 specification of at least one workflow of a plurality of concurrent workflows in a shared computing environment, wherein the specification comprises a plurality of states of the at least one workflow and one or more control variables indicating an allocation of one or more resources for the at least one workflow in the shared computing environment;

obtaining a simulation model that simulates the at least one workflow of the plurality of concurrent workflows representing a plurality of different configurations of the one or more control variables of the at least one workflow of the concurrent workflows by mapping the states of the at least one workflow based on a similarity given by one or more state similarity functions;

evaluating, using at least one processing device, a plurality of values of the one or more control variables for an execution of said plurality of concurrent workflows using at least one reinforcement learning agent, wherein said evaluating comprises observing said plurality of states, including a current state comprising a current configuration of said plurality of concurrent workflows and said shared computing environment, and obtaining an expected utility score for a plurality of combinations of said control variables for the execution of said plurality of concurrent workflows given an allocation of the one or more resources of the shared computing environment corresponding to said combination of said control variables in said current state, wherein the at least one reinforcement learning agent, using one or more training samples from one or more simulations of the at least one workflow by the simulation model, trains a reinforcement learning model used by the at least one reinforcement learning agent; and

providing an allocation of the one or more resources of the shared computing environment reflecting the combination of the control variables having the expected utility score that satisfies one or more predefined score criteria.

16. The computer program product of claim 15 , wherein the evaluating the plurality of values of the one or more control variables for the execution of said plurality of concurrent workflows using the at least one reinforcement learning agent further comprises observing the current state and selecting an action based on a path in the simulation model that substantially maximizes at least one utility function for one or more nodes in the simulation model.

17. The computer program product of claim 15 , wherein estimated values of the expected utility score are given by observing the current state and the estimated values of the expected utility score are estimated based on a path in the simulation model that substantially maximizes at least one utility function for one or more nodes in the simulation model for a predefined number of training epochs.

18. The computer program product of claim 15 , wherein the reinforcement learning model used by the at least one reinforcement learning agent is trained using the training samples, wherein the training samples comprise input/output training pairs generated from the simulation model as a training batch for a predefined number of training epochs.

19. The computer program product of claim 15 , wherein said expected utility score further comprises an expected cost depending on one or more of an execution time of the at least one workflow and a consumption of resources in said shared computing environment.

20. The computer program product of claim 15 , wherein said at least one reinforcement learning agent comprises a Deep Q-Learning agent using a Q-Deep Neural Network (QDNN) as a representation of a Q-Function, and wherein said obtaining the expected utility score for the plurality of combinations of said control variables comprises selecting an action at random and computing a cost-to-go from the expected utility score of the selected action updated by an observation of the current state, and wherein an updating of the at least one reinforcement learning agent comprises a training of the QDNN given new samples in iterative epochs.

Assignments (8)
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 (046366/0014) Recorded May 20, 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2018
From: GOTTIN, VINÍCIUS MICHEL; MENASCHÉ, DANIEL SADOC; BORDIGNON, ALEX LAIER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045622/0485 →
Continuity (1)
Related Publication 20190324822A1 · Oct 24, 2019