CLOUDSIM: A TOOLKIT
elements; and (iv) facility for simulation of federated Cloud environment that inter-networks
resources from both private and public domains, a feature critical for research studies related to
Cloud-Bursts and automatic application scaling. Some of the unique features of CloudSim are:
(i) availability of a virtualization engine that aids in the creation and management of multiple,
independent, and co-hosted virtualized services on a data center node and (ii) flexibility to switch
between space-shared and time-shared allocation of processing cores to virtualized services. These
compelling features of CloudSim would speed up the development of new application provisioning
algorithms for Cloud computing.
The main contributions of this paper are: (i) a holistic software framework for modeling Cloud
computing environments and performance testing application services and (ii) an end-to-end Cloud
network architecture that utilizes BRITE topology for modeling link bandwidth and associated
latencies. Some of our findings related to the CloudSim framework are: (i) it is capable of supporting
a large-scale simulation environment with little or no overhead with respect to initialization overhead
and memory consumption; (ii) it exposes powerful features that could easily be extended
for modeling custom Cloud computing environments (federated/non-federated) and application
provisioning techniques (Cloud-Bursts, energy conscious/non-energy conscious).
The remainder of this paper is organized as follows: first, a general description about Cloud
computing, existing models, and their layered design is presented. This section ends with a brief
overview of existing state-of-the-art in distributed (grids, clouds) system simulation and modeling.
Following that, comprehensive details related to the architecture of the CloudSim framework are
presented. Section 4 presents the overall design of the CloudSim components. Section 5 presents a
set of experiments that were conducted for quantifying the performance of CloudSim in successfully
simulating Cloud computing environments. Section 6 gives a brief overview of the projects that
are using or have used CloudSim for research and development. Finally, the paper ends with brief
conclusive remarks and a discussion on future research directions.