Conference Paper

Providing Fairer Resource Allocation for Multi-tenant Cloud-Based Systems.

Jia Ru, John C. Grundy, Yun Yang, Jacky W. Keung, Li Hao
CloudCom 2015 10.1109/CloudCom.2015.30

Abstract

A fundamental premise in cloud computing is trying to provide a more sophisticated computing resource sharing capability. In order to provide better allocation, the Dominant Resource Fairness (DRF) approach has been developed to address the "fair resource allocation problem" at the application layer for multitenant cloud applications. Nevertheless conventional DRF only considers the interplay of CPU and memory, which may result in over allocation of resources to one tenant's application to the detriment of others. In this paper, we propose an improved DRF algorithm with 3-dimensional demand vector <CPU, memory, vdisk> to support disk resources as the third dominant shared resource, enhancing fairer resource sharing. Our technique is integrated with LINUX ‘Cgroup' controls resource utilisation and realises data isolation to avoid undesirable interactions between co-located tasks. Our method ensures all tenants receive system resources fairly, which improves overall utilisation and throughput as well as reducing traffic in an over-crowded system. We evaluate the performance of different types of workload using different algorithms and compare ours to the default algorithm. Results show an increase of 15% resource utilisation and a reduction of 59% completion time on average, indicating that our DRF algorithm provides a better, smoother, fairer highperformance resource allocation scheme for both continuous workloads and batch jobs. Keywords-cloud computing, scheduling, algorithm, DRF, multitenancy I. I NTRODUCTION Cloud computing enables resource sharing but different tenants may have diverse requirements for each resource (CPU, memory and I/O) for their hosted applications. Cloud providers are strongly driven by consumer needs, and market-oriented resource management strategies are becoming necessary to regulate strong demand for resources, this is to achieve optimum resource utilisation and providing to their clients/tenants with acceptable performance [1]. But different kinds of cloud resources exhibit different levels of dynamic and interactive behaviours according to user demands. Large clusters running parallel processing frameworks such as MapReduce [2] ar

Keywords