Open In App

What is CloudSim?

Cloud Computing is one of the hottest topics in town. It has completely transformed how modern-day applications are developed and maintained with high scalability and low latency.

CloudSim is an open-source framework, which is used to simulate cloud computing infrastructure and services. It is developed by the CLOUDS Lab organization and is written entirely in Java. It is used for modelling and simulating a cloud computing environment as a means for evaluating a hypothesis prior to software development in order to reproduce tests and results.



For example, if you were to deploy an application or a website on the cloud and wanted to test the services and load that your product can handle and also tune its performance to overcome bottlenecks before risking deployment, then such evaluations could be performed by simply coding a simulation of that environment with the help of various flexible and scalable classes provided by the CloudSim package, free of cost.  

Benefits of Simulation over the Actual Deployment:

Following are the benefits of CloudSim:



Why use CloudSim?

Below are a few reasons to opt for CloudSim: 

CloudSim Architecture:

CloudSim Layered Architecture

CloudSim Core Simulation Engine provides interfaces for the management of resources such as VM, memory and bandwidth of virtualized Datacenters.

CloudSim layer manages the creation and execution of core entities such as VMs, Cloudlets, Hosts etc. It also handles network-related execution along with the provisioning of resources and their execution and management.

User Code is the layer controlled by the user. The developer can write the requirements of the hardware specifications in this layer according to the scenario.

Some of the most common classes used during simulation are:

Features of CloudSim:

CloudSim provides support for simulation and modelling of:

  1. Large scale virtualized Datacenters, servers and hosts.
  2. Customizable policies for provisioning host to virtual machines.
  3. Energy-aware computational resources.
  4. Application containers and federated clouds (joining and management of multiple public clouds).
  5. Datacenter network topologies and message-passing applications.
  6. Dynamic insertion of simulation entities with stop and resume of simulation.
  7. User-defined allocation and provisioning policies.

Installation:

Prerequisites:

Note: CloudSim also uses some utilities of Apache’s commons-math3 library. Download its Binaries zip file from here

Step 1: From the zip folder extracts cloudsim-3.0.3 into a folder. Also, extract the commons-math3-3.6.1 jar into the same folder. 

Step 2: Open Eclipse IDE and go to File -> New -> Java Project.

Step 3: Enter any name for your project and then uncheck the Use default location box just under it and click on Browse.

Browse to the folder where you extracted your files and select the cloudsim-3.0.3 folder.

Don’t click on Finish yet, because we need to add a jar file to our project.

Step 4 Click Next and go to Libraries -> Add External JARs. Now browse to the same folder where you extracted your commons-math3 jar file and Open it.

Step 5 Finally click on Finish and wait for the project to build. After the project has been built, from the Project Explorer you can click on your project and from the dropdown go-to examples -> org.cloudbus.cloudsim.examples where you can find pre-written sample codes and try to run them. 

Scope

With the flexibility and generalizability of the CloudSim framework, it is easy to model heavy cloud environments which would otherwise require experimentation on paid computing infrastructures. Extensible capabilities of scaling the infrastructure and resources to fit any scenario helps in fast and efficient research of several topics in cloud computing.

CloudSim has been used in several areas of research such as:

References:


Article Tags :