IP Library › Granted Patent US 11,394,621
Granted Patent B2
US 11,394,621 · App. 16/931,850 · Granted Jul 19, 2022

Proactively accomodating predicted future serverless workloads using a machine learning prediction model

Inventors: Diman Zad Tootaghaj (Palo Alto, CA); Junguk Cho (San Jose, CA); Puneet Sharma (Palo Alto, CA)
Assignee: Hewlett Packard Enterprise Development LP
H04L41/16G05B6/02G06N20/10H04L41/147H04L41/5009H04L41/5054
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,394,621
App. No.
16/931,850
Filed
Jul 17, 2020
Granted
Jul 19, 2022
Kind
B2
Examiner
CHACKO, JOE
Art Unit
2457
USPC
700/45
Abstract

Example implementations relate to a proactive auto-scaling approach. According to an example, a machine-learning prediction model is trained to forecast future serverless workloads during a window of time for an application running in a public cloud based on past serverless workload information associated with the application by performing a training process. During the window of time, serverless workload information associated with the application is monitored. A future serverless workload is predicted for the application at a future time within the window, based on the machine learning prediction model. Prior to the future time, containers within the public cloud executing the application are pre-warmed to accommodate the predicted future serverless workload by issuing fake requests to the application to trigger auto-scaling functionality implemented by the public cloud.

Claims (36)

1. A computer-implemented method comprising:

receiving information indicative of a target value for a performance metric for an application running in a serverless framework of a private cloud;

training a machine-learning prediction model to forecast future serverless workloads during a window of time for the application based on historical serverless workload information associated with the application by performing a training process; and

during the window of time, obtaining a plurality of serverless workload observations for the application from the serverless framework;

predicting a future serverless workload for the application at a future time by applying the machine learning prediction model to the plurality of workload observations;

using a feedback control system that continuously monitors the performance metric to output a suggested number of replicas based on a current value of the performance metric obtained from the serverless framework, the target value, and the predicted future serverless workload, wherein the feedback control system comprises a proportional-integral-derivative (PID) controller; and

prior to the future time, proactively accommodating the predicted future serverless workload by causing the serverless framework to scale a number of replicas supporting the application to the suggested number and pre-warm the replicas.

2. The computer-implemented method of claim 1 , further comprising tuning a plurality of parameters of the PID controller using the Ziegler-Nichols method based on a previous number of replicas supporting the application, the target value, and a reference value representing a value below which a given percentage of observations of the target value fails.

3. The computer-implemented method of claim 1 , wherein the target performance metric comprises a quality of service (QoS) performance requirement.

4. The computer-implemented method of claim 1 , wherein the target performance metric comprises a service level agreement (SLA) metric.

5. The computer-implemented method of claim 1 , wherein the serverless workload is represented by a number of requests per second.

6. The computer-implemented method of claim 1 , wherein the replicas comprise containers.

7. The computer-implemented method of claim 1 , wherein the machine-learning prediction model comprises a support vector regression (SVR) model.

8. The computer-implemented method of claim 7 , wherein said training the machine-learning prediction model to forecast future serverless workloads involves the use of a linear kernel, a polynomial kernel, a radial basis function (RBF) kernel or a sigmoid kernel.

9. The computer-implemented method of claim 7 , wherein the window of time is dynamic, wherein W represents a number of time units in the dynamic window of time, wherein t represents a current time, the method further comprising:

when a workload variability measure involving a maximum observed workload value and a minimum observed workload value of a plurality of serverless workload observations for the application collected during the dynamic window of time is greater than or equal to a first threshold, then decreasing W; and

when the workload variability measure is less than or equal to a second threshold, then increasing W; and

responsive to expiration of the dynamic window of time, retraining the machine-learning prediction model for a new window of time beginning at t−W and ending at t based on the plurality of serverless workload observations for the application collected during the new window of time by performing the training procedure.

10. A non-transitory machine readable medium storing instructions executable by a processing resource of a computer system, the non-transitory machine readable medium comprising instructions to:

receive information indicative of a target value for a performance metric for an application running in a serverless framework of a private cloud;

train a machine-learning prediction model to forecast future serverless workloads during a window of time for the application based on historical serverless workload information associated with the application by performing a training process; and

during the window of time, obtain a plurality of serverless workload observations for the application from the serverless framework;

predict a future serverless workload for the application at a future time by applying the machine learning prediction model to the plurality of workload observations;

use a feedback control system that continuously monitors the performance metric to output a suggested number of replicas based on a current value of the performance metric obtained from the serverless framework, the target value, and the predicted future serverless workload, wherein the feedback control system comprises a proportional-integral-derivative (PID) controller; and

prior to the future time, proactively accommodate the predicted future serverless workload by causing the serverless framework to scale a number of replicas supporting the application to the suggested number and pre-warm the replicas.

11. The non-transitory machine readable medium of claim 10 , wherein the instructions are further to tune a plurality of parameters of the PID controller using the Ziegler-Nichols method based on a previous number of replicas supporting the application, the target value, and a reference value representing a value below which a given percentage of observations of the target value fails.

12. The non-transitory machine readable medium of claim 10 , wherein the target performance metric comprises a quality of service (QoS) performance requirement.

13. The non-transitory machine readable medium of claim 10 , wherein the target performance metric comprises a service level agreement (SLA) metric.

14. The non-transitory machine readable medium of claim 10 , wherein the serverless workload is represented by a number of requests per second.

15. The non-transitory machine readable medium of claim 10 , wherein the replicas comprise containers.

16. The non-transitory machine readable medium of claim 10 , wherein the machine-learning prediction model comprises a support vector regression (SVR) model.

17. The non-transitory machine readable medium of claim 16 , wherein the instructions to train the machine-learning prediction model to forecast future serverless workloads use a linear kernel, a polynomial kernel, a radial basis function (RBF) kernel or a sigmoid kernel.

18. The non-transitory machine readable medium of claim 16 , wherein the window of time is dynamic, wherein W represents a number of time units in the dynamic window of time, wherein t represents a current time and wherein the instructions are further to:

decrease W when a workload variability measure involving a maximum observed workload value and a minimum observed workload value of a plurality of serverless workload observations for the application collected during the dynamic window of time is greater than or equal to a first threshold; and

increase W when the workload variability measure is less than or equal to a second threshold; and

responsive to expiration of the dynamic window of time, retrain the machine-learning prediction model for a new window of time beginning at t−W and ending at t based on the plurality of serverless workload observations for the application collected during the new window of time by performing the training procedure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2020
From: TOOTAGHAJ, DIMAN ZAD; CHO, JUNGUK; SHARMA, PUNEET
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 053242/0327 →
Continuity (2)
Continuation 16714637 · Dec 13, 2019
Related Publication 20210184942A1 · Jun 17, 2021