IP Library › Granted Patent US 12,265,925
Granted Patent B2
US 12,265,925 · App. 17/232,690 · Granted Apr 1, 2025

Cloud workload management using workload profiles

Inventors: Brent D. Segner (Marysville, MD); Ryan M. O'Donnell (Phoenix, MD); Myron Eugene Bagwell (Southlake, TX); Christopher A. Rollins (Averill Park, NY)
Assignee: Verizon Patent and Licensing Inc.
G06N7/01G06N20/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 12,265,925
App. No.
17/232,690
Filed
Apr 16, 2021
Granted
Apr 1, 2025
Kind
B2
Examiner
CHANG, LI WU
Art Unit
2124
USPC
706/12
Abstract

Disclosed are embodiments for profiling active workloads in a cloud platform and downstream applications for improving cloud infrastructure based on the profiling. In one embodiment, a method comprises receiving telemetry vectors from a computing device in a cloud platform, each of the telemetry vectors including a plurality of measured values associated with a workload executing on the computing device; clustering the telemetry vectors using an unsupervised learning algorithm, the unsupervised learning algorithm outputting parameters associated with a plurality of clusters; and generating a workload profile from the plurality of clusters by selecting at least one cluster from the plurality of clusters and storing corresponding parameters of the at least one cluster as the workload profile.

Claims (41)

1. A method comprising:

receiving telemetry vectors from a computing device in a cloud platform, each of the telemetry vectors including a plurality of measured values associated with a workload executing on the computing device;

clustering the telemetry vectors using an unsupervised learning algorithm, the unsupervised learning algorithm outputting parameters associated with a plurality of clusters;

generating a workload profile from the plurality of clusters by selecting at least one cluster from the plurality of clusters and storing corresponding parameters of the at least one cluster as the workload profile;

receiving a second workload and a candidate workload profile associated with the second workload;

retrieving active workload profiles, the active workload profiles associated with workloads executing in the cloud platform;

generating node configurations, each of the node configurations including the candidate workload profile and a combination of the active workload profiles, wherein generating each node configuration comprises simulating an expected resource utilization by generating random performance data for each workload profile in the node configuration using probability distributions from the respective workload profiles; and

reallocating workloads based on an optimal node configuration in the node configurations.

2. The method of claim 1 , wherein the plurality of measured values comprises one or more of number of packets transmitted; number of bytes transmitted; number of packets received; number of bytes received; number of disk read requests; number of disk write requests; number of bytes read from disk; number of bytes written to disk; processor instructions executed per second; memory utilization; resource quantity; resource performance settings; resource locations; number of resource instances; and external influences.

3. The method of claim 1 , wherein the workload comprises a container or a virtual machine.

4. The method of claim 1 , wherein receiving telemetry vectors from a computing device in a cloud platform comprises receiving the telemetry vectors over a pre-configured time span and wherein the clustering is performed upon an expiration of the pre-configured time span.

5. The method of claim 1 , wherein clustering the telemetry vectors comprises constructing a Gaussian Mixture Model (GMM) based on the telemetry vectors.

6. The method of claim 5 , the GMM comprising a sum of k mixture components trained using the telemetry vectors, where k is a positive integer.

7. The method of claim 5 , wherein after receiving the telemetry vectors, the method comprises applying an expectation maximization algorithm to the telemetry vectors to estimate parameters of the GMM.

8. The method of claim 1 , wherein the workload profile includes a plurality of distribution sets, each distribution set in the plurality of distribution sets associated with a type of the measured values.

9. The method of claim 1 , further comprising: generating an infrastructure model of the cloud platform; and simulating workloads using the infrastructure model and a plurality of workload profiles generated using the unsupervised learning algorithm.

10. The method of claim 1 , further comprising: generating a test script using at least one metric stored in the workload profile; executing the test script in a test environment corresponding to the cloud platform, the executing the test script generating an alternative workload profile for the workload; and computing a comparison between the workload profile and the alternative workload profile.

11. The method of claim 1 , further comprising: assigning a c-state setting and p-state setting to the workload based on the workload profile; and tuning a physical processing element executing the workload based on the c-state setting and p-state setting.

12. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

receiving telemetry vectors from a computing device in a cloud platform, each of the telemetry vectors including a plurality of measured values associated with a workload executing on the computing device;

clustering the telemetry vectors using an unsupervised learning algorithm, the unsupervised learning algorithm outputting parameters associated with a plurality of clusters;

generating a workload profile from the plurality of clusters by selecting at least one cluster from the plurality of clusters and storing corresponding parameters of the at least one cluster as the workload profile;

receiving a second workload and a candidate workload profile associated with the second workload;

retrieving active workload profiles, the active workload profiles associated with workloads executing in the cloud platform;

generating node configurations, each of the node configurations including the candidate workload profile and a combination of the active workload profiles, wherein generating each node configuration comprises simulating an expected resource utilization by generating random performance data for each workload profile in the node configuration using probability distributions from the respective workload profiles; and

reallocating workloads based on an optimal node configuration in the node configurations.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the plurality of measured values comprises one or more of number of packets transmitted; number of bytes transmitted; number of packets received; number of bytes received; number of disk read requests; number of disk write requests; number of bytes read from disk; number of bytes written to disk; processor instructions executed per second; memory utilization; resource quantity; resource performance settings; resource locations; number of resource instances; and external influences.

14. The non-transitory computer-readable storage medium of claim 12 , wherein receiving telemetry vectors from a computing device in a cloud platform comprises receiving the telemetry vectors over a pre-configured time span and wherein the clustering is performed upon an expiration of the pre-configured time span.

15. The non-transitory computer-readable storage medium of claim 12 , wherein clustering the telemetry vectors comprises constructing a Gaussian Mixture Model (GMM) based on the telemetry vectors.

16. A device comprising:

a processor configured to:

receive telemetry vectors from a computing device in a cloud platform, each of the telemetry vectors including a plurality of measured values associated with a workload executing on the computing device;

cluster the telemetry vectors using an unsupervised learning algorithm, the unsupervised learning algorithm outputting parameters associated with a plurality of clusters;

generate a workload profile from the plurality of clusters by selecting at least one cluster from the plurality of clusters and storing corresponding parameters of the at least one cluster as the workload profile;

receive a second workload and a candidate workload profile associated with the second workload;

retrieve active workload profiles, the active workload profiles associated with workloads executing in the cloud platform;

generate node configurations, each of the node configurations including the candidate workload profile and a combination of the active workload profiles, wherein generating each node configuration comprises simulating an expected resource utilization by generating random performance data for each workload profile in the node configuration using probability distributions from the respective workload profiles; and

reallocate workloads based on an optimal node configuration in the node configurations.

17. The device of claim 16 , wherein the plurality of measured values comprises one or more of number of packets transmitted; number of bytes transmitted; number of packets received; number of bytes received; number of disk read requests; number of disk write requests; number of bytes read from disk; number of bytes written to disk; processor instructions executed per second; memory utilization; resource quantity; resource performance settings; resource locations; number of resource instances; and external influences.

18. The device of claim 16 , wherein receiving telemetry vectors from a computing device in a cloud platform comprises receiving the telemetry vectors over a pre-configured time span and wherein the clustering is performed upon an expiration of the pre-configured time span.

19. The device of claim 16 , wherein clustering the telemetry vectors comprises constructing a Gaussian Mixture Model (GMM) based on the telemetry vectors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2021
From: SEGNER, BRENT D.; O'DONNELL, RYAN M.; BAGWELL, MYRON EUGENE; ROLLINS, CHRISTOPHER A.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 055944/0398 →
Continuity (1)
Related Publication 20220335317A1 · Oct 20, 2022
References Cited (6)
US 20180205666A1 · Nash · 2018 [cited by examiner]
US 20210109796A1 · Fozard · 2021 [cited by examiner]
WO WO2022095302A1 · 2022 [cited by examiner]
Prats et al. “Automatic Generation of Workload Profiles Using Unsupervised Learning Pipelines”, IEEE TNSM, 2018, pp. 142-155. [cited by examiner]
Neagoe et al. (“Improved Gaussian Mixture Model With Expectation-Maximization for Clustering of Remote Sensing Imagery”, IGARSS 2016, pp. 3063-3065. [cited by examiner]
Chen et al. (“Energy Efficiency for Large-Scale MapReduce Workloads with Significant Interactive Analysis”, EuroSys, 2012, pp. 43-56. [cited by examiner]
Cited By (1)
US 12,543,055