Abstract
Cloud computing has emerged to become a prominent computing paradigm based on the idea that computation can be delivered over the Internet and be charged at an as-you-go basis. Through virtualization techniques, the Cloud offers an illusion of limitless resources with different configurations and costs. As a result, managing cloud resources has become a critical issue. The efficiency of the whole cloud facilities strongly relies on how the Virtual Machines (VM) are allocated to the applications and how VMs are mapped to the Physical Machine (PM). Different resources management strategies can largely affect the performance of the user's job, the cost, and the resource utilization. Hence, efficient job scheduling in the user perspective has swift to include cost-awareness and the satisfaction of the Service Level Agreement (SLA). However, the cost in cloud computing is a complex model in which involve the resource capacity, the leasing time and the resource acquisition mode. In addition, the recent advent of Big Data has contributed to the development of large scale data analytic applications which often span geographically dispersed data centers and have a wide range of processing requirements. A problem usually raised by cloud users in this situation, is to find the most cost effective computing resources to guarantee the objective functions of their workloads execution. Hence, we consider the problem of designing resource scheduling techniques to minimize the execution costs under performance constraints. In this thesis, we present novel scheduling techniques and algorithms to efficiently manage the resource and plan the execution of application jobs so as to minimize the overall computation cost and guarantee the performance requirement. The main objective of this thesis is therefore to provide cost-aware scheduling strategies in cloud computing for various types of applications including High Performance Computing, data analytics and Parallel batch jobs. To this end, our approach is to explore the resource types including auction based resources to leverage the execution cost under specified user constrains. In addition, we investigate the scheduling problem in geo-distributed data centers. Contributions in our strategies are three folds: Ensure a clear understanding of the tradeoff between cost and performance in Cloud resource management. Exploit the resource leasing model to leverage the auction-based cloud resources. Finally, we show the contrast with single data center scheduling with the recent geo-distributed requirement which exhibits different scheduling mechanisms.