  Optimising the execution of Bag-of-Tasks (BoT) applications on the cloud is a
hard problem due to the trade- offs between performance and monetary cost. The
problem can be further complicated when multiple BoT applications need to be
executed. In this paper, we propose and implement a heuristic algorithm that
schedules tasks of multiple applications onto different cloud virtual machines
in order to maximise performance while satisfying a given budget constraint.
Current approaches are limited in task scheduling since they place a limit on
the number of cloud resources that can be employed by the applications.
However, in the proposed algorithm there are no such limits, and in comparison
with other approaches, the algorithm on average achieves an improved
performance of 10%. The experimental results also highlight that the algorithm
yields consistent performance even with low budget constraints which cannot be
achieved by competing approaches.
