## 4 Results
### Synthetic Workload  
The proposed approach was first compared using a synthetic workload. This workload was generated for 1000 tasks, with the task lengths randomly varying within the range of 15,000 Million Instructions (MI) to 900,000 MI. Random workloads are commonly used in cloud computing research [22]. The task-length range was chosen to be the same as the GoCJ workload [38] for better comparison between the two workloads. In order to reduce the effect of anomalies in a particular task set affecting the results, six sets of workload were generated. For each of the six sets of workload, a separate deadline input set was generated. The priority input also consisted of six different priority sets. The simulation was run for the six sets so obtained, and the final result was obtained by averaging the results of the six simulations. The total numbers of VMs used by proposed and compared approaches are presented in Figure 8a. Comparing these results, it was found that the proposed approach used 48.59% more VMs than the other three approaches. When considering this result, it needs to be understood that the proposed approach determines the number of VMs that will be needed for a task set of a particular size and characteristics. On the other hand, the other compared approaches assign the number of VMs using a less informed guess based on the number of tasks they will be required to execute, with 10 VMs allocated for every 100 tasks. The Dol of all the approaches is presented in Figure 8b. Comparing the approaches for this measure, it was found that the proposed approach was worse than FCFS-EDF and SJF-DF by 41.71% and 86.16%, respectively. On the other hand, it was better than Random-EDF by 23.45%. In Figure 8c, the graphs for the makespans achieved by various approaches are shown. Comparing the results, it was determined that the proposed approach was better than FCFS-EDF, SJF-EDF, and Random-EDF by 47.26%, 20.49%, and 103.37%, respectively. Figure 8d shows the graphs for the total costs incurred by all the approaches. The proposed approach incurred 3.91%, 3.30%, and 3.30% more total cost to process the task set compared to the FCFS-EDF, SJF-EDF, and Random-EDF approaches, respectively. With respect to task-specific performance measures, the results for the average completion time of high priority tasks are presented in Figure 9a. When comparing with the other approaches, it was found that the proposed approach provided an average improvement of 127.24%, 119.35%, and 141.99% against FCFS-EDF, SJF-EDF, and Random-EDF, respectively. Figure 9b presents the graphs for the average completion times of low-priority tasks. When considering this metric, it was found that the proposed approach was superior to FCFS-EDF, SJF-EDF, and Random-EDF by 30.47%, 26.75%, and 40.52%, respectively. As shown by the graph for average waiting times for high-priority tasks presented in Figure 9c, it was found that the proposed approach had a zero waiting time and was superior to all the compared approaches. The average waiting times for low-priority approaches are presented in Figure 9d. For this measure, the proposed approach achieved 70.01%, 61.48%, and 93.13% lower waiting times compared to FCFS-EDF, SJF-EDF, and Random-EDF, respectively. The results for the average waiting time for all tasks are presented in Figure 10a. For this measure, the proposed approach was better than FCFS-EDF, SJF-EDF, and Random-EDF by 51.30%, 45.68%, and 65.94%, respectively. The graphs in Figure 10b summarize the results for total SLA violation time for high-priority tasks. The proposed approach, having achieved zero seconds for this measure, was superior to all the other approaches. Figure 10c shows the graphs for total SLA violations. For this measure, the proposed approach incurred 51.20%, 40.21%, and 58.78% fewer violations compared to FCFS-EDF, SJF-EDF, and Random-EDF, respectively. Figure 10d shows the results for the number of high-priority tasks that underwent SLA violation.