Abstract:
Systems and methods for finding solutions exhaustively in distributed load balancing are provided. A plurality of virtual machines (VMs) is in communication with a virtual machine management server (VMMS). The VMMS is configured to generate a matrix that represents a mapping of a plurality of virtual machines (VMs) to a plurality of hosts and to calculate a first imbalance metric of the matrix. The VMMS is also configured to identify a plurality of candidate migrations the VMs. The VMMS searches through the solution space efficiently and can perform an exhaustive search to find the optimal solution. For each candidate migration, the VMMS is configured to alter the matrix to represent the candidate migration and to calculate a candidate imbalance metric based on the altered matrix. The VMMS is also configured to determine which candidate migration to perform based at least in part on the candidate imbalance metric for each candidate migration and the first imbalance metric.
Abstract:
A system and method for autoscaling a multi-tier application, that has components executing on a plurality of tiers of a virtual data center, allocates resources to each of the plurality of tiers based on cost and performance. An application performance is determined, and a new application performance is estimated based at least partially on an application reservation and an application limit. An optimized utility of the application is calculated based on the cost to execute the application, the application reservation, and the application limit. A scaling factor for each tier is then determined to scale up or down a number of virtual machines operating in each of the tiers.
Abstract:
A placement simulator is used for testing a placement engine in a virtual machine environment. The placement simulator includes a simulation controller, an event manager, and an inventory manager. The simulation controller receives input data for a simulated datacenter. The event manager invokes event handlers for a sequence of events from the input data. The inventory manager stores states of inventory objects to simulate deployment of virtual infrastructure resources by the placement engine based on the sequence of the events.
Abstract:
A system and method for performing customized remote resource allocation analyzes on distributed computer systems utilizes a snapshot of a distributed computer system, which is received at a remote resource allocation module, to perform a resource allocation analysis using a resource allocation algorithm. The resource allocation algorithm is selected from a plurality of resource allocation algorithms based on at least one user-provided parameter associated with the distributed computer system.
Abstract:
An automatic scaling system and method for reducing state space in reinforced learning for automatic scaling of a multi-tier application uses a state decision tree that is updated with new states of the multi-tier application. When a new state of the multi-tier application is received, the new state is placed in an existing node of the state decision tree only if a first attribute of the new state is same as a first attribute of any state contained in the existing node and a second attribute of the new state is sufficiently similar to a second attribute of each existing state contained in the existing node based on a similarity measurement of the second attribute of each state contained in the existing node with the second attribute of the new state.
Abstract:
A system and method for managing resources in a distributed computer system that includes at least one resource pool for a set of virtual machines (VMs) utilizes a set of desired individual VM-level resource settings that corresponds to target resource allocations for observed performance of an application running in the distributed computer system. The set of desired individual VM-level resource settings are determined by constructing a model for the observed application performance as a function of current VM-level resource allocations and then inverting the function to compute the target resource allocations in order to meet at least one user-defined service level objective (SLO). The set of desired individual VM-level resource settings are used to determine final RP-level resource settings for a resource pool to which the application belongs and final VM-level resource settings for the VMs running under the resource pool, which are then selectively applied.
Abstract:
A system and method for performing an operational metric analysis for a virtual appliance uses application operational data from multiple instances of the virtual appliance. The application operational data is then used to generate an operational metric prediction for the virtual appliance.
Abstract:
A system and method for autoscaling a multi-tier application, that has components executing on a plurality of tiers of a virtual data center, allocates resources to each of the plurality of tiers based on cost and performance. An application performance is determined, and a new application performance is estimated based at least partially on an application reservation and an application limit. An optimized utility of the application is calculated based on the cost to execute the application, the application reservation, and the application limit. A scaling factor for each tier is then determined to scale up or down a number of virtual machines operating in each of the tiers.
Abstract:
A module and method for automatically scaling a multi-tier application, wherein each tier of the multi-tier application is supported by at least one virtual machine, selects one of reinforced learning and heuristic operation based on a policy to recommend a scaling action from a current state of the multi-tier application. If reinforced learning is selected, the reinforced learning is applied to select the scaling action from a plurality of possible actions for the multi-tier application in the current state. If heuristic operation is selected, the heuristic operation is applied to select the scaling action using a plurality of defined heuristics.
Abstract:
A system and method for performing a hypothetical power management analysis on a distributed computer system uses chronologically consecutive snapshots of the distributed computer system. The snapshots are used to extract demands of clients running in the distributed computer system for a resource for different time intervals, which are then stitched together to produce a workload trace. The snapshots and the workload trace are used to construct modeling scenarios for the distributed computer system. The modeling scenarios are used to perform analyses to simulate the operation of the distributed computer system during which the power management module is enabled to compute potential power savings.