Dynamic scaling for multi-tiered distributed systems using payoff optimization of application classes
First Claim
1. A method comprising:
- monitoring workloads of a plurality of application classes, each of said application classes describing services provided by one or more applications in a multi-tiered system, and each of said application classes comprising a plurality of instantiated execution resources;
estimating, for each of said application classes, a number of execution resources able to handle said monitored workloads, to simultaneously maintain a multi-tiered system response time below a determined value and minimize a cost per execution resource, wherein said multi-tiered system response time is maintained below the determined value and said cost per execution resource is minimized by optimizing a payoff function defined for each of said application classes, wherein said payoff function defined for each of said application classes depends on;
a workload arriving at an application class;
a local response time of said application class; and
a unitary cost for instantiating an execution resource for said application class; and
for each one application class of said plurality of application classes;
dynamically adjusting said plurality of instantiated execution resources comprised in said one application class based on said estimated number of execution resources, said dynamically adjusting comprises increasing or decreasing the number of execution resources for an application class for said monitored workload for said application class.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method is described. The method includes: monitoring workloads of a plurality of application classes, each of the application classes describing services provided by one or more applications in a multi-tiered system and comprising a plurality of instantiated execution resources; estimating, for each of the application classes, a number of execution resources able to handle the monitored workloads, to simultaneously maintain a multi-tiered system response time below a determined value and minimize a cost per execution resource; and dynamically adjusting the plurality of instantiated execution resources for each of the application classes based on the estimated number of execution resources.
18 Citations
14 Claims
-
1. A method comprising:
-
monitoring workloads of a plurality of application classes, each of said application classes describing services provided by one or more applications in a multi-tiered system, and each of said application classes comprising a plurality of instantiated execution resources; estimating, for each of said application classes, a number of execution resources able to handle said monitored workloads, to simultaneously maintain a multi-tiered system response time below a determined value and minimize a cost per execution resource, wherein said multi-tiered system response time is maintained below the determined value and said cost per execution resource is minimized by optimizing a payoff function defined for each of said application classes, wherein said payoff function defined for each of said application classes depends on; a workload arriving at an application class; a local response time of said application class; and a unitary cost for instantiating an execution resource for said application class; and for each one application class of said plurality of application classes; dynamically adjusting said plurality of instantiated execution resources comprised in said one application class based on said estimated number of execution resources, said dynamically adjusting comprises increasing or decreasing the number of execution resources for an application class for said monitored workload for said application class. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An auto-scaler device comprising a processor, said processor being operating to:
-
monitor workloads of a plurality of application classes, each of said application classes describing services provided by one or more applications in a multi-tiered system and each of said application classes comprising a plurality of instantiated execution resources instantiated; estimate, for each of said application classes, a number of execution resources able to handle said monitored workloads, to simultaneously maintain a multi-tiered system response time below a determined value and minimize a cost per execution resource, wherein said multi-tiered system response time is maintained below the determined value and said cost per execution resource is minimized by optimizing a payoff function defined for each of said application classes, wherein said payoff function defined for each of said application classes depends on; a workload arriving at an application class; a local response time of said application class; and a unitary cost for instantiating an execution resource for said application class; and for each one application class of said plurality of application classes, to dynamically adjust said plurality of instantiated execution resources comprised in said one application class based on said estimated number of execution resources by increasing or decreasing the number of instantiated execution resources for said one application class.
-
-
14. One or more computer readable non-transitory tangible storage media encoded with software comprising computer executable instructions being operative, when the software is executed by a processor, to:
-
monitor workloads of a plurality of application classes, each of said application classes describing services provided by one or more applications in a multi-tiered system, and each of said application classes comprising a plurality of instantiated execution resources; estimate, for each of said application classes, a number of execution resources able to handle said monitored workloads, to simultaneously maintain a multi-tiered system response time below a determined value and minimize a cost per execution resource, wherein said multi-tiered system response time is maintained below the determined value and said cost per execution resource is minimized by optimizing a payoff function defined for each of said application classes, wherein said payoff function defined for each of said application classes depends on; a workload arriving at an application class; a local response time of said application class; and a unitary cost for instantiating an execution resource for said application class; and for each one application class of said plurality of application classes;
dynamically adjust said plurality of instantiated execution resources comprised in said one application based on said estimated number of execution resources, said dynamically adjusting comprising adjusting said plurality of instantiated execution resources by increasing or decreasing the number of instantiated execution resources for said one application class.
-
Specification