Dynamic application placement under service and memory constraints
AssigneeInternational Business Machines Corporation
InventorsTracy Jay Kimbrel, Malgorzata Steinder, Maxim Sviridenko, Asser Nasreldin Tantawi
Life of this patent
Estimating the term…
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.
Claims5
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, 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, and determining a feasibility for distributing demand between servers, based on said sets of load dependent and said sets of load independent capacities of said abstract sets of elements;
- computing a workload prediction for each of the plurality of applications utilizing historical information of requests arrival rate to the plurality of applications and a set of application resource requirements by estimating an amount of server resources required for each of the plurality of applications to perform the requests
- computing a predicted load-dependent resource requirement for each of the plurality of applications based on the workload prediction and the set of applications resource requirements;
- and
- dynamically reconfiguring placement of applications on servers based on the predicted load-dependent resource requirements and an objective function to optimize a placement of applications on servers,
- wherein the objective function comprises a total number of applications assignment changes from a previous time interval to a current time interval,
- wherein dynamically reconfiguring placement of applications includes deploying additional instances of an application to meet increased load and removing said additional instances of said application when said additional instances of said application are not needed;
- and
- wherein the optimization of the placement of applications on servers minimizes the total number of applications assignment changes.
The method 4, wherein the step of dynamically reconfiguring placement of applications further comprises the steps of:
- determining if a feasible solution is found in the step of solving and, if not, defining and solving an initial placement problem using remaining server resources and unrouted demand to define memory and demand capacities and requirements;
- determining if there is a feasible solution to the initial placement problem and, if not, deleting an edge which minimizes a ratio of flow;
- and
- returning to the step of defining a bipartite graph until a feasible solution is found to the flow problem.
Dependencies are inferred from the claim text.