Application placement through multiple allocation domain agents and flexible cloud scheduler framework
First Claim
1. A method for operating a cloud computing system, the method comprising:
- receiving a user application request having one or more user specified objectives and allocation constraints, wherein the user application request specifying requirements for placing logical entities on physical entities in a computing infrastructure, and each allocation constraint corresponds to an allocation domain being used in the placing of the logical entities to the physical entities, and the allocation domains are created based on a set of primitive variables, a set of functional definitions for the set of primitive variables, a policy specification for the set of functional definitions, and at least one post-allocation change to the set of primitive variables;
generating one or more bias weights for each allocation domain, wherein each bias weight for each allocation domain indicates an importance of the allocation domain in accommodating the user application request, and generation of the bias weights is based on a use of a domain expert for mapping components of the objective function to a set of biasing functions;
computing a probability distribution using said bias weights, said bias weights increasing likelihood of generating an optimized placement solution;
generating, using said computed biased probability distribution in accordance with the user specified objectives, a set of candidate placement solutions that satisfy the one or more user specified objectives and allocation constraints;
comparing each candidate placement solution with the allocation constraints;
identifying an optimized placement solution among the set of candidate placement solutions based on the comparison of each candidate placement solution with the allocation constraint; and
dynamically reconfiguring the computing infrastructure by allocating the logical entities in the request to the physical entities based on said optimized placement solution,wherein a programmed process device performs one of said receiving, said bias weight generating, said computing, said sample placement solution generating, said obtaining, said optimizing and said reconfiguring.
1 Assignment
0 Petitions
Accused Products
Abstract
There are provided a method for operating a cloud computing infrastructure. In one embodiment, the method performs allocation domain modeling and provides a cloud scheduler framework that takes as input desired optimization objectives and the workload constraints and efficiently produces a placement solution that satisfies the constraints while optimizing the objectives in a way that adjusts itself depending on the objectives. As the objectives change, e.g., due to actions from system administrators or due to changes in business policies, the system optimizes itself accordingly and still produces efficient and optimized placement solutions. The method constructs an Allocation Domain (AD) that is a particular facet for allocating a logical entity to a physical entity. An AD is created using: variables, functional definitions (functions of variables), and a policy specification that includes a Boolean expression (of the functional definitions).
44 Citations
20 Claims
-
1. A method for operating a cloud computing system, the method comprising:
-
receiving a user application request having one or more user specified objectives and allocation constraints, wherein the user application request specifying requirements for placing logical entities on physical entities in a computing infrastructure, and each allocation constraint corresponds to an allocation domain being used in the placing of the logical entities to the physical entities, and the allocation domains are created based on a set of primitive variables, a set of functional definitions for the set of primitive variables, a policy specification for the set of functional definitions, and at least one post-allocation change to the set of primitive variables; generating one or more bias weights for each allocation domain, wherein each bias weight for each allocation domain indicates an importance of the allocation domain in accommodating the user application request, and generation of the bias weights is based on a use of a domain expert for mapping components of the objective function to a set of biasing functions; computing a probability distribution using said bias weights, said bias weights increasing likelihood of generating an optimized placement solution; generating, using said computed biased probability distribution in accordance with the user specified objectives, a set of candidate placement solutions that satisfy the one or more user specified objectives and allocation constraints; comparing each candidate placement solution with the allocation constraints; identifying an optimized placement solution among the set of candidate placement solutions based on the comparison of each candidate placement solution with the allocation constraint; and dynamically reconfiguring the computing infrastructure by allocating the logical entities in the request to the physical entities based on said optimized placement solution, wherein a programmed process device performs one of said receiving, said bias weight generating, said computing, said sample placement solution generating, said obtaining, said optimizing and said reconfiguring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for operating a cloud computing system, the method comprising:
-
receiving a user application request having one or more user specified objectives and allocation constraints, said request specifying one or more requirements for placing logical entities (LE) on physical entities (PE) in a computing infrastructure; constructing an allocation domain (AD) corresponding to each received user specified allocation constraint, each AD representing a particular allocation of a LE to a PE;
wherein the AD is created using;
a set of primitive variables, a set of functional definitions for the set of primitive variables, a policy specification for the set of functional definitions, and at least one post-allocation change to the set of primitive variables;creating an allocation policy for each allocation domain; generating a set of candidate placement solutions that satisfy the user specified objectives and allocation constraints, wherein generation of the candidate placement solutions is based on a biased probability distribution associated with bias weights for each allocation domain; evaluating each said generated candidate placement solution against the allocation policy corresponding to each allocation domain for the received application request to assess compliance of said allocated constraints in said cloud infrastructure; using the assessed compliance to identify an optimized placement solution from the evaluation among each candidate placement solution with the allocation policy, wherein the identified optimized placement solution satisfies the user specified objectives and allocation constraints; and wherein a programmed process device performs one of said receiving, constructing, creating, and evaluating. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for operating a cloud computing system, the method comprising:
-
receiving a user application request having one or more user specified objectives and allocation constraints, wherein the user application request specifying requirements for placing logical entities on physical entities in a computing infrastructure, and each allocation constraint corresponds to an allocation domain being used in the placing of the logical entities to the physical entities, and the allocation domains are created based on a set of primitive variables, a set of functional definitions for the set of primitive variables, a policy specification for the set of functional definitions, and at least one post-allocation change to the set of primitive variables; generating one or more bias weights for each allocation domain, wherein each bias weight for each allocation domain indicates an importance of the allocation domain in accommodating the user application request, and generation of the bias weights is based on a use of a domain expert for mapping components of the objective function to a set of biasing functions; computing a probability distribution using said bias weights, said bias weights increasing likelihood of generating an optimized placement solution; generating, using the computed biased probability distribution in accordance with the user specified objectives, a set of candidate placement solutions that satisfy the user specified objectives and allocation constraints, given a current state of resources in said computing infrastructure; iteratively repeating said probability distribution computing using said bias weights; evaluating each of the plurality of candidate optimized placement solutions, with an objective function that satisfies the user specified objectives and allocation constraints based on the current state of resources in said computing infrastructure; identifying at least one candidate optimized placement solution that satisfy said user objectives and constraints based on the evaluation, wherein, at each iteration, said bias weights are adjusted to generate more candidate optimized placement solutions at each successive iteration; and dynamically reconfiguring the computing infrastructure by allocating the logical entities in the request to the physical entities based on the identified candidate optimized placement solution, wherein a programmed process device performs one of said receiving, said bias weight generating, said computing, said candidate placement solution generating, said obtaining, said iteratively repeating, said adjusting, and said reconfiguring. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification