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:
- Install CloudSim
- 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
- Cloudlet.java in
- Compile and run.