Efficient Resource Management for Cloud Computing Environments Andrew J. Younge Golisano College of Computing and Information Sciences Rochester Institute of Technology 102 Lomb Memorial Drive Rochester, New York 14623 Outline • • • • • • • Introduction Motivation Related Work Green Cloud Framework VM Scheduling & Management Minimal Virtual Machine Images Conclusion 2 What is Cloud Computing? • “Computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry.” – John McCarthy, 1961 • “Cloud computing is a largescale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.” – Ian Foster, 2008 3 Virtualization • 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 4 Cloud Computing • Features of Clouds – Scalable – Enhanced Quality of Service (QoS) – Specialized and Customized – Cost Effective – Simplified User Interface 5 Data Center Power Consumption • Currently it is estimated that servers consume 0.5%of the world’s total electricity usage. – Closer to 1.2% when data center systems are factored into the equation • 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 minimal performance impact? 6 Related Work • Scheduling on Cluster resources – Power aware – Thermal aware • Data center design to reduce Power Usage Effectiveness (PUE) – Cooling systems – Rack design • Little research in designing efficient Cloud data centers 7 Research Opportunities • There are a number of areas to explore in order to conserve energy within a Cloud environment – Schedule VMs to conserve energy – Management of both VMs and underlying infrastructure – Minimize operating inefficiencies for non-essential tasks – Optimize data center design 8 Framework Green Cloud Framework Virtual Machine Controls Scheduling Power Aware Thermal Aware Data Center Design Management VM Image Design Migration Server & Rack Placement Air Cond. & Recirculation Dynamic Shutdown 9 VM scheduling on Multi-core Systems 180 Scheduling 170 160 150 Watts • 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 140 130 120 110 100 90 0 1 2 3 4 5 6 7 8 Number of Processing Cores Power consumption curve on an Intel Core i7 920 Server (4 cores, 8 virtual cores with 10 Hyperthreading) Power-aware Scheduling • Schedule as many VMs at once on a multi-core node – Greedy scheduling algorithm – Keep track of cores on a given node – Match vm requirements with node capacity Scheduling 11 485 Watts vs. 552 Watts V M V M V M V M V M V M V M V M Node 1 @ 170W Node 2 @ 105W Node 3 @ 105W Node 4 @ 105W VS. V M V M V M V M Node 1 @ 138W V M V M Node 2 @ 138W V M Node 3 @ 138W V M Node 4 @ 138W 12 VM Management • Monitor Cloud usage and load • When load decreases: • Live migrate VMs to more utilized nodes • Shutdown unused nodes • When load increases: • Use WOL to start up waiting nodes • Schedule new VMs to new nodes Management 13 VM VM VM VM 1 Node 1 VM VM VM Node 2 VM VM 2 Node 1 VM VM VM Node 2 VM 3 Node 1 VM VM VM Node 2 VM 4 Node 1 Node 2 (offline) 14 Minimizing VM Instances • Virtual machines are desktop-based – Lots of unwanted packages – Unneeded services • Are multi-application oriented, not service oriented – Clouds are based off of a Service Oriented Architecture • Need a custom lightweight Linux VM for service oriented science • Need to keep VM image as small as possible to reduce network latency Management 15 Cloud Linux Image • Start with Ubuntu 9.04 • Remove all packages not required for base image – – – – No X11 No Window Manager Minimalistic server install Can load language support on demand (via package manager) • Readahead profiling utility – Reorder boot sequence – Pre-fetch boot files on disk – Minimize CPU idle time due to I/O delay • Optimize Linux kernel VM Image Design – Built for Xen DomU – No 3d graphics, no sound, minimalistic kernel – Build modules within kernel directly 16 Energy Savings • Reduced boot times from 38 seconds to just 8 seconds – 30 seconds @ 250Watts is 2.08wh or .002kwh • In a small Cloud where 100 images are created every hour – Saves .2kwh of operation @ 15.2c per kwh – At 15.2c per kwh this saves $262.65 every year – In a production Cloud where 1000 images are created every minute – Saves 120kwh less every hour – At 15.2c per kwh this saves over 1 million dollars every year • Image size from 4GB to 635MB – Reduces time to perform live-migration – Can do better VM Image Design 17 Conslusion • Cloud computing is an emerging topic in Distributed Systems • Need to conserve energy • Green Cloud Framework – Power-aware scheduling of VMs – Advanced VM & infrastructure management – Specialized VM Image • Small energy savings result in a large impact 18 Future Work • Combine concepts of both Power-aware and Thermal-aware scheduling to minimize both energy and temperature • Integrated server, rack, and cooling strategies • Further improve VM Image • Designing the next generation of Cloud computing systems 19 Progress • Have some prior knowledge and research in Grid computing • After attending Supercomputing 2008 in late November, I realized the future exists in Cloud computing • Spent the past few months investigating Cloud computing research opportunities – Identified Green IT work and realized it was applicable to Clouds – Dedicated time to researching Green computing research and developing a framework for Cloud infrastructure 20 Accomplishments [1] G. von Laszewski, L. Wang, A. Younge, and X. He, “Poweraware scheduling of virtual machines in dvfs-enabled clusters,” Rochester Institute of Technology, Tech. Rep., 2009. [2] G. von Laszewski, A. Younge, X. He, K. Mahinthakumar, and L. Wang, “Experiment and workflow management using cyberaide shell,” in 4th International Workshop on Workflow Systems in e-Science (WSES 09) in conjunction with 9th IEEE International Symposium on Cluster Computing and the Grid. IEEE, 2009. [3] L. Wang, G. von Laszewski, A. Younge, X. He, M. Kunze, and J. Tao, “Cloud computing: a perspective study,” New Generation Computing, to appear in 2010. [4] G. von Laszewski, F. Wang, A. Younge, X. He, Z. Guo, and M. Pierce, “Cyberaide javascript: A javascript commodity grid kit,” in GCE08 at SC’08. Austin, TX: IEEE, Nov. 16 2008. [Online]. Available: http://cyberaide.googlecode.com/svn/trunk/papers/08javascript/vonLaszewski- 08- javascript.pdf [5] G. von Laszewski, F. Wang, A. Younge, Z. Guo, and M. Pierce, “Javascript grid abstractions,” in Proceedings of the Grid Computing Environments 2007 at SC07, Reno, NV, Nov. 2007. [Online]. Available: http://cyberaide.googlecode.com/svn/trunk/papers/07javascript/vonLaszewski- 07- javascript.pdf • Accepted into 2009 International Summer School on Grid Computing in Nice, France. – Supported by US Department of Energy OSG stipend. • Accepted as student volunteer for 2009 International Supercomputing Conference in Hamburg, Germany. • First author on an extended abstract and poster accepted to the TeraGrid 2009 conference. 21 Appendix 22 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” 23 Minimal VM Image • 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 Ubuntu Linux Vs. Cloud Ubuntu 24 VM Scheduling • Implemented scheduler on OpenNebula system • Replaced Round Robin scheduling system with Based on Algorithm • Startup and Shutdown VM Management Easily added From “Opennebula: The open source virtual machine manager for cluster computing” 25 DVFS VM Scheduling 26