  Cloud computing aims to power the next generation data centers and enables
application service providers to lease data center capabilities for deploying
applications depending on user QoS (Quality of Service) requirements. Cloud
applications have different composition, configuration, and deployment
requirements. Quantifying the performance of resource allocation policies and
application scheduling algorithms at finer details in Cloud computing
environments for different application and service models under varying load,
energy performance (power consumption, heat dissipation), and system size is a
challenging problem to tackle. To simplify this process, in this paper we
propose CloudSim: an extensible simulation toolkit that enables modelling and
simulation of Cloud computing environments. The CloudSim toolkit supports
modelling and creation of one or more virtual machines (VMs) on a simulated
node of a Data Center, jobs, and their mapping to suitable VMs. It also allows
simulation of multiple Data Centers to enable a study on federation and
associated policies for migration of VMs for reliability and automatic scaling
of applications.
