CloudSim icon indicating copy to clipboard operation
CloudSim copied to clipboard

Cloud scheduling simulator

  1. CloudSim

CloudSim is a simulator for a Cloud infrastructure (surprise!) developed on top of the SimPy framework. It's main purpose for now, is to simulate a Scheduler for a cloud, but this can easily be extended to more complicated functionalities.

  1. Requirements

  1. Python >= 2.5

  2. GhostView

  3. SimPy (already bundled in the package)

  4. 50 nodes on a cloud platform of your choice. Just kidding.

  5. Tested Platforms


  • Ubuntu 10.04 ~x86.
  • Ubuntu 10.04 ~x64.
  • Windows 7 ~x64
  1. Running

$: python(.exe) CloudSim.py --input --conf

  1. Examples

Two example input files are provided: a simulation input file named "input", and a default configuration file "scheduler.conf".

  1. Generated graph files

In order to visualize the CloudSim generated graph files (.ps format), you should have GhostScript installed, and a proper visualization tool (such as evince or GSView). In general, UNIX system have these tools installed by default. In Windows or other systems, please download and install the latest version of these tools on: http://pages.cs.wisc.edu/~ghost/

  1. Working

The basic organisation of the cloud infrastructure comprises of:

  1. Task Generators
  2. A scheduler
  3. Machines for job execution

Inputs are read from the input file, and task generators feed jobs from these tasks into the scheduler. The scheduler, based on the scheduling algorithm being used, assigns these jobs to different machines from the cloud infratsructure. It may also start new machines, stop existing ones, or hold back jobs. The below diagram depicts the overall structure.

            ScheduleJob

TaskGenerator 1 ----------- V SubmitJobsForExecution TaskGenerator 2 -----> Scheduler ----------------------> Machine 1 . ^ | . | |---------> Machine 2 TaskGenerator N ---------- | ---------> Machine N

  1. Credits

Paulo Ricardo Motta Gomes [email protected] Lalith Suresh <[email protected]