CloudSim
CloudSim copied to clipboard
Cloud scheduling simulator
- 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.
- Requirements
-
Python >= 2.5
-
GhostView
-
SimPy (already bundled in the package)
-
50 nodes on a cloud platform of your choice. Just kidding.
-
Tested Platforms
- Ubuntu 10.04 ~x86.
- Ubuntu 10.04 ~x64.
- Windows 7 ~x64
- Running
$: python(.exe) CloudSim.py --input
- Examples
Two example input files are provided: a simulation input file named "input", and a default configuration file "scheduler.conf".
- 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/
- Working
The basic organisation of the cloud infrastructure comprises of:
- Task Generators
- A scheduler
- 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
- Credits
Paulo Ricardo Motta Gomes [email protected] Lalith Suresh <[email protected]