Shares- and Utilities-based Power Consolidation


                                                                                                                                                                                                                      

 

Cardosa et al. [61] have investigated the problem of the power-efficient VM allocation in virtualized enterprise computing environments. They leverage min, max, and shares parameters, which are supported by the most modern VM man- agers. Min and max allow the user to specify minimum and maximum of CPU time that can be allocated to a VM. Shares parameter determines proportions, in which CPU time will be allocated to VMs sharing the same resource. Such approach suits only enterprise environments, as it does not support strictSLAand requires the knowledge of the application priorities.

The authors have provided a mathematical formulation of the optimization problem. The objective function to be optimized includes the power consumption and utility gained from the execution of a VM, which is assumed to be known

a priori

. The authors provide several heuristics for the defined model and experi- mental results. A basic strategy is to place all the VMs at their maximum resource requirements in a first-fit manner and leave 10% of the spare capacity to handle the future growth of the resource usage. The algorithm leverages the heterogeneity of the infrastructure by sorting physical machines in the increasing order of the power cost per unit of capacity. The limitations of the basic strategy are that it does not leverage relative priorities of different VMs, it always allocates a VM at its maxi- mum resource requirements, and uses only 90% of a server’s capacity. This algo- rithm has been used as the benchmark policy and improved throughout the paper eventually culminating in the recommended PowerExpandMinMax algorithm. In comparison to the basic policy, this algorithm uses the value of profit that can be gained by allocating an amount of resource to a particular VM. It leverages the ability to shrink a VM to minimum resource requirements when necessary and expand it when it is allowed by the spare capacity and can bring additional profit. The power consumption cost incurred by each physical server is deducted from the

profit to limit the number of servers in use. Utilities-based Power Consolidation

Resource Allocation Using Virtual Clusters

Stillwell et al. [59] have studied the problem of the resource allocation for HPC

applications in virtualized homogeneous clusters. The objective is to maximize the resource utilization, while optimizing user-centric metric that encompasses both performance and fairness, which is referred to as the yield. The idea is to design a scheduler focusing on a user-centric metric. The yield of a job is “a fraction of its maximum achievable compute rate that is achieved.” A yield of 1 means that the job consumes computational resources at its peak rate.

To formally define the basic resource allocation problem, the authors have assumed that an application requires only one VM instance; the application’s computational

Kernel-based Virtual Machine (KVM)

KVM is a virtualization platform, which is implemented as a module of the Linux

kernel [51]. Under this model, Linux works as a hypervisor and all the VMs are regular processes scheduled by the Linux scheduler. This approach reduces the complexity of the hypervisor implementation, as scheduling and memory manage- ment are handled by the Linux kernel.

KVM supports the S4 (hibernate) and S3 (sleep/stand by) power states.

9

S4 does

not require any specific support from KVM: on hibernation, the guest OS dumps the memory state to a hard disk and initiates powering off the computer. The hypervisor translates this signal into termination of the appropriate process. On the next boot, the OS reads the saved memory state from the disk, resumes from the hibernation, and reinitializes all the devices. During the S3 state, memory is kept powered, and thus the content does not need to be saved to a disk. However, the guest OS must save the states of the devices, as they should be restored on a resume. During the next boot, the BIOS should recognize the S3 state and instead of initializing the devices, but jump directly to the restoration of the saved device states. Therefore, the BIOS has to be modified in order to support such behavior.

 

 

7.2 Energy Management for Hypervisor-based VMs

Stoess et al. [45] have proposed a framework for energy management in virtua- lized servers. Typically, energy-aware OSs assume the full knowledge and full control over an underlying hardware, implying device- or application-level account- ing for the energy usage. However, in virtualized systems, a hardware resource is shared among multiple VMs. In such an environment, device control and accounting information are distributed across the system, making it infeasible for an OS to take the full control over the hardware. This results in the inability of energy-aware

 

OSs to invoke their policies in the system. The authors have proposed mechanisms

for fine-grained guest OS-level energy accounting and allocation. To encompass the diverse demands on energy management, the authors have proposes to use the notion of energy as the base abstraction in the system, an approach similar to the currentcy model in ECOsystem described in Section 6.2.

The prototypical implementation comprises two subsystems: a host-level resource manager and an energy-aware OS. The host-level manager enforces system-wide power limits across VM instances. The power limits can be dictated by a battery or a power generator, or by thermal constraints imposed by reliability requirements and the cooling system capacity. The manager determines power limits for each VM and device type, which cannot be exceeded to meet the defined power constraints. The complementary energy-aware OS is capable of fine-grained application-specific energy management. To enable application-specific energy management, the frame- work supports accounting and control not only for physical but also for virtual devices. This enables guest resource management subsystems to leverage their application-specific knowledge.

Experimental results presented by the authors show that the prototype is capable of enforcing power limits for energy-aware and energy-unaware guest OSs. Three areas are considered to be prevalent for future work: devices with multiple power

states, processors with

 

Comments are closed.