Dynamic application placement under service and memory constraints
First Claim
Patent Images
1. A method for on-demand application resource allocation under one or more load-dependent resource constraints and one or more load-independent resource constraints by dynamically reconfiguring placement of applications on servers in a rigorous mathematical language, the method comprising the steps of:
- describing a plurality of servers and a plurality of applications as abstract sets of elements corresponding to the plurality of servers and the plurality of applications, respectively, defining sets of load-dependent and sets of load independent capacities of said abstract sets of elements, determining a feasibility for a given assignment of applications to servers, determining a feasibility for distributing demand between servers, and dynamically reconfiguring placement of applications on servers based on an objective function to optimize a placement of applications on servers.
1 Assignment
0 Petitions
Accused Products
Abstract
An optimization problem models the dynamic placement of applications on servers under two types of simultaneous resource requirements, those that are dependent on the loads placed on the applications and those that are independent. The demand (load) for applications changes over time and the goal is to satisfy all the demand while changing the solution (assignment of applications to servers) as little as possible.
139 Citations
14 Claims
-
1. A method for on-demand application resource allocation under one or more load-dependent resource constraints and one or more load-independent resource constraints by dynamically reconfiguring placement of applications on servers in a rigorous mathematical language, the method comprising the steps of:
-
describing a plurality of servers and a plurality of applications as abstract sets of elements corresponding to the plurality of servers and the plurality of applications, respectively, defining sets of load-dependent and sets of load independent capacities of said abstract sets of elements, determining a feasibility for a given assignment of applications to servers, determining a feasibility for distributing demand between servers, and dynamically reconfiguring placement of applications on servers based on an objective function to optimize a placement of applications on servers. - View Dependent Claims (2)
-
-
3. A method for on-demand application resource allocation under one or more load-dependent resource constraints and one or more load-independent resource constraints comprising the steps of:
-
ordering servers by decreasing value of their densities defined as available service capacity divided by memory capacity for each server;
ordering applications by decreasing densities defined as number of requests in a given time interval divided by memory requirements for each application;
initially loading a highest density application to a highest density server which has enough memory for that application and loading other applications on servers according said steps of ordering; and
dynamically reconfiguring placement of applications on servers according to an objective function which satisfy all applications demand while respecting memory and processing constraints of every server. - View Dependent Claims (4, 5, 6)
-
-
7. A system for on-demand application resource allocation under one or more load-dependent resource constraints and one or more load-independent resource constraints comprising:
-
a plurality of servers arranged in one or more clusters;
a plurality of application clusters, each said application cluster running on one or more servers in a cluster of servers;
a request router receiving application requests from a plurality of clients and directing the requests to appropriate application clusters;
a placement controller which receives an application workload prediction and application resource requirements and calculates application densities, defined as number of requests in a given time interval divided by memory requirements, and server densities, defined as available service capacity divided by memory capacity; and
a placement executor responsive to said placement controller which executes application placements on said servers, wherein said placement controller initially causes said placement executor to load a highest density application to a highest density server which has enough memory for that application and loading other applications on servers according said steps of ordering; and
thereafter dynamically reconfigures placement of applications on servers according to an objective function which satisfy all applications demand while respecting memory and processing constraints of every server. - View Dependent Claims (8, 9, 10)
-
-
11. A computer readable medium containing code for performing on-demand application resource allocation under one or more load-dependent resource constraints and one or more load-independent resource constraints, the code implementing a method comprising the steps of:
-
ordering servers by decreasing value of their densities defined as available service capacity divided by memory capacity for each server;
ordering applications by decreasing densities defined as number of requests in a given time interval divided by memory requirements for each application;
initially loading a highest density application to a highest density server which has enough memory for that application and loading other applications on servers according said steps of ordering; and
dynamically reconfiguring placement of applications on servers according to an objective function which satisfy all applications demand while respecting memory and processing constraints of every server. - View Dependent Claims (12, 13, 14)
-
Specification