Nowdays, hardly any science can be done without a computing infrastructure, and cloud systems are regarded by the scientific community as a potential source of low-cost computing resources that can be provisioned on-demand according to pay-per-use model. Running scientific applications on the cloud imposes the monetary cost of the computation that should be subject to optimization as the funding is usually limited.
We address the problem of resource allocation on multiple cloud platforms formulated as a mixed integer non-linear programming problem (MINLP). We optimize scheduling of bag of tasks applications and workflows under the deadline constraint. The optimization models implemented in AMPL modeling language allow us to apply leading solvers such as Cbc and CPLEX. We assume multiple IaaS clouds with heterogenous VM instances, with limited number of instances per cloud and hourly billing. Our objective, the total cost, includes computation cost as well as data transfer charges which may have significant contribution to the total cost.
The results illustrate typical problems when making decisions on deployment planning on clouds and how they can be addressed using optimization techniques. We indicate how optimization of resource allocation may be used by end-users to minimize their costs or by resellers for a profit.