Abstract: |
Acquiring computational resources dynamically, in response to demand, and only paying for the resources used, is the main benefit cloud computing may bring for cloud customers. However, this benefit can only be realized when customers can determine the right size of the resources required and allocate such resources in a cost-effective way. While resource over-provisioning can cost users more than necessary, resource under provisioning hurts application performance. To leverage the potential of clouds, a major concern, hence is optimizing the monetary cost spent in using cloud resources while ensuring the quality of service (QoS) and meeting deadlines. Unfortunately, there is still a lack of a good understanding of such cost optimization. The resource provisioning, from the cloud-user perspective, is a complicated optimization problem that consists of much uncertainty, as well as heterogeneity in its parameters. The variety of pricing plans further complicates this problem. There has been little work on solving this problem as it is in the real world and from the end users view. Most works relax the problem by not considering the dynamicity or heterogeneity of the environment. The aim of this paper, however, is optimizing the operational cost whilst guaranteeing performance and meeting deadline constraints, by taking into account parameters’ uncertainty and heterogeneity, as well as considering all three available pricing plans, i.e. on-demand, reservation, and spot pricing. The experimental implementation using a real cloud workload shows that, however the proposed model has not the perfect foresight of future; results are very close or in many cases similar to, the full knowledge model. We also analyse the results of various users with different workload pattern, based on a k-means clustering. |