320 likes | 490 Views
Power-Aware Scheduling of Virtual Machines in DVFS-enabled Clusters . Gregor von Laszewski 1 , Lizhe Wang 2 , Andrew J. Younge 2 , Xi He 2 1: Pervasive Technology Institute Indiana University Bloomington, IN 2: Service Oriented Cyberinfrastructure Laboratory
E N D
Power-Aware Scheduling ofVirtual Machines in DVFS-enabled Clusters Gregor von Laszewski1, Lizhe Wang2, Andrew J. Younge2, Xi He2 1: Pervasive Technology Institute Indiana University Bloomington, IN 2: Service Oriented Cyberinfrastructure Laboratory Rochester Institute of Technology Rochester, NY
Outline • Introduction • Virtual Machines • Power-Aware Computing • System Model • Scheduling Algorithm • Implementation • Simulation • Conclusion
Power Consumption in Data Centers • Currently it is estimated that servers consume 0.5% of the world’s total electricity usage. • Approx. 1.2% when data center systems are factored in • Server energy demand doubles every 4-6 years. • This results in large amounts of CO2 produced by burning fossil fuels. • What if we could reduce the energy used with a minimal performance impact?
Virtualization • A Virtual Machine (VM) is a software artifact that executes other software as if it was running on a physical resource directly. • Typically uses a Hypervisor or VMM which abstracts the hardware from an Operating System • Enables multiple OSs to run simultaneously on one physical machine.
Virtualization in a Cluster A compute cluster provides various virtual machine templates. When a job arrives at the cluster, the cluster scheduler allocates the job with a pre-configured virtual machine then starts it on compute nodes. The job is executed in the virtual machine. After the job iscompleted, the virtual machine is shutdown.
Advantages of Virtualization On-demand creation and customization Enhanced system usage Legacy support for specific software Increased administrative control for users Cluster site autonomy Guaranteed quality of service
Power-Aware Clusters • A Power-aware cluster is a compute cluster where nodes support multiple power and performance modes. • Adjustable frequency, voltage, sleep state, etc • Lower the power consumption of the CPU when its not needed • We can Dynamic Voltage and Frequency Scaling (DVFS) methods to control processor power consumption • Intel SpeedStep Technology • AMD PowerNow
EnergyModel Power consumption can be estimated as: Was Where v is the processor voltage and s is the operating frequency at time period t
Cluster Model A Processing Element is defined as: Where op is the operating point, v is the voltage, and s is the processor speed. Then we can define a cluster C as a collection of kPEs
VM Model A VM is defined as: Wheres is the speed with requirement r and tis the time, both as the execution time and the startup time required. Then we can define a set of iVMs as:
Research Issue We need a function f That schedules VMs to PEs at a certain operating point in such a way that minimizes the overall power consumption of the cluster C
Algorithm 1 • Set all PEs running to the lowest voltage and processor speed, smin • Definepek.saas the available processor speed if the processor does not change its operating point. Since no virtual machine are initially scheduled, pek .sais initialized with smin • pek.∇s is the available PE speed when pek is operated to a highest level voltage from the current voltage level. pek.∇sis initialized with smax • At a predefined interval, reduce power profiles with Algorithm 3 and schedule all incoming VMs with Algorithm 2
Algorithm 2 • Sort the incoming virtual machine requests in decreasing order of required processing frequency, vmi .sr so the VMs with higher requirements are scheduled first • Find a pen with the most available processor speed • If this PE meets the needs of the VM, schedule it on pen • Continue for all VMs to be scheduled.
Algorithm 2 (cont) • If vmi cannot be scheduled, take the pen with the maximum potential speed, we raise the speed the lowest possible level to satisfy the requirements of vmi • Schedule vmi on pen
Algorithm 3 • During the interval, a VM may finish execution • If it does, try to lower the operating point of pen to the lowest possible point which meets the requirements of all currently running VMs on pen
Validation • Need to validate the potential of our algorithm • Implement the algorithm within a small VM cluster • Simulate VMs scheduled on a cluster with the algorithm
OpenNebula • OpenNebula is a virtual infrastructure manager for data centers • The standard scheduler is independent of the other components • We can replace this scheduler with our own Power-aware scheduling algorithm • Then adjust the frequency at the Hypervisor level
Xen Power Management • Xen Hypervisor to change the power consumption • Use the Xen 3.3.4-unstable power management tools • Within Dom0, we can control each core’s operating frequency using xenpm • Intel Nehalem Quad Core processors • Can set frequency to 1.6Hz, 1.86Ghz, 2.13GHz, 2.53GHz, or 2.66Ghz • Uses Hyperthreading which provides 8 virtual cores, each of which can run a VM instance • Measure power consumption using a Watts-UP power meter
DVFS Simulation • Simulate a test cluster with 10, 20, 30, 40, and 50 compute nodes • Each node was simulated as a Pentium M at 1.4ghz • Simulate 100, 200, 300, 400, and 500 virtual machines deployed on the cluster • VMs randomly pick frequency requirements in .100Mhz intervals • Use the DVFS scheduling algorithm to schedule VMs on nodes
Overall operating point distribution • Simulate scheduling 200 VMs on 40 PEs • In round 1, most PEs run at the lowest voltage • Over subsequent rounds, the operating points scale up as the utilization rises • The overall distribution varies widely, with the majority of the time running below the maximum operating frequency
Conclusion Recent trend to consolidate resources into a virtualized data center. There is a need to address the power consumption in these data centers. We can use DVFS technologies when scheduling VMs to conserve power whenever possible. Both experimental and analytical results show our algorithm its possible to reduce power consumption within a cluster environment. Further research is needed to reduce the energy consumed in data centers
Cloud Computing • Distributed Systems encompasses a wide variety of technologies • Grid computing spans most areas and is becoming more mature. • Clouds are an emerging technology, providing many of the same features as Grids without many of the potential pitfalls. From “Cloud Computing and Grid Computing 360-Degree Compared”
VM scheduling on Multi-core Systems • There is a nonlinear relationship between the number of processes used and power consumption • We can schedule VMs to take advantage of this relationship in order to conserve power Scheduling Power consumption curve on an Intel Core i7 920 Server (4 cores, 8 virtual cores with Hyperthreading)
485 Watts vs. 552 Watts VM VM VM VM VM VM VM VM Node 1 @ 170W Node 2 @ 105W Node 3 @ 105W Node 4 @ 105W VS. VM VM VM VM Node 1 @ 138W Node 2 @ 138W VM VM VM VM Node 3 @ 138W Node 4 @ 138W
Minimal VM Image Ubuntu Linux • Easier to slim down a fully functional distro than to create one from scratch • Selected Ubuntu Linux • Jaunty 9.04 • Minimal install site • Package management software (aptitude) • Continuing support VM Image Design Vs. Cloud Ubuntu