IP Library › Granted Patent US 12,204,944
Granted Patent B2
US 12,204,944 · App. 17/505,820 · Granted Jan 21, 2025

Systems and methods for workload placement based on subgraph similarity

Inventors: Rômulo Teixeira de Abreu Pinho (Niterói, BR); Vinicius Michel Gottin (Rio de Janeiro, BR); Eduardo Vera Sousa (Niterói, BR)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/505G06F9/48G06F9/4806G06F9/4843G06F9/4881G06F9/50G06F9/5005G06F9/5027G06F9/5055G06F9/5083G06F11/3409G06F16/9024G06F18/22G06N3/02G06F2209/501G06F2209/5019
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 12,204,944
App. No.
17/505,820
Granted
Jan 21, 2025
Kind
B2
Abstract

Techniques described herein relate to systems and methods for workload placement based on subgraph similarity. Such techniques may include obtaining an encoded workload graph based on receiving a workload execution request; using the encoded workload subgraph to obtain encoded graphs representing previous workload executions, encoded subgraphs representing infrastructures on which the workload were executed, resource usage information, and execution metrics; using the encoded infrastructure subgraphs using subgraph similarity to identify candidate infrastructure subgraphs, using an ML model to predict an execution metric for an execution of the workload using the candidate; and selecting a best candidate infrastructure on which to execute the workload based on the predicted execution results.

Claims (53)

1. A method for workload placement based on subgraph similarity, the method comprising:

obtaining a workload graph corresponding to a workload to be executed;

encoding the workload graph to obtain an encoded workload graph;

performing, using the encoded workload graph, a lookup to obtain a set of entries corresponding to previous executions of the workload, wherein the set of entries are stored in a graph database management system (GDBMS);

selecting an encoded previous execution workload graph from the set of entries obtained by the lookup, wherein the encoded previous execution workload graph comprises a workload resource usage signature;

obtaining an encoded infrastructure subgraph from the GDBMS corresponding to the encoded previous execution workload graph, wherein the encoded infrastructure subgraph comprises an infrastructure resource usage signature and an infrastructure portion of a device ecosystem on which a previous workload corresponding to the encoded previous execution workload graph was executed;

obtaining an execution metric set associated with the encoded infrastructure subgraph from the GDBMS;

making a first determination, using the execution metric set and an execution requirement set associated with the workload, that the encoded infrastructure subgraph should remain in a set of filtered encoded infrastructure subgraphs;

performing, using the encoded infrastructure subgraph and the GDBMS, a subgraph similarity query to obtain a plurality of encoded infrastructure candidate subgraphs, each comprising respective current resource usage signatures, wherein each of the plurality of encoded infrastructure candidate subgraphs is obtained by computing a similarity computation relative to the workload that yields a result over a similarity threshold, wherein performing the subgraph similarity query comprises using at least one distance metric;

executing a machine learning (ML) prediction model using an encoded infrastructure candidate subgraph of the plurality of encoded infrastructure candidate subgraphs and an average resource usage associated with previous executions of the workload to obtain a predicted execution result, wherein the predicted execution result comprises a predicted execution time;

making a second determination, using the predicted execution result and the execution requirement set associated with the workload, that an execution of the workload is likely to be successful when executed on infrastructure associated with the encoded infrastructure candidate subgraph, wherein the predicted execution result associated with the execution of the workload that is likely to be successful has a lowest predicted execution time; and

deploying, based on the second determination, the workload on a device ecosystem portion represented by the encoded infrastructure candidate subgraph.

2. The method of claim 1 , wherein the execution requirement set is based on a service level agreement.

3. The method of claim 1 , wherein the workload resource usage signature comprises information related to processor, memory, storage, and network resource usage.

4. The method of claim 1 , wherein the encoded infrastructure subgraph is a vectorial representation of an infrastructure subgraph.

5. The method of claim 1 , wherein the set of filtered encoded infrastructure subgraphs includes only encoded infrastructure subgraphs having execution metrics within a tolerance of the execution requirement set.

6. The method of claim 1 , wherein the encoded workload graph, the encoded previous execution workload graph, the encoded infrastructure subgraph, and the encoded infrastructure candidate subgraph are encoded using a graph neural network.

7. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for workload placement based on subgraph similarity, the method comprising:

obtaining a workload graph corresponding to a workload to be executed;

encoding the workload graph to obtain an encoded workload graph;

performing, using the encoded workload graph, a lookup to obtain a set of entries corresponding to previous executions of the workload, wherein the set of entries are stored in a graph database management system (GDBMS);

selecting an encoded previous execution workload graph the set of entries obtained by the lookup, wherein the encoded previous execution workload graph comprises a workload resource usage signature;

obtaining an encoded infrastructure subgraph from the GDBMS corresponding to the encoded previous execution workload graph, wherein the encoded infrastructure subgraph comprises an infrastructure resource usage signature and an infrastructure portion of a device ecosystem on which a previous workload corresponding to the encoded previous execution workload graph was executed;

obtaining an execution metric set associated with the encoded infrastructure subgraph from the GDBMS;

making a first determination, using the execution metric set and an execution requirement set associated with the workload, that the encoded infrastructure subgraph should remain in a set of filtered encoded infrastructure subgraphs;

performing, using the encoded infrastructure subgraph and the GDBMS, a subgraph similarity query to obtain a plurality of encoded infrastructure candidate subgraphs, each comprising respective current resource usage signatures, wherein each of the plurality of encoded infrastructure candidate subgraphs is obtained by computing a similarity computation relative to the workload that yields a result over a similarity threshold, wherein performing the subgraph similarity query comprises using at least one distance metric;

executing a machine learning (ML) prediction model using an encoded infrastructure candidate subgraph of the plurality of encoded infrastructure candidate subgraphs and an average resource usage associated with previous executions of the workload to obtain a predicted execution result, wherein the predicted execution result comprises a predicted execution time;

making a second determination, using the predicted execution result and the execution requirement set associated with the workload, that an execution of the workload is likely to be successful when executed on infrastructure associated with the encoded infrastructure candidate subgraph, wherein the predicted execution result associated with the execution of the workload that is likely to be successful has a lowest predicted execution time; and

deploying, based on the second determination, the workload on a device ecosystem portion represented by the encoded infrastructure candidate subgraph.

8. The non-transitory computer readable medium of claim 7 , wherein the execution requirement set is based on a service level agreement.

9. The non-transitory computer readable medium of claim 7 , wherein the workload resource usage signature comprises information related to processor, memory, storage, and network resource usage.

10. The non-transitory computer readable medium of claim 7 , wherein the encoded infrastructure subgraph is a vectorial representation of an infrastructure subgraph.

11. The non-transitory computer readable medium of claim 7 , wherein the set of filtered encoded infrastructure subgraphs includes only encoded infrastructure subgraphs having execution metrics within a tolerance of the execution requirement set.

12. The non-transitory computer readable medium of claim 7 , wherein the encoded workload graph, the encoded previous execution workload graph, the encoded infrastructure subgraph, and the encoded infrastructure candidate subgraph are encoded using a graph neural network.

13. A system for workload placement based on subgraph similarity, the system comprising:

a processor comprising circuitry;

memory; and

a workload placement device operatively connected to a graph database management system (GDBMS), executing on the processor and using the memory, and configured to:

obtain a workload graph corresponding to a workload to be executed;

encode the workload graph to obtain an encoded workload graph;

perform, using the encoded workload graph, a lookup to obtain a set of entries corresponding to previous executions of the workload, wherein the set of entries are stored in a graph database management system (GDBMS);

select an encoded previous execution workload graph from the set of entries obtained by the lookup, wherein the encoded previous execution workload graph comprises a workload resource usage signature;

obtain an encoded infrastructure subgraph from the GDBMS corresponding to the encoded previous execution workload graph, wherein the encoded infrastructure subgraph comprises an infrastructure resource usage signature and an infrastructure portion of a device ecosystem on which a previous workload corresponding to the encoded previous execution workload graph was executed;

obtain an execution metric set associated with the encoded infrastructure subgraph from the GDBMS;

make a first determination, using the execution metric set and an execution requirement set associated with the workload, that the encoded infrastructure subgraph should remain in a set of filtered encoded infrastructure subgraphs;

perform, using the encoded infrastructure subgraph and the GDBMS, a subgraph similarity query to obtain a plurality of encoded infrastructure candidate subgraphs, each comprising respective current resource usage signatures, wherein each of the plurality of encoded infrastructure candidate subgraphs is obtained by computing a similarity computation relative to the workload that yields a result over a similarity threshold, wherein performing the subgraph similarity query comprises using at least one distance metric;

execute a machine learning (ML) prediction model using an encoded infrastructure candidate subgraph of the plurality of encoded infrastructure candidate subgraphs and an average resource usage associated with previous executions of the workload to obtain a predicted execution result, wherein the predicted execution result comprises a predicted execution time;

make a second determination, using the predicted execution result and the execution requirement set associated with the workload, that an execution of the workload is likely to be successful when executed on infrastructure associated with the encoded infrastructure candidate subgraph, wherein the predicted execution result associated with the execution of the workload that is likely to be successful has a lowest predicted execution time; and

deploy, based on the second determination, the workload on a device ecosystem portion represented by the encoded infrastructure candidate subgraph.

14. The system of claim 13 , wherein the workload resource usage signature comprises information related to processor, memory, storage, and network resource usage.

15. The system of claim 13 , wherein the encoded infrastructure subgraph is a vectorial representation of an infrastructure subgraph.

16. The system of claim 13 , wherein the set of filtered encoded infrastructure subgraphs includes only encoded infrastructure subgraphs having execution metrics within a tolerance of the execution requirement set.

17. The system of claim 13 , wherein the encoded workload graph, the encoded previous execution workload graph, the encoded infrastructure subgraph, and the encoded infrastructure candidate subgraph are encoded using a graph neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2021
From: TEIXEIRA DE ABREU PINHO, RÔMULO; GOTTIN, VINICIUS MICHEL; VERA SOUSA, EDUARDO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 058093/0429 →
Continuity (1)
Related Publication 20230121060A1 · Apr 20, 2023
References Cited (12)
US 10970113B1 · Kurtzer · 2021 [cited by examiner]
US 20130185433A1 · Zhu · 2013 [cited by examiner]
US 20200264928A1 · Kalmuk · 2020 [cited by examiner]
US 20200349482A1 · Grossman · 2020 [cited by examiner]
US 20200401947A1 · Jha · 2020 [cited by examiner]
US 20210294667A1 · Chaganti · 2021 [cited by examiner]
US 20220129316A1 · Sheoran · 2022 [cited by examiner]
US 20220342704A1 · Pinho · 2022 [cited by examiner]
US 20230017085A1 · Vera Sousa · 2023 [cited by examiner]
H. Qiu, S. S. Banerjee, S. Jha, Z. T. Kalbarczyk and R. K. Iyer, “FIRM: An Intelligent Fine-Grained Resource Management Framework for SOL-Oriented Microservices,” in Symposium on Operating Systems Design and Implementat… [cited by applicant]
M. Xu, “Understanding Graph Embedding Methods and Their Applications,” https:arxiv.org/pdf/2012.08019.pdf, 2020. [cited by applicant]
R. (Zhitao) Ying, Z. Lou, J. You, C. Wen, A. Canedo and J. Leskovec, “Neural Subgraph Matching,” https://arxiv.org/abs/2007.03092, 2020. [cited by applicant]