Abstract
According to NIST's definition, Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. [4] To achieve those goals, service providers usually utilize virtualization techniques to create dynamic, flexible and scalable computing resources to satisfy different users' requests. Nowadays, a datacenter usually contains a massive number of computing nodes, which makes the efficient distribution and management of virtualized resources a critical issue. Although many provisioning algorithms have been brought out, their effectiveness is hard to be measured and compared, owing the lack of an open platform. This thesis introduces the design and implementation of a simulation platform, which is called M-CloudSim, adapted from CloudSim, to compare the provisioning algorithms. Unlike the CloudSim, M-CloudSim allows users’ requests to have different submission times, which is a more realistic scenario. In addition, the platform adds a model to estimate the Overhead of VM consolidation, which is how the performance of VM degrades when a datacenter puts more than one VM on the same physical server. Furthermore, this platform enhances the energy consumption estimation method in CloudSim, and improves the simulation performance of CloudSim. On this platform, six provisioning algorithms, First Fit, Best-Fit, Worst-Fit, Next fit, Integer Linear Programming, and Genetic Algorithms, were implemented and compared. The results showed that the Best-Fit algorithm gives the lowest energy consumption, the highest acceptance rate and profit per power kilowatt-hour. In vm consolidation overhead, the Worst-Fit algorithm gives the highest acceptance, but Best-Fit still gives the highest profit per power kilowatt-hour. Comparing to CloudSim, M-CloudSim improves the simulation time 10 times, and reduces the memory usage to 1/30 of that in CloudSim.