Thermal-Aware Virtual Machine Provisioning to Minimize Energy Usage ECE Capstone Design Project, Spring’12 Christopher Camastra Jia Li Farboad Maleknia Kalyan Yalamanchi Advisor: Dr. Dario Pompili Introduction: Virtualization is a common technique employed in modern datacenters to consolidate multiple virtual servers into a single physical machine, thus minimizing energy and facility costs as well as maximizing server utilization. Virtual Machine (VM) provisioning is the technique of allocating VMs within physical servers based on resource availability. Energy-efficient dynamic VM provisioning can be achieved by establishing a framework that provides real-time multi-dimensional data to the Resource Allocation Engine (RAE). The dimensions profiled include CPU, Memory, Disk IO, Network IO, Core Temperature (efficiency), and Power. VM migration is proposed to be utilized if one server is experiencing heavy workload and is reaching its operating temperature limit. The proposed VM provisioning framework enables a RAE to actively monitor a datacenter and allocate VMs to minimize energy usage while being thermal aware. Motivation: There is a need for an open multi-dimensional profiling framework, which can be applied to retrieve highly granular and real-time data of available resources in a datacenter. This framework will satisfy the needs of a Dynamic Virtual Machine Provisioning Engine. The Provisioning Engine will be able to allocate VMs based on existing resources by evaluating the best possible host (Server) for each VM. Multiple dimensions come into play in the evaluation for the best host. This automatic and dynamic allocation can be modeled based on the information of existing available resources provided by the Profiled data. Design: The goals behind the design of the Profiler were collecting highly granular data, real-time profiling (while avoiding bottlenecks), and making the data available to the RAE in real time. For this we chose a Relational Database (MySQL) due to its efficiency, redundancy, and scalability. The Profiler was also designed to be capable of profiling on multiple levels. We can maintain system information of Servers, VMs (from server side), VMs (from within the VM), and specific/all applications. This enables the RAE to not only have a framework that can be used to dynamically allocate VMs but also discover, detect, and report anomalies and unwarranted attacks. Application: Results: Synchronized Graphs of Profiling Conclusion: A scalable, reliable, open, and data-centric architecture for datacenter profiling was proposed and utilized in the development of a Dynamic VM Allocation Engine. This framework is scalable w.r.t. not just system information but also to any type of information like Thermal Camera data, Multisite information, etc.