10). If there are multiple types of VMs having same cost-performance ratio, the algorithm selects the VM with minimal price per unit time (C3 in line 10). After selection, the algorithm adds the cores of selected PM (lines 6-8) or rented VM (lines 11-13) to the pool of available cores.

When there are one or more available cores (line 15), the algorithm assigns the unassigned tasks to these cores (lines 15-24). For all of assignments between unassigned tasks and available cores, the algorithm examines the finish times of the tasks and selects the assignment that the difference between the finish time of the task and its deadline is minimal and that the task is finished within its deadline (lines 16-20). If no assignment that the task can be finished within its deadline, there is no available resource for the unassigned task (lines 21-22).

The algorithm repeats the above steps until there is no unassigned task (line 1).

The computing resource consumed by the algorithm are mainly composed of the selection of an available PM or VM and the decision of an assignment between a task and a core. In real world, the numbers of VM instance types and cores in 