This project simulates scheduling in a cloud computing environment using CloudSim. Multiple scheduling algorithms are implemented, allowing for flexibility in assigning tasks (cloudlets) to virtual machines (VMs).
- Implemented scheduling algorithms:
- Round Robin
- First-Come-First-Serve (FCFS)
- Shortest Job First (SJF)
- Genetic Algorithm
- Ant Colony Optimization (ACO)
- Create Datacenter and VMs: A datacenter with a pool of VMs is initialized.
- Cloudlets: Multiple cloudlets (tasks) are created, each representing a unit of workload.
- Scheduling: The user can select an algorithm to schedule cloudlets to VMs.
- Algorithms: Based on the selected algorithm, the cloudlets are assigned to VMs in an optimized manner.
- Simulation: The CloudSim engine runs the simulation and outputs the scheduling results.
Enter the algorithm to be used: (roundrobin, fcfs, ant, genetic, sjf): genetic
Choose any of the following algorithms:
- roundrobin: Round-robin scheduling.
- fcfs: First-Come-First-Serve scheduling.
- ant: Ant Colony Optimization scheduling.
- genetic: Genetic Algorithm-based scheduling.
- sjf: Shortest Job First scheduling.
- Java 8 or higher
- CloudSim library
- Clone the repository:
git clone https://github.com/Ravikisha/CloudSim-Examples.git
- Add the CloudSim library to your project.
- Compile and run the project:
javac CloudSimDemo.java java CloudSimDemo
========== OUTPUT ==========
CloudletID STATUS DataCenterID VM ID Time StartTime FinishTime
0 SUCCESS 0 1 10.0 0.5 10.5
1 SUCCESS 0 0 8.5 1.0 9.5
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to fork this project, create issues, and make pull requests to contribute!
Happy Scheduling with CloudSim! 🚀