/cc_aat

Task Scheduling with deadline and priority in CloudSim

Primary LanguageJava

Task Scheduling with Deadline and Priority

Task Scheduling with Deadline and Priority Algorithm is a modified version of Earliest Deadline First (EDF).
When the deadlines of two processes/tasks are the same, then the priority is used to decide which one to execute first - the one with high priority (less numeric value) is executed first.
Pseudo-algorithm

If p1.deadline != p2.deadline:
    if (p1.deadline < p2.deadline)
        do P1 first;
    else
        do P2 first;
else:
    if (p1.priority <= p2.priority)
        do P1 first;
    else
        do P2 first;

To run this using CloudSim:

  1. Install CloudSim
  2. Using the files in this repo, replace the following files
    • Cloudlet.java in cloudsim/modules/cloudsim/src/main/java/org/cloudbus/cloudsim
    • DatacenterBroker.java in cloudsim/modules/cloudsim/src/main/java/org/cloudbus/cloudsim - Function submitCloudlets in this file is where the actual algorithm runs
    • Simulation.java in cloudsim/modules/cloudsim-examples/src/main/java/org/cloudbus/cloudsim/examples
  3. Compile and run.