Cluster Scheduling and Management for Large-Scale Compute Clouds

University dissertation from Umeå University

Abstract: Cloud computing has become a powerful enabler for many IT services and new technolo-gies. It provides access to an unprecedented amount of resources in a fine-grained andon-demand manner. To deliver such a service, cloud providers should be able to efficientlyand reliably manage their available resources. This becomes a challenge for the manage-ment system as it should handle a large number of heterogeneous resources under diverseworkloads with fluctuations. In addition, it should also satisfy multiple operational require-ments and management objectives in large scale data centers.Autonomic computing techniques can be used to tackle cloud resource managementproblems. An autonomic system comprises of a number of autonomic elements, which arecapable of automatically organizing and managing themselves rather than being managedby external controllers. Therefore, they are well suited for decentralized control, as theydo not rely on a centrally managed state. A decentralized autonomic system benefits fromparallelization of control, faster decisions and better scalability. They are also more reliableas a failure of one will not affect the operation of the others, while there is also a lower riskof having faulty behaviors on all the elements, all at once. All these features are essentialrequirements of an effective cloud resource management.This thesis investigates algorithms, models, and techniques to autonomously managejobs, services, and virtual resources in a cloud data center. We introduce a decentralizedresource management framework, that automates resource allocation optimization and ser-vice consolidation, reliably schedules jobs considering probabilistic failures, and dynam-icly scales and repacks services to achieve cost efficiency.As part of the framework, we introduce a decentralized scheduler that provides andmaintains durable allocations with low maintenance costs for data centers with dynamicworkloads. The scheduler assigns resources in response to virtual machine requests andmaintains the packing efficiency while taking into account migration costs, topologicalconstraints, and the risk of resource contention, as well as fluctuations of the backgroundload.We also introduce a scheduling algorithm that considers probabilistic failures as part ofthe planning for scheduling. The aim of the algorithm is to achieve an overall job reliabil-ity, in presence of correlated failures in a data center. To do so, we study the impacts ofstochastic and correlated failures on job reliability in a virtual data center. We specificallyfocus on correlated failures caused by power outages or failure of network components onjobs running large number of replicas of identical tasks.Additionally, we investigate the trade-offs between vertical and horizontal scaling. Theresult of the investigations is used to introduce a repacking technique to automatically man-age the capacity required by an elastic service. The repacking technique combines thebenefits of both scaling strategies to improve its cost-efficiency.